aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopVersioning.cpp
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2024-12-16 15:51:22 +0000
committerGitHub <noreply@github.com>2024-12-16 15:51:22 +0000
commit7bfcf93527782f1ebf83880f35e981665308d89c (patch)
tree9eca7ec1d2d5990fffce3db38b10c01b3a1dd981 /llvm/lib/Transforms/Utils/LoopVersioning.cpp
parentc53901405a309a414cb731c4b22f32eafccbbd2a (diff)
downloadllvm-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