[llvm] [VPlan] Fix nowrap flags for strided access pointers from SCEV (PR #209453)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 15 02:26:53 PDT 2026


================
@@ -7785,18 +7785,17 @@ void VPlanTransforms::convertToStridedAccesses(VPlan &Plan,
           VectorLoop->getCanonicalIV(), IndexTy,
           VectorLoop->getCanonicalIVType(), DebugLoc::getUnknown());
       auto *AddRecPtr = cast<SCEVAddRecExpr>(PtrSCEV);
-      auto *Offset = Builder.createOverflowingOp(
-          Instruction::Mul, {CanIV, StrideInBytes},
-          {AddRecPtr->hasNoUnsignedWrap(), AddRecPtr->hasNoSignedWrap()});
----------------
fhahn wrote:

Yep, NUW should be fine, given the canonical IV starting at the smallest unsigned value. NSW would depend on the start offset of the pointer ( and the trip count of the loop)

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


More information about the llvm-commits mailing list