@@ -602,7 +602,7 @@ define void @step_is_neg_addrec_slt_8(i64 %n) {
602
602
; CHECK-LABEL: 'step_is_neg_addrec_slt_8'
603
603
; CHECK-NEXT: Determining loop execution counts for: @step_is_neg_addrec_slt_8
604
604
; CHECK-NEXT: Loop %inner: backedge-taken count is (7 /u {0,+,-1}<nuw><nsw><%outer.header>)
605
- ; CHECK-NEXT: Loop %inner: constant max backedge-taken count is -2147483640
605
+ ; CHECK-NEXT: Loop %inner: constant max backedge-taken count is 8
606
606
; CHECK-NEXT: Loop %inner: symbolic max backedge-taken count is (7 /u {0,+,-1}<nuw><nsw><%outer.header>)
607
607
; CHECK-NEXT: Loop %inner: Predicated backedge-taken count is (7 /u {0,+,-1}<nuw><nsw><%outer.header>)
608
608
; CHECK-NEXT: Predicates:
@@ -643,10 +643,10 @@ exit:
643
643
define void @step_is_neg_addrec_slt_var (i32 %n ) {
644
644
; CHECK-LABEL: 'step_is_neg_addrec_slt_var'
645
645
; CHECK-NEXT: Determining loop execution counts for: @step_is_neg_addrec_slt_var
646
- ; CHECK-NEXT: Loop %inner: backedge-taken count is ((((-1 * (1 umin ( {0,+,1}<nuw><%outer.header> + ({0,+,-1}<nuw>< nsw><%outer.header> smax %n))))<nuw><nsw> + {0,+,1}<nuw><%outer.header> + ({0,+,-1}<nuw>< nsw><%outer.header> smax %n)) /u (1 umax {0,+,-1}<nuw><nsw><%outer.header>)) + (1 umin ({0,+,1}<nuw><%outer.header> + ({0,+,-1}<nuw><nsw><%outer.header> smax %n)) ))
647
- ; CHECK-NEXT: Loop %inner: constant max backedge-taken count is -1
648
- ; CHECK-NEXT: Loop %inner: symbolic max backedge-taken count is ((((-1 * (1 umin ( {0,+,1}<nuw><%outer.header> + ({0,+,-1}<nuw>< nsw><%outer.header> smax %n))))<nuw><nsw> + {0,+,1}<nuw><%outer.header> + ({0,+,-1}<nuw>< nsw><%outer.header> smax %n)) /u (1 umax {0,+,-1}<nuw><nsw><%outer.header>)) + (1 umin ({0,+,1}<nuw><%outer.header> + ({0,+,-1}<nuw><nsw><%outer.header> smax %n)) ))
649
- ; CHECK-NEXT: Loop %inner: Predicated backedge-taken count is ((((-1 * (1 umin ( {0,+,1}<nuw><%outer.header> + ({0,+,-1}<nuw>< nsw><%outer.header> smax %n))))<nuw><nsw> + {0,+,1}<nuw><%outer.header> + ({0,+,-1}<nuw>< nsw><%outer.header> smax %n)) /u (1 umax {0,+,-1}<nuw><nsw><%outer.header>)) + (1 umin ({0,+,1}<nuw><%outer.header> + ({0,+,-1}<nuw><nsw><%outer.header> smax %n)) ))
646
+ ; CHECK-NEXT: Loop %inner: backedge-taken count is ({0,+,1}<nuw><nsw><%outer.header> + ({0,+,-1}<nsw><%outer.header> smax %n))
647
+ ; CHECK-NEXT: Loop %inner: constant max backedge-taken count is 2147483647
648
+ ; CHECK-NEXT: Loop %inner: symbolic max backedge-taken count is ({0,+,1}<nuw><nsw><%outer.header> + ({0,+,-1}<nsw><%outer.header> smax %n))
649
+ ; CHECK-NEXT: Loop %inner: Predicated backedge-taken count is ({0,+,1}<nuw><nsw><%outer.header> + ({0,+,-1}<nsw><%outer.header> smax %n))
650
650
; CHECK-NEXT: Predicates:
651
651
; CHECK: Loop %inner: Trip multiple is 1
652
652
; CHECK-NEXT: Loop %outer.header: backedge-taken count is 0
@@ -685,10 +685,10 @@ exit:
685
685
define void @step_is_neg_addrec_unknown_start (i32 %n ) {
686
686
; CHECK-LABEL: 'step_is_neg_addrec_unknown_start'
687
687
; CHECK-NEXT: Determining loop execution counts for: @step_is_neg_addrec_unknown_start
688
- ; CHECK-NEXT: Loop %inner: backedge-taken count is ((((-1 * (1 umin ( {(-1 * %n),+,1}<nw><%outer.header> + (8 smax {%n,+,-1}<nuw>< nsw><%outer.header>))))<nuw><nsw> + {(-1 * %n),+,1}<nw><%outer.header> + (8 smax {%n,+,-1}<nuw><nsw><%outer.header>)) /u (1 umax {0,+,-1}<%outer.header>)) + (1 umin ({(-1 * %n),+,1}<nw><%outer.header> + (8 smax {%n,+,-1}<nuw><nsw><%outer.header>)) ))
688
+ ; CHECK-NEXT: Loop %inner: backedge-taken count is ({(-1 * %n),+,1}<nw><%outer.header> + (8 smax {%n,+,-1}<nsw><%outer.header>))
689
689
; CHECK-NEXT: Loop %inner: constant max backedge-taken count is -2147483640
690
- ; CHECK-NEXT: Loop %inner: symbolic max backedge-taken count is ((((-1 * (1 umin ( {(-1 * %n),+,1}<nw><%outer.header> + (8 smax {%n,+,-1}<nuw>< nsw><%outer.header>))))<nuw><nsw> + {(-1 * %n),+,1}<nw><%outer.header> + (8 smax {%n,+,-1}<nuw><nsw><%outer.header>)) /u (1 umax {0,+,-1}<%outer.header>)) + (1 umin ({(-1 * %n),+,1}<nw><%outer.header> + (8 smax {%n,+,-1}<nuw><nsw><%outer.header>)) ))
691
- ; CHECK-NEXT: Loop %inner: Predicated backedge-taken count is ((((-1 * (1 umin ( {(-1 * %n),+,1}<nw><%outer.header> + (8 smax {%n,+,-1}<nuw>< nsw><%outer.header>))))<nuw><nsw> + {(-1 * %n),+,1}<nw><%outer.header> + (8 smax {%n,+,-1}<nuw><nsw><%outer.header>)) /u (1 umax {0,+,-1}<%outer.header>)) + (1 umin ({(-1 * %n),+,1}<nw><%outer.header> + (8 smax {%n,+,-1}<nuw><nsw><%outer.header>)) ))
690
+ ; CHECK-NEXT: Loop %inner: symbolic max backedge-taken count is ({(-1 * %n),+,1}<nw><%outer.header> + (8 smax {%n,+,-1}<nsw><%outer.header>))
691
+ ; CHECK-NEXT: Loop %inner: Predicated backedge-taken count is ({(-1 * %n),+,1}<nw><%outer.header> + (8 smax {%n,+,-1}<nsw><%outer.header>))
692
692
; CHECK-NEXT: Predicates:
693
693
; CHECK: Loop %inner: Trip multiple is 1
694
694
; CHECK-NEXT: Loop %outer.header: backedge-taken count is 0
0 commit comments