[llvm] [DependenceAnalysis] Fix incorrect analysis of wrapping AddRec expressions (PR #154982)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Sat Aug 23 01:36:05 PDT 2025


================
@@ -1337,6 +1337,12 @@ class ScalarEvolution {
   /// sharpen it.
   LLVM_ABI void setNoWrapFlags(SCEVAddRecExpr *AddRec, SCEV::NoWrapFlags Flags);
 
+  /// Check if this AddRec expression may wrap, making it non-affine.
----------------
nikic wrote:

```suggestion
  /// Check if this AddRec expression may wrap.
```
SCEV uses the term "affine" to refer to recurrences with loop invariant step (in other words, two operand addrecs). Let's avoid muddying the terminology between affine and wrapping.

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


More information about the llvm-commits mailing list