@@ -14,7 +14,7 @@ define void @test_trip_multiple_4(i32 %num) {
1414; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,-2147483648) S: [1,-2147483648) Exits: %num LoopDispositions: { %for.body: Computable }
1515; CHECK-NEXT: Determining loop execution counts for: @test_trip_multiple_4
1616; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + %num)
17- ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -2
17+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -5
1818; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (-1 + %num)
1919; CHECK-NEXT: Loop %for.body: Trip multiple is 4
2020;
@@ -47,7 +47,7 @@ define void @test_trip_multiple_4_guard(i32 %num) {
4747; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,-2147483648) S: [1,-2147483648) Exits: %num LoopDispositions: { %for.body: Computable }
4848; CHECK-NEXT: Determining loop execution counts for: @test_trip_multiple_4_guard
4949; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + %num)
50- ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -2
50+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -5
5151; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (-1 + %num)
5252; CHECK-NEXT: Loop %for.body: Trip multiple is 4
5353;
@@ -81,7 +81,7 @@ define void @test_trip_multiple_4_ugt_5(i32 %num) {
8181; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,-2147483648) S: [1,-2147483648) Exits: %num LoopDispositions: { %for.body: Computable }
8282; CHECK-NEXT: Determining loop execution counts for: @test_trip_multiple_4_ugt_5
8383; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + %num)
84- ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -2
84+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -5
8585; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (-1 + %num)
8686; CHECK-NEXT: Loop %for.body: Trip multiple is 4
8787;
@@ -115,7 +115,7 @@ define void @test_trip_multiple_4_ugt_5_order_swapped(i32 %num) {
115115; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,-2147483648) S: [1,-2147483648) Exits: %num LoopDispositions: { %for.body: Computable }
116116; CHECK-NEXT: Determining loop execution counts for: @test_trip_multiple_4_ugt_5_order_swapped
117117; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + %num)
118- ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -2
118+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -5
119119; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (-1 + %num)
120120; CHECK-NEXT: Loop %for.body: Trip multiple is 4
121121;
@@ -143,12 +143,12 @@ define void @test_trip_multiple_4_sgt_5(i32 %num) {
143143; CHECK-NEXT: %u = urem i32 %num, 4
144144; CHECK-NEXT: --> (zext i2 (trunc i32 %num to i2) to i32) U: [0,4) S: [0,4)
145145; CHECK-NEXT: %i.010 = phi i32 [ 0, %entry ], [ %inc, %for.body ]
146- ; CHECK-NEXT: --> {0,+,1}<nuw><nsw><%for.body> U: [0,2147483647 ) S: [0,2147483647 ) Exits: (-1 + %num) LoopDispositions: { %for.body: Computable }
146+ ; CHECK-NEXT: --> {0,+,1}<nuw><nsw><%for.body> U: [0,2147483644 ) S: [0,2147483644 ) Exits: (-1 + %num) LoopDispositions: { %for.body: Computable }
147147; CHECK-NEXT: %inc = add nuw nsw i32 %i.010, 1
148- ; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,-2147483648 ) S: [1,-2147483648 ) Exits: %num LoopDispositions: { %for.body: Computable }
148+ ; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,2147483645 ) S: [1,2147483645 ) Exits: %num LoopDispositions: { %for.body: Computable }
149149; CHECK-NEXT: Determining loop execution counts for: @test_trip_multiple_4_sgt_5
150150; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + %num)
151- ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 2147483646
151+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 2147483643
152152; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (-1 + %num)
153153; CHECK-NEXT: Loop %for.body: Trip multiple is 4
154154;
@@ -177,12 +177,12 @@ define void @test_trip_multiple_4_sgt_5_order_swapped(i32 %num) {
177177; CHECK-NEXT: %u = urem i32 %num, 4
178178; CHECK-NEXT: --> (zext i2 (trunc i32 %num to i2) to i32) U: [0,4) S: [0,4)
179179; CHECK-NEXT: %i.010 = phi i32 [ 0, %entry ], [ %inc, %for.body ]
180- ; CHECK-NEXT: --> {0,+,1}<nuw><nsw><%for.body> U: [0,2147483647 ) S: [0,2147483647 ) Exits: (-1 + %num) LoopDispositions: { %for.body: Computable }
180+ ; CHECK-NEXT: --> {0,+,1}<nuw><nsw><%for.body> U: [0,2147483644 ) S: [0,2147483644 ) Exits: (-1 + %num) LoopDispositions: { %for.body: Computable }
181181; CHECK-NEXT: %inc = add nuw nsw i32 %i.010, 1
182- ; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,-2147483648 ) S: [1,-2147483648 ) Exits: %num LoopDispositions: { %for.body: Computable }
182+ ; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,2147483645 ) S: [1,2147483645 ) Exits: %num LoopDispositions: { %for.body: Computable }
183183; CHECK-NEXT: Determining loop execution counts for: @test_trip_multiple_4_sgt_5_order_swapped
184184; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + %num)
185- ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 2147483646
185+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 2147483643
186186; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (-1 + %num)
187187; CHECK-NEXT: Loop %for.body: Trip multiple is 4
188188;
@@ -215,7 +215,7 @@ define void @test_trip_multiple_4_uge_5(i32 %num) {
215215; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,-2147483648) S: [1,-2147483648) Exits: %num LoopDispositions: { %for.body: Computable }
216216; CHECK-NEXT: Determining loop execution counts for: @test_trip_multiple_4_uge_5
217217; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + %num)
218- ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -2
218+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -5
219219; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (-1 + %num)
220220; CHECK-NEXT: Loop %for.body: Trip multiple is 4
221221;
@@ -249,7 +249,7 @@ define void @test_trip_multiple_4_uge_5_order_swapped(i32 %num) {
249249; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,-2147483648) S: [1,-2147483648) Exits: %num LoopDispositions: { %for.body: Computable }
250250; CHECK-NEXT: Determining loop execution counts for: @test_trip_multiple_4_uge_5_order_swapped
251251; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + %num)
252- ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -2
252+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -5
253253; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (-1 + %num)
254254; CHECK-NEXT: Loop %for.body: Trip multiple is 4
255255;
@@ -278,12 +278,12 @@ define void @test_trip_multiple_4_sge_5(i32 %num) {
278278; CHECK-NEXT: %u = urem i32 %num, 4
279279; CHECK-NEXT: --> (zext i2 (trunc i32 %num to i2) to i32) U: [0,4) S: [0,4)
280280; CHECK-NEXT: %i.010 = phi i32 [ 0, %entry ], [ %inc, %for.body ]
281- ; CHECK-NEXT: --> {0,+,1}<nuw><nsw><%for.body> U: [0,2147483647 ) S: [0,2147483647 ) Exits: (-1 + %num) LoopDispositions: { %for.body: Computable }
281+ ; CHECK-NEXT: --> {0,+,1}<nuw><nsw><%for.body> U: [0,2147483644 ) S: [0,2147483644 ) Exits: (-1 + %num) LoopDispositions: { %for.body: Computable }
282282; CHECK-NEXT: %inc = add nuw nsw i32 %i.010, 1
283- ; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,-2147483648 ) S: [1,-2147483648 ) Exits: %num LoopDispositions: { %for.body: Computable }
283+ ; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,2147483645 ) S: [1,2147483645 ) Exits: %num LoopDispositions: { %for.body: Computable }
284284; CHECK-NEXT: Determining loop execution counts for: @test_trip_multiple_4_sge_5
285285; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + %num)
286- ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 2147483646
286+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 2147483643
287287; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (-1 + %num)
288288; CHECK-NEXT: Loop %for.body: Trip multiple is 4
289289;
@@ -311,12 +311,12 @@ define void @test_trip_multiple_4_sge_5_order_swapped(i32 %num) {
311311; CHECK-NEXT: %u = urem i32 %num, 4
312312; CHECK-NEXT: --> (zext i2 (trunc i32 %num to i2) to i32) U: [0,4) S: [0,4)
313313; CHECK-NEXT: %i.010 = phi i32 [ 0, %entry ], [ %inc, %for.body ]
314- ; CHECK-NEXT: --> {0,+,1}<nuw><nsw><%for.body> U: [0,2147483647 ) S: [0,2147483647 ) Exits: (-1 + %num) LoopDispositions: { %for.body: Computable }
314+ ; CHECK-NEXT: --> {0,+,1}<nuw><nsw><%for.body> U: [0,2147483644 ) S: [0,2147483644 ) Exits: (-1 + %num) LoopDispositions: { %for.body: Computable }
315315; CHECK-NEXT: %inc = add nuw nsw i32 %i.010, 1
316- ; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,-2147483648 ) S: [1,-2147483648 ) Exits: %num LoopDispositions: { %for.body: Computable }
316+ ; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,2147483645 ) S: [1,2147483645 ) Exits: %num LoopDispositions: { %for.body: Computable }
317317; CHECK-NEXT: Determining loop execution counts for: @test_trip_multiple_4_sge_5_order_swapped
318318; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + %num)
319- ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 2147483646
319+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 2147483643
320320; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (-1 + %num)
321321; CHECK-NEXT: Loop %for.body: Trip multiple is 4
322322;
@@ -350,7 +350,7 @@ define void @test_trip_multiple_4_icmp_ops_swapped(i32 %num) {
350350; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,-2147483648) S: [1,-2147483648) Exits: %num LoopDispositions: { %for.body: Computable }
351351; CHECK-NEXT: Determining loop execution counts for: @test_trip_multiple_4_icmp_ops_swapped
352352; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + %num)
353- ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -2
353+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -5
354354; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (-1 + %num)
355355; CHECK-NEXT: Loop %for.body: Trip multiple is 4
356356;
@@ -378,12 +378,12 @@ define void @test_trip_multiple_4_upper_lower_bounds(i32 %num) {
378378; CHECK-NEXT: %u = urem i32 %num, 4
379379; CHECK-NEXT: --> (zext i2 (trunc i32 %num to i2) to i32) U: [0,4) S: [0,4)
380380; CHECK-NEXT: %i.010 = phi i32 [ 0, %entry ], [ %inc, %for.body ]
381- ; CHECK-NEXT: --> {0,+,1}<nuw><nsw><%for.body> U: [0,-2147483648 ) S: [0,-2147483648 ) Exits: (-1 + %num) LoopDispositions: { %for.body: Computable }
381+ ; CHECK-NEXT: --> {0,+,1}<nuw><nsw><%for.body> U: [0,58996 ) S: [0,58996 ) Exits: (-1 + %num) LoopDispositions: { %for.body: Computable }
382382; CHECK-NEXT: %inc = add nuw nsw i32 %i.010, 1
383- ; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,-2147483648 ) S: [1,-2147483648 ) Exits: %num LoopDispositions: { %for.body: Computable }
383+ ; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,58997 ) S: [1,58997 ) Exits: %num LoopDispositions: { %for.body: Computable }
384384; CHECK-NEXT: Determining loop execution counts for: @test_trip_multiple_4_upper_lower_bounds
385385; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + %num)
386- ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -2
386+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 58995
387387; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (-1 + %num)
388388; CHECK-NEXT: Loop %for.body: Trip multiple is 4
389389;
@@ -413,12 +413,12 @@ define void @test_trip_multiple_4_upper_lower_bounds_swapped1(i32 %num) {
413413; CHECK-NEXT: %u = urem i32 %num, 4
414414; CHECK-NEXT: --> (zext i2 (trunc i32 %num to i2) to i32) U: [0,4) S: [0,4)
415415; CHECK-NEXT: %i.010 = phi i32 [ 0, %entry ], [ %inc, %for.body ]
416- ; CHECK-NEXT: --> {0,+,1}<nuw><nsw><%for.body> U: [0,-2147483648 ) S: [0,-2147483648 ) Exits: (-1 + %num) LoopDispositions: { %for.body: Computable }
416+ ; CHECK-NEXT: --> {0,+,1}<nuw><nsw><%for.body> U: [0,58996 ) S: [0,58996 ) Exits: (-1 + %num) LoopDispositions: { %for.body: Computable }
417417; CHECK-NEXT: %inc = add nuw nsw i32 %i.010, 1
418- ; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,-2147483648 ) S: [1,-2147483648 ) Exits: %num LoopDispositions: { %for.body: Computable }
418+ ; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,58997 ) S: [1,58997 ) Exits: %num LoopDispositions: { %for.body: Computable }
419419; CHECK-NEXT: Determining loop execution counts for: @test_trip_multiple_4_upper_lower_bounds_swapped1
420420; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + %num)
421- ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -2
421+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 58995
422422; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (-1 + %num)
423423; CHECK-NEXT: Loop %for.body: Trip multiple is 4
424424;
@@ -448,12 +448,12 @@ define void @test_trip_multiple_4_upper_lower_bounds_swapped2(i32 %num) {
448448; CHECK-NEXT: %u = urem i32 %num, 4
449449; CHECK-NEXT: --> (zext i2 (trunc i32 %num to i2) to i32) U: [0,4) S: [0,4)
450450; CHECK-NEXT: %i.010 = phi i32 [ 0, %entry ], [ %inc, %for.body ]
451- ; CHECK-NEXT: --> {0,+,1}<nuw><nsw><%for.body> U: [0,-2147483648 ) S: [0,-2147483648 ) Exits: (-1 + %num) LoopDispositions: { %for.body: Computable }
451+ ; CHECK-NEXT: --> {0,+,1}<nuw><nsw><%for.body> U: [0,58996 ) S: [0,58996 ) Exits: (-1 + %num) LoopDispositions: { %for.body: Computable }
452452; CHECK-NEXT: %inc = add nuw nsw i32 %i.010, 1
453- ; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,-2147483648 ) S: [1,-2147483648 ) Exits: %num LoopDispositions: { %for.body: Computable }
453+ ; CHECK-NEXT: --> {1,+,1}<nuw><nsw><%for.body> U: [1,58997 ) S: [1,58997 ) Exits: %num LoopDispositions: { %for.body: Computable }
454454; CHECK-NEXT: Determining loop execution counts for: @test_trip_multiple_4_upper_lower_bounds_swapped2
455455; CHECK-NEXT: Loop %for.body: backedge-taken count is (-1 + %num)
456- ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -2
456+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 58995
457457; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (-1 + %num)
458458; CHECK-NEXT: Loop %for.body: Trip multiple is 4
459459;
0 commit comments