[all-commits] [llvm/llvm-project] f9f4ab: [InstCombine] Add tests for non-zero/knownbits of ...
goldsteinn via All-commits
all-commits at lists.llvm.org
Wed Apr 10 08:41:21 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f9f4aba547f50e6dcb2d9345b51fe4883bb64d8d
https://github.com/llvm/llvm-project/commit/f9f4aba547f50e6dcb2d9345b51fe4883bb64d8d
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
A llvm/test/Transforms/InstCombine/vector-reduce-min-max-known.ll
Log Message:
-----------
[InstCombine] Add tests for non-zero/knownbits of `vector_reduce_{s,u}{min,max}`; NFC
Commit: 77d668451ad2e6370eb595c171779429e9becdf2
https://github.com/llvm/llvm-project/commit/77d668451ad2e6370eb595c171779429e9becdf2
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/vector-reduce-min-max-known.ll
Log Message:
-----------
[ValueTracking] Add support for `vector_reduce_{s,u}{min,max}` in `isKnownNonZero`
Previously missing, proofs for all implementations:
https://alive2.llvm.org/ce/z/G8wpmG
Commit: 41c52217b003ce9435ae534251b0d0d035495262
https://github.com/llvm/llvm-project/commit/41c52217b003ce9435ae534251b0d0d035495262
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/vector-reduce-min-max-known.ll
Log Message:
-----------
[ValueTracking] Add support for `vector_reduce_{s,u}{min,max}` in `computeKnownBits`
Previously missing. We compute by just applying the reduce function on
the knownbits of each element.
Closes #88169
Commit: a02b3c01820090d4208146b51372587251fdce61
https://github.com/llvm/llvm-project/commit/a02b3c01820090d4208146b51372587251fdce61
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Add tests for overflow detection functions is `isKnownNonZero`; NFC
Commit: f0a487d7e2085e21f3691393070f54110d889fb6
https://github.com/llvm/llvm-project/commit/f0a487d7e2085e21f3691393070f54110d889fb6
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Split `isNonZero(mul)` logic to a helper; NFC
Commit: 37ca6fa1e26e86c85c544023b18695be420e80dd
https://github.com/llvm/llvm-project/commit/37ca6fa1e26e86c85c544023b18695be420e80dd
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/known-bits.ll
Log Message:
-----------
[ValueTracking] Add support for overflow detection functions is `isKnownNonZero`
Adds support for: `{s,u}{add,sub,mul}.with.overflow`
The logic is identical to the the non-overflow binops, we where just
missing the cases.
Closes #87701
Commit: 2ff82c2c6490a1478e4311f60f1ce80af0957403
https://github.com/llvm/llvm-project/commit/2ff82c2c6490a1478e4311f60f1ce80af0957403
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] Add tests for improving `isKnownNonZero` of `smax`; NFC
Commit: f1ee458ddb45c9887b3df583ce9a4ba12aae8b3b
https://github.com/llvm/llvm-project/commit/f1ee458ddb45c9887b3df583ce9a4ba12aae8b3b
Author: Noah Goldstein <goldstein.w.n at gmail.com>
Date: 2024-04-10 (Wed, 10 Apr 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstSimplify/known-non-zero.ll
Log Message:
-----------
[ValueTracking] improve `isKnownNonZero` precision for `smax`
Instead of relying on known-bits for strictly positive, use the
`isKnownPositive` API. This will use `isKnownNonZero` which is more
accurate.
Closes #88170
Compare: https://github.com/llvm/llvm-project/compare/7f1b9adfc8d8...f1ee458ddb45
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list