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

Mel Chen via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 15 02:50: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()});
----------------
Mel-Chen wrote:

d8ab56cc877b1de4309716e8b988c2ccdb4a9f2b
Verified that only nuw is safe to propagate to mul and ptradd. 
nsw cannot be propagated to mul and ptradd since counterexamples can be found

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


More information about the llvm-commits mailing list