- May 24, 2023
-
-
Takuya Shimizu authored
This patch makes `-Wshadow` warn about the shadowings by static local variables. Fixes https://github.com/llvm/llvm-project/issues/62850 Differential Revision: https://reviews.llvm.org/D151214
-
Takuya Shimizu authored
Reland: [clang][AST] Print name instead of type when diagnosing uninitialized subobject in constexpr variables This patch improves the diagnostic on uninitialized subobjects in constexpr variables by modifying the diagnostic message to display the subobject's name instead of its type. Fixes https://github.com/llvm/llvm-project/issues/58601 Differential Revision: https://reviews.llvm.org/D146358
-
Alex Zinenko authored
The initial bring-up of the Transform dialect relied on PDL to provide the default handle type (`!pdl.operation`) and the matching capability. Both are now provided natively by the Transform dialect removing the reason to have a hard dependency on the PDL dialect and its interpreter. Move PDL-related transform operations into a separate extension. This requires us to introduce a dialect state extension mechanism into the Transform dialect so it no longer needs to know about PDL constraint functions that may be injected by extensions similarly to operations and types. This mechanism will be reused to connect pattern application drivers and the Transform dialect. This completes the restructuring of the Transform dialect to remove overrilance on PDL. Note to downstreams: flow that are using `!pdl.operation` with Transform dialect operations will now require `transform::PDLExtension` to be applied to the transform dialect in order to provide the transform handle type interface for `!pdl.operation`. Reviewed By: springerm Differential Revision: https://reviews.llvm.org/D151104
-
Joseph Huber authored
We only expect these ctor / dtor functions to be called with a single thread. Add the appropriate attributes to indicate this to the backend. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D151153
-
Michael Buch authored
This mimicks the implementation of the libstdcpp std::unique_ptr formatter. This has been attempted several years ago in `0789722d` but was reverted in `e7dd3972`. The difference to the original patch is that we now maintain a `$$dereference$$` member and we only store weak pointers to the other children inside the synthetic frontend. This is what the libc++ formatters do to prevent the recursion mentioned in the revert commit.
-
Tue Ly authored
Add log, log2, log10, log1p and their unit tests to bazel layout. Reviewed By: gchatelet Differential Revision: https://reviews.llvm.org/D151252
-
LLVM GN Syncbot authored
-
Alexandros Lamprineas authored
Instead of blindly traversing the use-def chain of constant arguments, compute known constants along the way. Stop as soon as a user cannot be replaced by a constant. Keep it light-weight by handling some basic instruction types. Differential Revision: https://reviews.llvm.org/D150464
-
Kiran Chandramohan authored
Fixes part of the issue in https://github.com/llvm/llvm-project/issues/62013 Reviewed By: psoni2628 Differential Revision: https://reviews.llvm.org/D151206
-
donald chen authored
Add RegionBranchOpIntefface to scf.forall and scf.parallel op to make analysis trace through subregions. Differential Revision: https://reviews.llvm.org/D151287
-
Dominik Montada authored
Consecutive concats that happen on the same axis can be folded into a single, bigger concat. This patch implements this folding by implementing the tosa::ConcatOp::fold method. Differential Revision: https://reviews.llvm.org/D151210
-
Sergei Barannikov authored
D151036 adds an assertions that prohibits iterating over sub- and super-registers of a null register. This is already the case when iterating over register units of a null register, and worked by accident for sub- and super-registers. The only place where the assertion is currently triggering is in CriticalAntiDepBreaker::ScanInstruction. Other places are changed in case new assertions are added and should be harmless otherwise. Differential Revision: https://reviews.llvm.org/D151288
-
Marco Elver authored
Do not open code creation of an interceptor alias to another interceptor. Instead, use INTERCEPTOR() + ALIAS() + WRAP. Reviewed By: dvyukov Differential Revision: https://reviews.llvm.org/D151219
-
Marco Elver authored
The __interceptor_*setjmp() definitions appear to have been defined for the purpose of TSAN_INTERCEPT(), but on non-Mac systems, it seems TSAN_INTERCEPT() isn't even being used anymore for setjmp. Remove them. Nothing should call them anyway (due to CHECK-fail), so having the linker fail is better than failing at runtime. Reviewed By: dvyukov Differential Revision: https://reviews.llvm.org/D151218
-
Marco Elver authored
Use ASM_WRAPPER_NAME to produce the name of the __interceptor_* functions. NFC. Reviewed By: dvyukov Differential Revision: https://reviews.llvm.org/D151217
-
Marco Elver authored
Most uses of ALIAS() are in conjunction with WRAPPER_NAME(). Simplify the code and just make ALIAS() turn its argument into a string (similar to Linux kernel's __alias macro). This in turn allows removing WRAPPER_NAME(). NFC. Reviewed By: dvyukov Differential Revision: https://reviews.llvm.org/D151216
-
Christian Ulmann authored
This commit ensures that the merge_handles operation prints its `deduplicate` attribute as an optional keyword instead of "unit". Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D151310
-
bipmis authored
This seems to be an issue currently where there are nested/chained GEP/BitCast Pointers. The patch generates a new GEP for the wider load to avoid dominance problems. Differential Revision: https://reviews.llvm.org/D150864
-
Luke Lau authored
For small fixed-length vector copies like vsetivli zero, 2, e16, m1, ta, ma vle16.v v8, (a0) vse16.v v8, (a1) We can scalarize them if the total vector size < XLEN: lw a0, 0(a0) sw a0, 0(a1) This patch adds a DAG combine to do so, reusing much of the existing logic in https://reviews.llvm.org/D150717 Reviewed By: reames Differential Revision: https://reviews.llvm.org/D151103
-
Luke Lau authored
Reviewed By: reames Differential Revision: https://reviews.llvm.org/D151211
-
Nikita Popov authored
Only check for overflow on the min/max values, don't also check for predicates in addition to that.
-
Benjamin Kramer authored
-
Nikita Popov authored
Make it clear that the leading/trailing zeros handling is only relevant for the unknown LHS case, which is a fast path to avoid the full shift amount loop in cases where it would not produce better results.
-
Nikita Popov authored
I removed the conflict check from computeKnownBitsFromShiftOperator() in D150648 assuming that this is now handled on the KnownBits side. However, the nsw handling is still inside ValueTracking, so we still need to handle conflicts there. Restore the check closer to where it is relevant. Fixes https://github.com/llvm/llvm-project/issues/62908.
-
Nikita Popov authored
After 3a223f1e, it's no longer necessary to put the users into a vector. We can directly iterate them instead.
-
Nikita Popov authored
And make sure udiv() Exact does not produce conflicts.
-
Nico Weber authored
-
Jens Massberg authored
This fixes #62880 Differential Revision: https://reviews.llvm.org/D151200
-
luxufan authored
Fixes:https://github.com/llvm/llvm-project/issues/62901 Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D151295
-
Joshua Cao authored
This also allows us to peel loops with a `select`: ``` for (int i = 0; i <= N; ++i); f3(i == 0 ? a : b); // select instruction ``` into: ``` f3(a); // peel one iteration for (int i = 1; i <= N; ++i) f3(b); ``` Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D151052
-
Joshua Cao authored
conditions
-
Kadir Cetinkaya authored
Differential Revision: https://reviews.llvm.org/D151303
-
Nikita Popov authored
Fixes the issue reported at https://github.com/llvm/llvm-project/commit/4b8320868c9e32d1448c81ca76dba2a6b9f374cd#commitcomment-114671248. The extractvalue instructions may still be used by the calling code in some cases. Rather than trying to figure out which extracts are safe to remove and which aren't, add them to the worklist so they will get DCEd by the main loop.
-
Matt Arsenault authored
With this, the body of CannotBeNegativeZero can be dropped.
-
Matt Arsenault authored
This doesn't mean what I thought it meant and is an optimization hint flag.
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Chuanqi Xu authored
Close https://github.com/llvm/llvm-project/issues/62796. Previously, we didn't serialize the evaluated result for VarDecl. This caused the compilation of template metaprogramming become slower than expect. This patch fixes the issue. This is a recommit tested with asan built clang.
-
Théo Degioanni authored
This patch implements SROA interfaces for MemRef, up to a given fixed size. Reviewed By: gysit, Dinistro Differential Revision: https://reviews.llvm.org/D151102
-
Sergei Barannikov authored
D151036 adds an assertions that prohibits iterating over sub- and super-registers of a null register. This is already the case when iterating over register units of a null register, and worked by accident for sub- and super-registers. Reviewed By: foad Differential Revision: https://reviews.llvm.org/D151289
-