@@ -271,9 +271,10 @@ define void @ne_nsw_pos_step(ptr nocapture %A, i32 %n, i32 %s) mustprogress {
271
271
;
272
272
; CHECK-LABEL: 'ne_nsw_pos_step'
273
273
; 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
277
278
;
278
279
entry:
279
280
%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 {
299
300
;
300
301
; CHECK-LABEL: 'ne_nsw_neg_step'
301
302
; 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
305
307
;
306
308
entry:
307
309
%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 {
327
329
;
328
330
; CHECK-LABEL: 'ne_nsw_nonneg_step'
329
331
; 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
333
336
;
334
337
entry:
335
338
%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 {
381
384
;
382
385
; CHECK-LABEL: 'ne_nuw_pos_step'
383
386
; 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
387
391
;
388
392
entry:
389
393
%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 {
409
413
;
410
414
; CHECK-LABEL: 'ne_nuw_neg_step'
411
415
; 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
415
420
;
416
421
entry:
417
422
%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 {
437
442
;
438
443
; CHECK-LABEL: 'ne_nuw_nonneg_step'
439
444
; 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
443
449
;
444
450
entry:
445
451
%nonneg_step = icmp sge i32 %s , 0
0 commit comments