- Jan 30, 2022
-
-
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.
-
Fangrui Song authored
My x86-64 lld executable is 18KiB smaller.
-
Fangrui Song authored
-
Fangrui Song authored
-
Fangrui Song authored
-
Fangrui Song authored
Similar to D116143. My x86-64 lld executable is 20+KiB smaller.
-
Fangrui Song authored
-
Fangrui Song authored
-
Craig Topper authored
We already have an ISD opcode for the more general GREV/GREVI instructon. We can just use it with the encoding that corresponds to the behavior of brev8. This is similar to what we do for orc.b where we use the GORC ISD opcode.
-
Craig Topper authored
Especially placing W instructions/patterns near their non-W versions.
-
Fangrui Song authored
-
Richard authored
- Sort new checks by check name - Sort changes to existing checks by check name - Add docs for changes to readability-simplify-boolean-expr - Move check changes from "Improvements to clang-tidy" to "Changes in existing checks" section Differential Revision: https://reviews.llvm.org/D118519
-
Fangrui Song authored
In my x86-64 lld, .text is -3.08Ki smaller.
-
Craig Topper authored
-
Ben Shi authored
AVR is baremetal environment, so the avr-libc does not support '__cxa_atexit()'. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D118445
-
Ben Shi authored
Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D118535
-
Fangrui Song authored
-
Fangrui Song authored
-
Fangrui Song authored
-
Fangrui Song authored
-
Fangrui Song authored
Move it before others.
-
Fangrui Song authored
`symbols` is used frequently. Moving it before others can decrease offsets.
-