[llvm] [VPlan] Refine DerivedIV nowrap contract (PR #205908)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 30 01:17:22 PDT 2026


================
@@ -371,7 +371,7 @@ define void @PR30742(ptr %p) {
 ; CHECK-NEXT:    [[N_MOD_VF:%.*]] = urem i32 [[TMP14]], 2
 ; CHECK-NEXT:    [[N_VEC:%.*]] = sub i32 [[TMP14]], [[N_MOD_VF]]
 ; CHECK-NEXT:    [[TMP16:%.*]] = mul i32 [[N_VEC]], -8
-; CHECK-NEXT:    [[IND_END:%.*]] = add i32 [[TMP12]], [[TMP16]]
+; CHECK-NEXT:    [[IND_END:%.*]] = add nuw i32 [[TMP12]], [[TMP16]]
----------------
fhahn wrote:

I think after multiplying with -8, we may end up with a large unsigned value and wrap unsigned here?

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


More information about the llvm-commits mailing list