Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4 |
|
#
38fffa63 |
| 06-Nov-2024 |
Paul Walker <paul.walker@arm.com> |
[LLVM][IR] Use splat syntax when printing Constant[Data]Vector. (#112548)
|
Revision tags: llvmorg-19.1.3, llvmorg-19.1.2 |
|
#
966bee73 |
| 12-Oct-2024 |
Yingwei Zheng <dtcxzyw2333@gmail.com> |
[InstCombine][NFC] Fix typo in is_fpclass.ll (#112067)
This typo causes alive2 to crash.
|
Revision tags: 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 |
|
#
294ad08e |
| 01-Sep-2023 |
Philip Reames <preames@rivosinc.com> |
Revert "Revert "InstSimplify: Use correct interested FP classes when simplifying fcmp""
This reverts commit 89f0314ee14a4d7f5a92fd63574ba545863df016. Change does not build.
|
#
89f0314e |
| 01-Sep-2023 |
Zequan Wu <zequanwu@google.com> |
Revert "InstSimplify: Use correct interested FP classes when simplifying fcmp" Revert "InstSimplify: Add baseline tests for reported regression" Revert "InstSimplify: Start cleaning up simplifyFCmpIn
Revert "InstSimplify: Use correct interested FP classes when simplifying fcmp" Revert "InstSimplify: Add baseline tests for reported regression" Revert "InstSimplify: Start cleaning up simplifyFCmpInst"
This reverts commit 0637b00041c7d6a191d51d9966c4f5f41fb97ab5. This reverts commit 239fb206de35935416e652b89725d5f3193f78f5. This reverts commit ddb3f12c428bc4bd5a98913d74dfd7f2402bdfd8.
These commits causes crashes when compiling chromium code, attached reduced ir at: https://reviews.llvm.org/D151887#4634914
show more ...
|
Revision tags: 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 |
|
#
ddb3f12c |
| 24-May-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
InstSimplify: Start cleaning up simplifyFCmpInst
Also picks up a few improvements (Some of the fcmp.ll test names imply they aren't quite testing what was intended. Checking the sign bit can't be pe
InstSimplify: Start cleaning up simplifyFCmpInst
Also picks up a few improvements (Some of the fcmp.ll test names imply they aren't quite testing what was intended. Checking the sign bit can't be performed with a compare to a 0).
Much of the logic in here is the same as the class detection logic of fcmpToClassTest. We could unify more with a weaker version of fcmpToClassTest which returns implied classes rather than exact class-like compares. Also could unify more with detection of possible classes in non-splat vectors.
One problem here is we now only perform folds that used to always work now require a context instruction. This is because fcmpToClassTest requires the parent function. Either fcmpToClassTest could tolerate a missing context function, or we could require passing in one to simplifyFCmpInst. Without this it's possible to hit the !isNan assert (which feels like an unnecessary assert). In any case, these cases don't appear in any tests.
https://reviews.llvm.org/D151887
show more ...
|
#
2b582440 |
| 29-Aug-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
InstCombine: Fold is.fpclass(x, fcInf) to fabs+fcmp
This is a better canonical form. fcmp and fabs are more widely understood and fabs can fold for free into some sources.
Addresses todo from D1461
InstCombine: Fold is.fpclass(x, fcInf) to fabs+fcmp
This is a better canonical form. fcmp and fabs are more widely understood and fabs can fold for free into some sources.
Addresses todo from D146170
https://reviews.llvm.org/D159084
show more ...
|
#
1e7c79d3 |
| 02-Aug-2023 |
Kevin P. Neal <kevin.neal@sas.com> |
[FPEnv][InstCombine] Correct strictfp tests.
Correct InstCombine strictfp tests to follow the rules documented in the LangRef: https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsic
[FPEnv][InstCombine] Correct strictfp tests.
Correct InstCombine strictfp tests to follow the rules documented in the LangRef: https://llvm.org/docs/LangRef.html#constrained-floating-point-intrinsics
Mostly these tests just needed the strictfp attribute on function definitions. After D154991 the constrained intrinsics have the strictfp attribute by default so they don't need it here, but other functions do.
Test changes verified with D146845.
show more ...
|
Revision tags: llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2 |
|
#
60b8e3a6 |
| 11-Apr-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
InstCombine: Pass all parameters to isKnownNeverNaN
Allows assume handling to work.
|
#
e09115bc |
| 23-Apr-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
InstCombine: Try to turn is.fpclass sign checks to fcmp with 0
Try to use gt/lt compares with 0 instead of class.
|
#
91565592 |
| 10-Apr-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
InstCombine: Use computeKnownFPClass in is.fpclass combines and pass AC
The various isKnownNever* calls can be merged into one. This also introduces the new ability to remove zero/sub/normal checks.
InstCombine: Use computeKnownFPClass in is.fpclass combines and pass AC
The various isKnownNever* calls can be merged into one. This also introduces the new ability to remove zero/sub/normal checks. Also start passing the AssumptionCache arguments.
show more ...
|
#
94df66b7 |
| 24-Apr-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
InstCombine: Add some baseline is.fpclass combine tests
Add tests for converting is.fpclass > or < 0 to fcmp with 0.
|
#
2811085f |
| 11-Apr-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
InstCombine: Add some additional is.fpclass tests
Add some tests to generalize the clearing of known bits using computeKnownFPClass instead of isKnownNeverNaN/isKnownNeverInfinity.
|
Revision tags: llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2 |
|
#
3b44109b |
| 03-Feb-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
InstCombine: Introduce new is.fpclass from logic of fcmp
Fixes regressions from patch to turn more classes into fcmp.
|
Revision tags: llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7 |
|
#
ec2234a2 |
| 11-Dec-2022 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
InstCombine: Fold is.fpclass for single infinity to fcmp
llvm.is.fpclass(x, fcPosInf) -> fcmp oeq x, +inf llvm.is.fpclass(x, fcNegInf) -> fcmp oeq x, -inf llvm.is.fpclass(x, ~fcPosInf) -> fcmp one x
InstCombine: Fold is.fpclass for single infinity to fcmp
llvm.is.fpclass(x, fcPosInf) -> fcmp oeq x, +inf llvm.is.fpclass(x, fcNegInf) -> fcmp oeq x, -inf llvm.is.fpclass(x, ~fcPosInf) -> fcmp one x, +inf llvm.is.fpclass(x, ~fcNegInf) -> fcmp one x, -inf
llvm.is.fpclass(x, fcPosInf|fcNan) -> fcmp ueq x, +inf llvm.is.fpclass(x, fcNegInf|fcNan) -> fcmp ueq, -inf llvm.is.fpclass(x, ~fcPosInf & ~fcNan) -> fcmp one, x, +inf llvm.is.fpclass(x, ~fcNegInf & ~fcNan) -> fcmp one, x, -inf
This regresses some of the logic of fcmp tests. These should be restored in a future patch to better handle combining logic of fcmp and class.
show more ...
|
#
80512789 |
| 03-Feb-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
InstCombine: Fold is.fpclass nan|zero to fcmp ueq 0
|
#
2726fd2e |
| 17-Mar-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Revert "InstCombine: Fold is.fpclass nan|zero to fcmp ueq 0"
This reverts commit b5ff7640cd1391ebe67e47a043fed6faf8bdcbb7.
Merge resolution gone wrong merged two unrelated patches
|
#
b5ff7640 |
| 03-Feb-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
InstCombine: Fold is.fpclass nan|zero to fcmp ueq 0
|
#
5810efaf |
| 15-Mar-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
InstCombine: Add a few more tests for is.fpclass folding
|
#
4109e3f1 |
| 15-Feb-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Reapply "InstCombine: Fold is.fpclass(x, fcZero) to fcmp oeq 0"
This reverts commit 458ad6900e6635e4640229d40e6f713147e52de7.
|
#
458ad690 |
| 15-Feb-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
Revert "InstCombine: Fold is.fpclass(x, fcZero) to fcmp oeq 0"
This reverts commit df78976d023a6b7fcf64bc695261b7b402fcede0.
I pushed the wrong patch
|
Revision tags: llvmorg-15.0.6, llvmorg-15.0.5 |
|
#
df78976d |
| 11-Nov-2022 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
InstCombine: Fold is.fpclass(x, fcZero) to fcmp oeq 0
This requires the denormal mode to definitively be IEEE handling.
|
#
0b5c51b0 |
| 03-Feb-2023 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
InstCombine: Add some additional is.fpclass tests
Test some more cases related to compare with 0 and inf.
|
#
9ad6bdd7 |
| 12-Dec-2022 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
InstCombine: Fold and (fcmp), (is.fpclass) into is.fpclass
Fold class test performed by an fcmp into another class. For now this avoids introducing new class calls then there isn't one that already
InstCombine: Fold and (fcmp), (is.fpclass) into is.fpclass
Fold class test performed by an fcmp into another class. For now this avoids introducing new class calls then there isn't one that already exists.
show more ...
|
#
43b5008e |
| 11-Dec-2022 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
InstCombine: Fold is.fpclass (fabs x), mask -> is.fpclass x, (fabs mask)
|
#
a520851d |
| 11-Dec-2022 |
Matt Arsenault <Matthew.Arsenault@amd.com> |
InstCombine: Fold is.fpclass (fneg x) into the test mask
|