diff options
author | Florian Hahn <flo@fhahn.com> | 2024-12-16 15:51:22 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-16 15:51:22 +0000 |
commit | 7bfcf93527782f1ebf83880f35e981665308d89c (patch) | |
tree | 9eca7ec1d2d5990fffce3db38b10c01b3a1dd981 /llvm/lib/Transforms/Utils/LoopVersioning.cpp | |
parent | c53901405a309a414cb731c4b22f32eafccbbd2a (diff) | |
download | llvm-7bfcf93527782f1ebf83880f35e981665308d89c.zip llvm-7bfcf93527782f1ebf83880f35e981665308d89c.tar.gz llvm-7bfcf93527782f1ebf83880f35e981665308d89c.tar.bz2 |
[SCEV] Use Step and Start to check if SCEVWrapPredicate is implied. (#118184)
A SCEVWrapPredicate A implies B, if
* they have the same flag,
* both steps are positive and
* B's start and step are ULE/SLE (for NSUW/NSSW) than A's.
See https://alive2.llvm.org/ce/z/n2T4ss (first pair with known constants
as strides, second pair with variable strides).
Note that this is limited to steps of the same size, due to NSUW having
slightly different semantics than regular NUW. We should be able to
remove this restriction for NSSW (which matches NSW) in the future.
PR: https://github.com/llvm/llvm-project/pull/118184
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopVersioning.cpp')
0 files changed, 0 insertions, 0 deletions