@@ -409,10 +409,8 @@ define void @zext_preinc_offset_constant_one(ptr %A, i32 %start) {
409
409
; CHECK-NEXT: br label [[FOR_BODY:%.*]]
410
410
; CHECK: for.body:
411
411
; CHECK-NEXT: [[INDVARS_IV:%.*]] = phi i64 [ [[TMP0]], [[FOR_BODY_PREHEADER]] ], [ [[INDVARS_IV_NEXT:%.*]], [[FOR_BODY]] ]
412
- ; CHECK-NEXT: [[TMP1:%.*]] = trunc i64 [[INDVARS_IV]] to i32
413
- ; CHECK-NEXT: [[ADD_US:%.*]] = add i32 [[TMP1]], 1
414
- ; CHECK-NEXT: [[IDXPROM_US:%.*]] = zext i32 [[ADD_US]] to i64
415
- ; CHECK-NEXT: [[ARRAYIDX_US:%.*]] = getelementptr inbounds i32, ptr [[A:%.*]], i64 [[IDXPROM_US]]
412
+ ; CHECK-NEXT: [[TMP1:%.*]] = add nuw nsw i64 [[INDVARS_IV]], 1
413
+ ; CHECK-NEXT: [[ARRAYIDX_US:%.*]] = getelementptr inbounds i32, ptr [[A:%.*]], i64 [[TMP1]]
416
414
; CHECK-NEXT: tail call void @use_ptr(ptr [[ARRAYIDX_US]])
417
415
; CHECK-NEXT: [[CMP2_US:%.*]] = icmp ugt i64 [[INDVARS_IV]], 6
418
416
; CHECK-NEXT: [[INDVARS_IV_NEXT]] = add nsw i64 [[INDVARS_IV]], -1
@@ -559,7 +557,7 @@ define void @sext_preinc_offset_constant_one(ptr %A, i32 %start) {
559
557
; CHECK: for.body:
560
558
; CHECK-NEXT: [[INDVARS_IV:%.*]] = phi i64 [ [[TMP0]], [[FOR_BODY_PREHEADER]] ], [ [[INDVARS_IV_NEXT:%.*]], [[FOR_BODY]] ]
561
559
; CHECK-NEXT: [[TMP1:%.*]] = trunc i64 [[INDVARS_IV]] to i32
562
- ; CHECK-NEXT: [[ADD_US:%.*]] = add i32 [[TMP1]], 1
560
+ ; CHECK-NEXT: [[ADD_US:%.*]] = add nuw i32 [[TMP1]], 1
563
561
; CHECK-NEXT: [[IDXPROM_US:%.*]] = sext i32 [[ADD_US]] to i64
564
562
; CHECK-NEXT: [[ARRAYIDX_US:%.*]] = getelementptr inbounds i32, ptr [[A:%.*]], i64 [[IDXPROM_US]]
565
563
; CHECK-NEXT: tail call void @use_ptr(ptr [[ARRAYIDX_US]])
0 commit comments