[all-commits] [llvm/llvm-project] 7bfcf9: [SCEV] Use Step and Start to check if SCEVWrapPre...
Florian Hahn via All-commits
all-commits at lists.llvm.org
Mon Dec 16 07:51:45 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 7bfcf93527782f1ebf83880f35e981665308d89c
https://github.com/llvm/llvm-project/commit/7bfcf93527782f1ebf83880f35e981665308d89c
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-16 (Mon, 16 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/LoopAccessAnalysis/memcheck-wrapping-pointers.ll
M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
Log Message:
-----------
[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
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