@@ -29,14 +29,16 @@ define void @f1(ptr noalias %a,
29
29
; LV-LABEL: @f1(
30
30
; LV-NEXT: for.body.lver.check:
31
31
; LV-NEXT: [[TMP0:%.*]] = add i64 [[N:%.*]], -1
32
+ ; LV-NEXT: [[TMP1:%.*]] = icmp ugt i64 [[TMP0]], 4294967295
32
33
; LV-NEXT: [[MUL1:%.*]] = call { i64, i1 } @llvm.umul.with.overflow.i64(i64 4, i64 [[TMP0]])
33
34
; LV-NEXT: [[MUL_RESULT:%.*]] = extractvalue { i64, i1 } [[MUL1]], 0
34
35
; LV-NEXT: [[MUL_OVERFLOW:%.*]] = extractvalue { i64, i1 } [[MUL1]], 1
35
36
; LV-NEXT: [[TMP2:%.*]] = sub i64 0, [[MUL_RESULT]]
36
37
; LV-NEXT: [[TMP3:%.*]] = getelementptr i8, ptr [[A:%.*]], i64 [[MUL_RESULT]]
37
38
; LV-NEXT: [[TMP4:%.*]] = icmp ult ptr [[TMP3]], [[A]]
38
39
; LV-NEXT: [[TMP6:%.*]] = or i1 [[TMP4]], [[MUL_OVERFLOW]]
39
- ; LV-NEXT: br i1 [[TMP6]], label [[FOR_BODY_PH_LVER_ORIG:%.*]], label [[FOR_BODY_PH:%.*]]
40
+ ; LV-NEXT: [[TMP7:%.*]] = or i1 [[TMP1]], [[TMP6]]
41
+ ; LV-NEXT: br i1 [[TMP7]], label [[FOR_BODY_PH_LVER_ORIG:%.*]], label [[FOR_BODY_PH:%.*]]
40
42
; LV: for.body.ph.lver.orig:
41
43
; LV-NEXT: br label [[FOR_BODY_LVER_ORIG:%.*]]
42
44
; LV: for.body.lver.orig:
0 commit comments