[llvm] [SCEV] Fix NSW flag propagation in getGEPExpr, getMulExpr, and getAddExpr (PR #155145)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 24 04:07:07 PDT 2025


================
@@ -3252,7 +3279,7 @@ const SCEV *ScalarEvolution::getMulExpr(SmallVectorImpl<const SCEV *> &Ops,
       //  NLI * LI * {Start,+,Step}  -->  NLI * {LI*Start,+,LI*Step}
       SmallVector<const SCEV *, 4> NewOps;
       NewOps.reserve(AddRec->getNumOperands());
-      const SCEV *Scale = getMulExpr(LIOps, SCEV::FlagAnyWrap, Depth + 1);
+      const SCEV *Scale = getMulExpr(LIOps, OrigFlags, Depth + 1);
----------------
nikic wrote:

I think this part of the change is correct.

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


More information about the llvm-commits mailing list