[llvm] [DA] Check monotonicity for subscripts (PR #154527)

Michael Kruse via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 25 05:02:05 PDT 2025


================
@@ -3308,6 +3308,322 @@ void DependenceInfo::updateDirection(Dependence::DVEntry &Level,
     llvm_unreachable("constraint has unexpected kind");
 }
 
+namespace {
+
+enum class MonotonicityType {
+  MaySignedWrap, ///< The expression contains arithmetic operations that may
+                 ///< cause signed wrap.
+  Constant,      ///< The expression is constant. If a SCEV is classified as
+                 ///< Constant, it also implies that it doesn't contain any
+                 ///< arithmetic operations that may cause signed wrap.
----------------
Meinersbur wrote:

What is the utility of `Constant`? `isa<SCEVConstant>(...)` should be sufficient. Did you mean "invariant" to a specific loop?


https://github.com/llvm/llvm-project/pull/154527


More information about the llvm-commits mailing list