[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:57:12 PDT 2026


================
@@ -7787,16 +7787,16 @@ void VPlanTransforms::convertToStridedAccesses(VPlan &Plan,
       auto *AddRecPtr = cast<SCEVAddRecExpr>(PtrSCEV);
       auto *Offset = Builder.createOverflowingOp(
           Instruction::Mul, {CanIV, StrideInBytes},
-          {AddRecPtr->hasNoUnsignedWrap(), AddRecPtr->hasNoSignedWrap()});
-      auto *BasePtr = Builder.createNoWrapPtrAdd(
-          StartVPV, Offset,
-          AddRecPtr->hasNoUnsignedWrap() ? GEPNoWrapFlags::noUnsignedWrap()
-                                         : GEPNoWrapFlags::none());
+          {AddRecPtr->hasNoUnsignedWrap(), /*HasNSW=*/false});
+      GEPNoWrapFlags NWFlags = AddRecPtr->hasNoUnsignedWrap()
+                                   ? GEPNoWrapFlags::noUnsignedWrap()
+                                   : GEPNoWrapFlags::none();
+      auto *BasePtr = Builder.createNoWrapPtrAdd(StartVPV, Offset, NWFlags);
----------------
Mel-Chen wrote:

fef65719f1d414d40f12fc945eb95d65b3aaf314

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


More information about the llvm-commits mailing list