[llvm] [VectorUtils] Collect predicates separately in collectConstStrideAccesses. (PR #200807)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 11 13:01:10 PDT 2026


================
@@ -1079,6 +1085,19 @@ static bool isNoWrap(PredicatedScalarEvolution &PSE, const SCEVAddRecExpr *AR,
   return false;
 }
 
+static bool isNoWrap(PredicatedScalarEvolution &PSE, const SCEVAddRecExpr *AR,
+                     Value *Ptr, Type *AccessTy, const Loop *L, bool Assume,
+                     const DominatorTree &DT,
+                     std::optional<int64_t> Stride = std::nullopt) {
+
+  SmallVector<const SCEVPredicate *> Predicates;
+  bool NoWrap = isNoWrap(PSE, AR, Ptr, AccessTy, L, DT, Stride,
+                         Assume ? &Predicates : nullptr);
+  for (const SCEVPredicate *P : Predicates)
+    PSE.addPredicate(*P);
+  return NoWrap;
+}
+
----------------
fhahn wrote:

There was one more caller, but that was easy to migrate, updated thanks

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


More information about the llvm-commits mailing list