@@ -22,7 +22,7 @@ define i1 @t0_noncanonical_ignoreme(i8 %base, i8 %offset) {
2222; CHECK-NEXT: call void @use8(i8 [[ADJUSTED]])
2323; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp uge i8 [[BASE]], [[OFFSET]]
2424; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
25- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[BASE ]], [[OFFSET]]
25+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[ADJUSTED ]], 0
2626; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
2727; CHECK-NEXT: [[TMP1:%.*]] = icmp ugt i8 [[BASE]], [[OFFSET]]
2828; CHECK-NEXT: ret i1 [[TMP1]]
@@ -43,7 +43,7 @@ define i1 @t0_noncanonical_ignoreme_logical(i8 %base, i8 %offset) {
4343; CHECK-NEXT: call void @use8(i8 [[ADJUSTED]])
4444; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp uge i8 [[BASE]], [[OFFSET]]
4545; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
46- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[BASE ]], [[OFFSET]]
46+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[ADJUSTED ]], 0
4747; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
4848; CHECK-NEXT: [[TMP1:%.*]] = icmp ugt i8 [[BASE]], [[OFFSET]]
4949; CHECK-NEXT: ret i1 [[TMP1]]
@@ -64,7 +64,7 @@ define i1 @t1(i8 %base, i8 %offset) {
6464; CHECK-NEXT: call void @use8(i8 [[ADJUSTED]])
6565; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp uge i8 [[BASE]], [[OFFSET]]
6666; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
67- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[BASE ]], [[OFFSET]]
67+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[ADJUSTED ]], 0
6868; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
6969; CHECK-NEXT: [[TMP1:%.*]] = icmp ugt i8 [[BASE]], [[OFFSET]]
7070; CHECK-NEXT: ret i1 [[TMP1]]
@@ -85,7 +85,7 @@ define i1 @t1_logical(i8 %base, i8 %offset) {
8585; CHECK-NEXT: call void @use8(i8 [[ADJUSTED]])
8686; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp uge i8 [[BASE]], [[OFFSET]]
8787; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
88- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[BASE ]], [[OFFSET]]
88+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[ADJUSTED ]], 0
8989; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
9090; CHECK-NEXT: [[TMP1:%.*]] = icmp ugt i8 [[BASE]], [[OFFSET]]
9191; CHECK-NEXT: ret i1 [[TMP1]]
@@ -105,7 +105,7 @@ define i1 @t1_strict(i8 %base, i8 %offset) {
105105; CHECK-NEXT: call void @use8(i8 [[ADJUSTED]])
106106; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp ugt i8 [[BASE]], [[OFFSET]]
107107; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
108- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[BASE ]], [[OFFSET]]
108+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[ADJUSTED ]], 0
109109; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
110110; CHECK-NEXT: ret i1 [[NO_UNDERFLOW]]
111111;
@@ -125,7 +125,7 @@ define i1 @t1_strict_logical(i8 %base, i8 %offset) {
125125; CHECK-NEXT: call void @use8(i8 [[ADJUSTED]])
126126; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp ugt i8 [[BASE]], [[OFFSET]]
127127; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
128- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[BASE ]], [[OFFSET]]
128+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[ADJUSTED ]], 0
129129; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
130130; CHECK-NEXT: ret i1 [[NO_UNDERFLOW]]
131131;
@@ -201,7 +201,7 @@ define i1 @t3_commutability0(i8 %base, i8 %offset) {
201201; CHECK-NEXT: call void @use8(i8 [[ADJUSTED]])
202202; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp uge i8 [[BASE]], [[OFFSET]]
203203; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
204- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[BASE ]], [[OFFSET]]
204+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[ADJUSTED ]], 0
205205; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
206206; CHECK-NEXT: [[TMP1:%.*]] = icmp ugt i8 [[BASE]], [[OFFSET]]
207207; CHECK-NEXT: ret i1 [[TMP1]]
@@ -222,7 +222,7 @@ define i1 @t3_commutability0_logical(i8 %base, i8 %offset) {
222222; CHECK-NEXT: call void @use8(i8 [[ADJUSTED]])
223223; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp uge i8 [[BASE]], [[OFFSET]]
224224; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
225- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[BASE ]], [[OFFSET]]
225+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[ADJUSTED ]], 0
226226; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
227227; CHECK-NEXT: [[TMP1:%.*]] = icmp ugt i8 [[BASE]], [[OFFSET]]
228228; CHECK-NEXT: ret i1 [[TMP1]]
@@ -242,7 +242,7 @@ define i1 @t4_commutability1(i8 %base, i8 %offset) {
242242; CHECK-NEXT: call void @use8(i8 [[ADJUSTED]])
243243; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp uge i8 [[BASE]], [[OFFSET]]
244244; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
245- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[BASE ]], [[OFFSET]]
245+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[ADJUSTED ]], 0
246246; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
247247; CHECK-NEXT: [[TMP1:%.*]] = icmp ugt i8 [[BASE]], [[OFFSET]]
248248; CHECK-NEXT: ret i1 [[TMP1]]
@@ -263,7 +263,7 @@ define i1 @t4_commutability1_logical(i8 %base, i8 %offset) {
263263; CHECK-NEXT: call void @use8(i8 [[ADJUSTED]])
264264; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp uge i8 [[BASE]], [[OFFSET]]
265265; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
266- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[BASE ]], [[OFFSET]]
266+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[ADJUSTED ]], 0
267267; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
268268; CHECK-NEXT: [[TMP1:%.*]] = icmp ugt i8 [[BASE]], [[OFFSET]]
269269; CHECK-NEXT: ret i1 [[TMP1]]
@@ -283,7 +283,7 @@ define i1 @t5_commutability2(i8 %base, i8 %offset) {
283283; CHECK-NEXT: call void @use8(i8 [[ADJUSTED]])
284284; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp uge i8 [[BASE]], [[OFFSET]]
285285; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
286- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[BASE ]], [[OFFSET]]
286+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[ADJUSTED ]], 0
287287; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
288288; CHECK-NEXT: [[TMP1:%.*]] = icmp ugt i8 [[BASE]], [[OFFSET]]
289289; CHECK-NEXT: ret i1 [[TMP1]]
@@ -304,7 +304,7 @@ define i1 @t5_commutability2_logical(i8 %base, i8 %offset) {
304304; CHECK-NEXT: call void @use8(i8 [[ADJUSTED]])
305305; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp uge i8 [[BASE]], [[OFFSET]]
306306; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
307- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[BASE ]], [[OFFSET]]
307+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i8 [[ADJUSTED ]], 0
308308; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
309309; CHECK-NEXT: [[TMP1:%.*]] = icmp ugt i8 [[BASE]], [[OFFSET]]
310310; CHECK-NEXT: ret i1 [[TMP1]]
@@ -382,7 +382,7 @@ define i1 @t7(i8 %base, i8 %offset) {
382382; CHECK-NEXT: call void @use8(i8 [[ADJUSTED]])
383383; CHECK-NEXT: [[UNDERFLOW:%.*]] = icmp ult i8 [[BASE]], [[OFFSET]]
384384; CHECK-NEXT: call void @use1(i1 [[UNDERFLOW]])
385- ; CHECK-NEXT: [[NULL:%.*]] = icmp eq i8 [[BASE ]], [[OFFSET]]
385+ ; CHECK-NEXT: [[NULL:%.*]] = icmp eq i8 [[ADJUSTED ]], 0
386386; CHECK-NEXT: call void @use1(i1 [[NULL]])
387387; CHECK-NEXT: [[TMP1:%.*]] = icmp ule i8 [[BASE]], [[OFFSET]]
388388; CHECK-NEXT: ret i1 [[TMP1]]
@@ -403,7 +403,7 @@ define i1 @t7_logical(i8 %base, i8 %offset) {
403403; CHECK-NEXT: call void @use8(i8 [[ADJUSTED]])
404404; CHECK-NEXT: [[UNDERFLOW:%.*]] = icmp ult i8 [[BASE]], [[OFFSET]]
405405; CHECK-NEXT: call void @use1(i1 [[UNDERFLOW]])
406- ; CHECK-NEXT: [[NULL:%.*]] = icmp eq i8 [[BASE ]], [[OFFSET]]
406+ ; CHECK-NEXT: [[NULL:%.*]] = icmp eq i8 [[ADJUSTED ]], 0
407407; CHECK-NEXT: call void @use1(i1 [[NULL]])
408408; CHECK-NEXT: [[TMP1:%.*]] = icmp ule i8 [[BASE]], [[OFFSET]]
409409; CHECK-NEXT: ret i1 [[TMP1]]
@@ -423,7 +423,7 @@ define i1 @t7_nonstrict(i8 %base, i8 %offset) {
423423; CHECK-NEXT: call void @use8(i8 [[ADJUSTED]])
424424; CHECK-NEXT: [[UNDERFLOW:%.*]] = icmp ule i8 [[BASE]], [[OFFSET]]
425425; CHECK-NEXT: call void @use1(i1 [[UNDERFLOW]])
426- ; CHECK-NEXT: [[NULL:%.*]] = icmp eq i8 [[BASE ]], [[OFFSET]]
426+ ; CHECK-NEXT: [[NULL:%.*]] = icmp eq i8 [[ADJUSTED ]], 0
427427; CHECK-NEXT: call void @use1(i1 [[NULL]])
428428; CHECK-NEXT: ret i1 [[UNDERFLOW]]
429429;
@@ -443,7 +443,7 @@ define i1 @t7_nonstrict_logical(i8 %base, i8 %offset) {
443443; CHECK-NEXT: call void @use8(i8 [[ADJUSTED]])
444444; CHECK-NEXT: [[UNDERFLOW:%.*]] = icmp ule i8 [[BASE]], [[OFFSET]]
445445; CHECK-NEXT: call void @use1(i1 [[UNDERFLOW]])
446- ; CHECK-NEXT: [[NULL:%.*]] = icmp eq i8 [[BASE ]], [[OFFSET]]
446+ ; CHECK-NEXT: [[NULL:%.*]] = icmp eq i8 [[ADJUSTED ]], 0
447447; CHECK-NEXT: call void @use1(i1 [[NULL]])
448448; CHECK-NEXT: ret i1 [[UNDERFLOW]]
449449;
@@ -511,7 +511,7 @@ define i1 @t9_commutative(i8 %base, i8 %offset) {
511511; CHECK-NEXT: call void @use8(i8 [[ADJUSTED]])
512512; CHECK-NEXT: [[UNDERFLOW:%.*]] = icmp ult i8 [[BASE]], [[OFFSET]]
513513; CHECK-NEXT: call void @use1(i1 [[UNDERFLOW]])
514- ; CHECK-NEXT: [[NULL:%.*]] = icmp eq i8 [[BASE ]], [[OFFSET]]
514+ ; CHECK-NEXT: [[NULL:%.*]] = icmp eq i8 [[ADJUSTED ]], 0
515515; CHECK-NEXT: call void @use1(i1 [[NULL]])
516516; CHECK-NEXT: [[TMP1:%.*]] = icmp ule i8 [[BASE]], [[OFFSET]]
517517; CHECK-NEXT: ret i1 [[TMP1]]
@@ -532,7 +532,7 @@ define i1 @t9_commutative_logical(i8 %base, i8 %offset) {
532532; CHECK-NEXT: call void @use8(i8 [[ADJUSTED]])
533533; CHECK-NEXT: [[UNDERFLOW:%.*]] = icmp ult i8 [[BASE]], [[OFFSET]]
534534; CHECK-NEXT: call void @use1(i1 [[UNDERFLOW]])
535- ; CHECK-NEXT: [[NULL:%.*]] = icmp eq i8 [[BASE ]], [[OFFSET]]
535+ ; CHECK-NEXT: [[NULL:%.*]] = icmp eq i8 [[ADJUSTED ]], 0
536536; CHECK-NEXT: call void @use1(i1 [[NULL]])
537537; CHECK-NEXT: [[TMP1:%.*]] = icmp ule i8 [[BASE]], [[OFFSET]]
538538; CHECK-NEXT: ret i1 [[TMP1]]
@@ -556,7 +556,7 @@ define i1 @t10(i64 %base, i64* nonnull %offsetptr) {
556556; CHECK-NEXT: call void @use64(i64 [[ADJUSTED]])
557557; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp ule i64 [[OFFSET]], [[BASE]]
558558; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
559- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i64 [[OFFSET ]], [[BASE]]
559+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i64 [[ADJUSTED ]], 0
560560; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
561561; CHECK-NEXT: [[TMP1:%.*]] = icmp ult i64 [[OFFSET]], [[BASE]]
562562; CHECK-NEXT: ret i1 [[TMP1]]
@@ -580,7 +580,7 @@ define i1 @t10_logical(i64 %base, i64* nonnull %offsetptr) {
580580; CHECK-NEXT: call void @use64(i64 [[ADJUSTED]])
581581; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp ule i64 [[OFFSET]], [[BASE]]
582582; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
583- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i64 [[OFFSET ]], [[BASE]]
583+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i64 [[ADJUSTED ]], 0
584584; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
585585; CHECK-NEXT: [[TMP1:%.*]] = icmp ult i64 [[OFFSET]], [[BASE]]
586586; CHECK-NEXT: ret i1 [[TMP1]]
@@ -603,7 +603,7 @@ define i1 @t11_commutative(i64 %base, i64* nonnull %offsetptr) {
603603; CHECK-NEXT: call void @use64(i64 [[ADJUSTED]])
604604; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp ule i64 [[OFFSET]], [[BASE]]
605605; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
606- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i64 [[OFFSET ]], [[BASE]]
606+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i64 [[ADJUSTED ]], 0
607607; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
608608; CHECK-NEXT: [[TMP1:%.*]] = icmp ult i64 [[OFFSET]], [[BASE]]
609609; CHECK-NEXT: ret i1 [[TMP1]]
@@ -627,7 +627,7 @@ define i1 @t11_commutative_logical(i64 %base, i64* nonnull %offsetptr) {
627627; CHECK-NEXT: call void @use64(i64 [[ADJUSTED]])
628628; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp ule i64 [[OFFSET]], [[BASE]]
629629; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
630- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i64 [[OFFSET ]], [[BASE]]
630+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i64 [[ADJUSTED ]], 0
631631; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
632632; CHECK-NEXT: [[TMP1:%.*]] = icmp ult i64 [[OFFSET]], [[BASE]]
633633; CHECK-NEXT: ret i1 [[TMP1]]
@@ -651,7 +651,7 @@ define i1 @t12(i64 %base, i64* nonnull %offsetptr) {
651651; CHECK-NEXT: call void @use64(i64 [[ADJUSTED]])
652652; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp ugt i64 [[OFFSET]], [[BASE]]
653653; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
654- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp eq i64 [[OFFSET ]], [[BASE]]
654+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp eq i64 [[ADJUSTED ]], 0
655655; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
656656; CHECK-NEXT: [[TMP1:%.*]] = icmp uge i64 [[OFFSET]], [[BASE]]
657657; CHECK-NEXT: ret i1 [[TMP1]]
@@ -675,7 +675,7 @@ define i1 @t12_logical(i64 %base, i64* nonnull %offsetptr) {
675675; CHECK-NEXT: call void @use64(i64 [[ADJUSTED]])
676676; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp ugt i64 [[OFFSET]], [[BASE]]
677677; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
678- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp eq i64 [[OFFSET ]], [[BASE]]
678+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp eq i64 [[ADJUSTED ]], 0
679679; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
680680; CHECK-NEXT: [[TMP1:%.*]] = icmp uge i64 [[OFFSET]], [[BASE]]
681681; CHECK-NEXT: ret i1 [[TMP1]]
@@ -698,7 +698,7 @@ define i1 @t13(i64 %base, i64* nonnull %offsetptr) {
698698; CHECK-NEXT: call void @use64(i64 [[ADJUSTED]])
699699; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp ugt i64 [[OFFSET]], [[BASE]]
700700; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
701- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp eq i64 [[OFFSET ]], [[BASE]]
701+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp eq i64 [[ADJUSTED ]], 0
702702; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
703703; CHECK-NEXT: [[TMP1:%.*]] = icmp uge i64 [[OFFSET]], [[BASE]]
704704; CHECK-NEXT: ret i1 [[TMP1]]
@@ -722,7 +722,7 @@ define i1 @t13_logical(i64 %base, i64* nonnull %offsetptr) {
722722; CHECK-NEXT: call void @use64(i64 [[ADJUSTED]])
723723; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp ugt i64 [[OFFSET]], [[BASE]]
724724; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
725- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp eq i64 [[OFFSET ]], [[BASE]]
725+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp eq i64 [[ADJUSTED ]], 0
726726; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
727727; CHECK-NEXT: [[TMP1:%.*]] = icmp uge i64 [[OFFSET]], [[BASE]]
728728; CHECK-NEXT: ret i1 [[TMP1]]
@@ -745,7 +745,7 @@ define i1 @t14_bad(i64 %base, i64 %offset) {
745745; CHECK-NEXT: call void @use64(i64 [[ADJUSTED]])
746746; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp ult i64 [[ADJUSTED]], [[BASE]]
747747; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
748- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i64 [[BASE ]], [[OFFSET]]
748+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i64 [[ADJUSTED ]], 0
749749; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
750750; CHECK-NEXT: [[R:%.*]] = and i1 [[NOT_NULL]], [[NO_UNDERFLOW]]
751751; CHECK-NEXT: ret i1 [[R]]
@@ -766,7 +766,7 @@ define i1 @t14_bad_logical(i64 %base, i64 %offset) {
766766; CHECK-NEXT: call void @use64(i64 [[ADJUSTED]])
767767; CHECK-NEXT: [[NO_UNDERFLOW:%.*]] = icmp ult i64 [[ADJUSTED]], [[BASE]]
768768; CHECK-NEXT: call void @use1(i1 [[NO_UNDERFLOW]])
769- ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i64 [[BASE ]], [[OFFSET]]
769+ ; CHECK-NEXT: [[NOT_NULL:%.*]] = icmp ne i64 [[ADJUSTED ]], 0
770770; CHECK-NEXT: call void @use1(i1 [[NOT_NULL]])
771771; CHECK-NEXT: [[R:%.*]] = and i1 [[NOT_NULL]], [[NO_UNDERFLOW]]
772772; CHECK-NEXT: ret i1 [[R]]
0 commit comments