History log of /llvm-project/llvm/test/Transforms/InstCombine/is_fpclass.ll (Results 1 – 25 of 40)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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


12