|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
| #
bb3f99cd |
| 13-Jul-2022 |
Fraser Cormack <[email protected]> |
[llvm-reduce] Fix crash when reducing integer vectors to 1
Integer vectors were previously ignored when reducing operands. When 6b8bd0f72 introduced support for reducing floating-point scalars/vecto
[llvm-reduce] Fix crash when reducing integer vectors to 1
Integer vectors were previously ignored when reducing operands. When 6b8bd0f72 introduced support for reducing floating-point scalars/vectors, the vector case was written to only handle floating-point values. It would crash when creating an invalid ConstantFP from the integer element type.
Instead of reinstating the old integer vector behaviour, we might as well reduce integer vectors to all-one splats.
A couple of existing tests has also been renamed from "remove" to "reduce" to better reflect the deltas they test.
Reviewed By: arsenm
Differential Revision: https://reviews.llvm.org/D129629
show more ...
|
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5 |
|
| #
26107559 |
| 09-Jun-2022 |
Matt Arsenault <[email protected]> |
llvm-reduce: Handle reducing FP values to nan
Prefer 0/1 over NaN, but it may make more sense to invert this as FP operations with nan inputs can universally be folded into something else.
|
| #
62b5aa98 |
| 09-Jun-2022 |
Matt Arsenault <[email protected]> |
llvm-reduce: Check shouldKeep before trying to reduce operands
No point doing the more complicated check first.
|
| #
2962f9df |
| 21-Jun-2022 |
John Regehr <[email protected]> |
stop llvm-reduce from introducing undefs
Differential Revision: https://reviews.llvm.org/D128317
|
| #
6b8bd0f7 |
| 09-Jun-2022 |
Matt Arsenault <[email protected]> |
llvm-reduce: Support replacing FP values with 1.0
|
|
Revision tags: llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2 |
|
| #
67aa8ed5 |
| 20-Apr-2022 |
Matt Arsenault <[email protected]> |
llvm-reduce: Fix sources with executable permission
|
|
Revision tags: llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1 |
|
| #
6f288bd7 |
| 12-Nov-2021 |
Arthur Eubanks <[email protected]> |
[llvm-reduce] Count chunks by running a preliminary reduction
Having a separate counting method runs the risk of a mismatch between the actual reduction method and the counting method.
Instead, cre
[llvm-reduce] Count chunks by running a preliminary reduction
Having a separate counting method runs the risk of a mismatch between the actual reduction method and the counting method.
Instead, create an Oracle that always returns true for shouldKeep(), run the reduction, and count how many times shouldKeep() was called. The module should not be modified if shouldKeep() always returns true.
Reviewed By: Meinersbur
Differential Revision: https://reviews.llvm.org/D113537
show more ...
|
| #
be0b47d5 |
| 10-Nov-2021 |
Arthur Eubanks <[email protected]> |
[llvm-reduce] Skip replacing metadata and callee operands
Metadata operands tend to require special conditions, especially on dbg intrinsics. We also don't have a zero value for metadata.
Replacing
[llvm-reduce] Skip replacing metadata and callee operands
Metadata operands tend to require special conditions, especially on dbg intrinsics. We also don't have a zero value for metadata.
Replacing callee operands is a little weird, since calling undef/null doesn't make sense. It also causes tons of invalid reductions when reducing calls to intrinsics since only arguments to intrinsics can be of the metadata type.
Reviewed By: Meinersbur
Differential Revision: https://reviews.llvm.org/D113532
show more ...
|
| #
96605639 |
| 13-Oct-2021 |
Arthur Eubanks <[email protected]> |
[llvm-reduce] Add reduction passes to reduce operands to undef/1/0
Having non-undef constants in a final llvm-reduce output is nicer than having undefs.
This splits the existing reduce-operands pas
[llvm-reduce] Add reduction passes to reduce operands to undef/1/0
Having non-undef constants in a final llvm-reduce output is nicer than having undefs.
This splits the existing reduce-operands pass into three, one which does the same as the current pass of reducing to undef, and two more to reduce to the constant 1 and the constant 0. Do not reduce to undef if the operand is a ConstantData, and do not reduce 0s to 1s.
Reducing GEP operands very frequently causes invalid IR (since types may not match up if we index differently into a struct), so don't touch GEPs.
Reviewed By: Meinersbur
Differential Revision: https://reviews.llvm.org/D111765
show more ...
|
| #
77bc3ba3 |
| 05-Oct-2021 |
Arthur Eubanks <[email protected]> |
[NFC][llvm-reduce] Cleanup types
Use Module& wherever possible. Since every reduction immediately turns Chunks into an Oracle, directly pass Oracle instead.
Reviewed By: hans
Differential Revision
[NFC][llvm-reduce] Cleanup types
Use Module& wherever possible. Since every reduction immediately turns Chunks into an Oracle, directly pass Oracle instead.
Reviewed By: hans
Differential Revision: https://reviews.llvm.org/D111122
show more ...
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4 |
|
| #
f18c0739 |
| 17-Sep-2021 |
Samuel <[email protected]> |
[llvm-reduce] Add reduce operands pass
Add reduction to set operands to default values
Reviewed By: aeubanks
Differential Revision: https://reviews.llvm.org/D108903
|