@@ -271,9 +271,10 @@ define void @ne_nsw_pos_step(ptr nocapture %A, i32 %n, i32 %s) mustprogress {
271271;
272272; CHECK-LABEL: 'ne_nsw_pos_step'
273273; CHECK-NEXT: Determining loop execution counts for: @ne_nsw_pos_step
274- ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count.
275- ; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count.
276- ; CHECK-NEXT: Loop %for.body: Unpredictable symbolic max backedge-taken count.
274+ ; CHECK-NEXT: Loop %for.body: backedge-taken count is (((-1 * %s) + %n) /u %s)
275+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -1
276+ ; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (((-1 * %s) + %n) /u %s)
277+ ; CHECK-NEXT: Loop %for.body: Trip multiple is 1
277278;
278279entry:
279280 %pos_step = icmp sgt i32 %s , 0
@@ -299,9 +300,10 @@ define void @ne_nsw_neg_step(ptr nocapture %A, i32 %n, i32 %s) mustprogress {
299300;
300301; CHECK-LABEL: 'ne_nsw_neg_step'
301302; CHECK-NEXT: Determining loop execution counts for: @ne_nsw_neg_step
302- ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count.
303- ; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count.
304- ; CHECK-NEXT: Loop %for.body: Unpredictable symbolic max backedge-taken count.
303+ ; CHECK-NEXT: Loop %for.body: backedge-taken count is (((-1 * %n) + %s) /u (-1 * %s))
304+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -2
305+ ; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (((-1 * %n) + %s) /u (-1 * %s))
306+ ; CHECK-NEXT: Loop %for.body: Trip multiple is 1
305307;
306308entry:
307309 %neg_step = icmp slt i32 %s , 0
@@ -327,9 +329,10 @@ define void @ne_nsw_nonneg_step(ptr nocapture %A, i32 %n, i32 %s) mustprogress {
327329;
328330; CHECK-LABEL: 'ne_nsw_nonneg_step'
329331; CHECK-NEXT: Determining loop execution counts for: @ne_nsw_nonneg_step
330- ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count.
331- ; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count.
332- ; CHECK-NEXT: Loop %for.body: Unpredictable symbolic max backedge-taken count.
332+ ; CHECK-NEXT: Loop %for.body: backedge-taken count is (((-1 * %s) + %n) /u %s)
333+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -1
334+ ; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (((-1 * %s) + %n) /u %s)
335+ ; CHECK-NEXT: Loop %for.body: Trip multiple is 1
333336;
334337entry:
335338 %nonneg_step = icmp sge i32 %s , 0
@@ -381,9 +384,10 @@ define void @ne_nuw_pos_step(ptr nocapture %A, i32 %n, i32 %s) mustprogress {
381384;
382385; CHECK-LABEL: 'ne_nuw_pos_step'
383386; CHECK-NEXT: Determining loop execution counts for: @ne_nuw_pos_step
384- ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count.
385- ; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count.
386- ; CHECK-NEXT: Loop %for.body: Unpredictable symbolic max backedge-taken count.
387+ ; CHECK-NEXT: Loop %for.body: backedge-taken count is (((-1 * %s) + %n) /u %s)
388+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -1
389+ ; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (((-1 * %s) + %n) /u %s)
390+ ; CHECK-NEXT: Loop %for.body: Trip multiple is 1
387391;
388392entry:
389393 %pos_step = icmp sgt i32 %s , 0
@@ -409,9 +413,10 @@ define void @ne_nuw_neg_step(ptr nocapture %A, i32 %n, i32 %s) mustprogress {
409413;
410414; CHECK-LABEL: 'ne_nuw_neg_step'
411415; CHECK-NEXT: Determining loop execution counts for: @ne_nuw_neg_step
412- ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count.
413- ; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count.
414- ; CHECK-NEXT: Loop %for.body: Unpredictable symbolic max backedge-taken count.
416+ ; CHECK-NEXT: Loop %for.body: backedge-taken count is (((-1 * %n) + %s) /u (-1 * %s))
417+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -2
418+ ; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (((-1 * %n) + %s) /u (-1 * %s))
419+ ; CHECK-NEXT: Loop %for.body: Trip multiple is 1
415420;
416421entry:
417422 %neg_step = icmp slt i32 %s , 0
@@ -437,9 +442,10 @@ define void @ne_nuw_nonneg_step(ptr nocapture %A, i32 %n, i32 %s) mustprogress {
437442;
438443; CHECK-LABEL: 'ne_nuw_nonneg_step'
439444; CHECK-NEXT: Determining loop execution counts for: @ne_nuw_nonneg_step
440- ; CHECK-NEXT: Loop %for.body: Unpredictable backedge-taken count.
441- ; CHECK-NEXT: Loop %for.body: Unpredictable constant max backedge-taken count.
442- ; CHECK-NEXT: Loop %for.body: Unpredictable symbolic max backedge-taken count.
445+ ; CHECK-NEXT: Loop %for.body: backedge-taken count is (((-1 * %s) + %n) /u %s)
446+ ; CHECK-NEXT: Loop %for.body: constant max backedge-taken count is i32 -1
447+ ; CHECK-NEXT: Loop %for.body: symbolic max backedge-taken count is (((-1 * %s) + %n) /u %s)
448+ ; CHECK-NEXT: Loop %for.body: Trip multiple is 1
443449;
444450entry:
445451 %nonneg_step = icmp sge i32 %s , 0
0 commit comments