- Jan 31, 2022
-
-
Kazu Hirata authored
Identified with modernize-use-nullptr.
-
Kazu Hirata authored
Identified with readability-string-compare.
-
Kazu Hirata authored
Identified with readability-redundant-string-init.
-
Kazu Hirata authored
ClangUserExpression.h is relying on the forward declaration of ClangExpressionParser in ClangFunctionCaller.h. This patch moves the forward declaration to ClangUserExpression.h.
-
Kazu Hirata authored
Identified with modernize-use-default-member-init.
-
Simon Pilgrim authored
Limit this to SSE41 - AVX1 targets to avoid UNPCKL(PSHUFB,PSHUFB), pre-SSE41 we don't have PACKUSDW/BLENDW and with AVX2 we can perform this as PERMQ(PSHUFB()).
-
Anatoly Trosinenko authored
`__builtin_c[tl]z` accepts `unsigned int` argument that is not always the same as uint32_t. For example, `unsigned int` is uint16_t on MSP430. Reviewed By: aykevl Differential Revision: https://reviews.llvm.org/D86547
-
Matthias Springer authored
-
Philip Sigillito authored
Reviewed By: MyDeveloperDay, curdeius, HazardyKnusperkeks Differential Revision: https://reviews.llvm.org/D117416
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Anatoly Trosinenko authored
Use s[iu]_int instead of `(unsigned) int` and d[ui]_int instead of `(unsigned) long long` for LibCall arguments. Note: the `*vfp` LibCall versions were NOT touched. Reviewed By: aykevl Differential Revision: https://reviews.llvm.org/D86546
-
Keith Smiley authored
This is a ld64 option equivalent to `-sectcreate seg sect /dev/null` that's useful for creating sections like the RESTRICT section. Differential Revision: https://reviews.llvm.org/D117749
-
Simon Pilgrim authored
Don't extract the ANY/ZERO_EXTEND_VECTOR_INREG subvector source until we're definitely combining to a new node.
-
Keith Smiley authored
Previously functions that aren't included in the symtab were also excluded from the function starts. Symbols missing from function starts degrades the debugger experience in the case you don't have debug info for them. Differential Revision: https://reviews.llvm.org/D114275
-
- Jan 30, 2022
-
-
Simon Pilgrim authored
Allows pow2 mask tests to avoid an unnecessary constant load. Noticed while investigating how to extend MatchVectorAllZeroTest to support more allof/anyof patterns.
-
Simon Pilgrim authored
This would allow pow2 mask tests to avoid an unnecessary constant load. Noticed while investigating how to extend MatchVectorAllZeroTest to support more allof/anyof patterns.
-
Ricky Zhou authored
Before this change, InstCombine was willing to fold atomic and non-atomic loads through a PHI node as long as the first PHI argument is not an atomic load. The combined load would be non-atomic, which is incorrect. Fix this by only combining the loads in a PHI node when all of the arguments are non-atomic loads. Thanks to Eli Friedman for pointing out the bug at https://github.com/llvm/llvm-project/issues/50777#issuecomment-981045342! Fixes #50777 Differential Revision: https://reviews.llvm.org/D115113
-
Ricky Zhou authored
Baseline test for D115113 Differential Revision: https://reviews.llvm.org/D118554
-
Sanjay Patel authored
This reverts commit a2bb7313. The baseline test was not pre-committed as expected.
-
Ricky Zhou authored
Before this change, InstCombine was willing to fold atomic and non-atomic loads through a PHI node as long as the first PHI argument is not an atomic load. The combined load would be non-atomic, which is incorrect. Fix this by only combining the loads in a PHI node when all of the arguments are non-atomic loads. Thanks to Eli Friedman for pointing out the bug at https://github.com/llvm/llvm-project/issues/50777#issuecomment-981045342! Fixes #50777 Differential Revision: https://reviews.llvm.org/D115113
-
Ricky Zhou authored
Preliminary clean-up for D115113 Differential Revision: https://reviews.llvm.org/D116086
-
Ricky Zhou authored
Uppercase some variable names, per LLVM coding standards. This change intentionally does not rename every miscased variable, as a follow-up change ( D116086 ) intends to eliminate many of those by switching loops to range for loops. Differential Revision: https://reviews.llvm.org/D118553
-
Matthias Springer authored
There was a bug where some of the OpOperands needed in the replacement op were not in scope. It does not matter where the replacement op is inserted. Any insertion point is OK as long as there are no dominance errors. In the worst case, the newly inserted op will bufferize out-of-place. This is no worse than not eliminating the InitTensorOp at all. Differential Revision: https://reviews.llvm.org/D117685
-
Mark de Wever authored
The formatter specialization tests were placed in the wrong subdirectory. This moves them to the proper place.
-
Mark de Wever authored
I had a look at the changes since the last release and updated the release notes with interesting changes. It seems this time the release notes were already rather up to date :-) If there are more interesting changes, please let me know and I'll update the patch. I'd like to commit these changes latest next weekend so they land before branching the 14.0 release. I've added most active libc++ contributors. If I forgot anybody please add them. Reviewed By: Quuxplusone, ldionne, philnik, #libc Differential Revision: https://reviews.llvm.org/D117948
-
Matthias Springer authored
Also reimplement `std-bufferize` in terms of BufferizableOpInterface-based bufferization. The old `std.select` bufferization pattern is no longer needed and deleted. Differential Revision: https://reviews.llvm.org/D118559
-
Florian Hahn authored
This removes the remaining dependence on LoopVectorizationCostModel from buildScalarSteps and is required so it can be moved out of ILV. It also improves allows us to remove a few unneeded instructions. Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D116554
-
Matthias Springer authored
Differential Revision: https://reviews.llvm.org/D118557
-
Matthias Springer authored
This should have been done as part of D118483.
-
Matthias Springer authored
The bufferization of arith.constant ops is also switched over to BufferizableOpInterface-based bufferization. The old implementation is deleted. Both implementations utilize GlobalCreator, now renamed to just `getGlobalFor`. GlobalCreator no longer maintains a set of all created allocations to avoid duplicate allocations of the same constant. Instead, `getGlobalFor` scans the module to see if there is already a global allocation with the same constant value. For compatibility reasons, it is still possible to create a pass that bufferizes only `arith.constant`. This pass (createConstantBufferizePass) could be deleted once all users were switched over to One-Shot bufferization. Differential Revision: https://reviews.llvm.org/D118483
-
Nuno Lopes authored
gep(x, undef) carries the provenance of x, so we can't replace it with any pointer like undef. This leaves room for improvement for the poison case, but that's currently not possible as the demanded bits API doesn't distinguish between undef & poison bits. Fixes #44790
-
Nuno Lopes authored
-
Nuno Lopes authored
-
Fangrui Song authored
We don't need to support the empty/tombstone key section index.
-