@@ -16,7 +16,7 @@ define dso_local i32 @f() {
16
16
; CHECK-LABEL: 'f'
17
17
; CHECK-NEXT: Classifying expressions for: @f
18
18
; CHECK-NEXT: %storemerge23 = phi i32 [ 3, %entry ], [ %dec16, %for.inc13.3 ]
19
- ; CHECK-NEXT: --> {3,+,-1}<nsw><%outer.loop> U: [-2147483648 ,4) S: [-2147483648 ,4) Exits: 3 LoopDispositions: { %outer.loop: Computable, %for.cond6: Invariant, %inner.loop: Invariant }
19
+ ; CHECK-NEXT: --> {3,+,-1}<nsw><%outer.loop> U: [1 ,4) S: [1 ,4) Exits: <<Unknown>> LoopDispositions: { %outer.loop: Computable, %for.cond6: Invariant, %inner.loop: Invariant }
20
20
; CHECK-NEXT: %storemerge1921 = phi i32 [ 3, %outer.loop ], [ %dec, %for.end ]
21
21
; CHECK-NEXT: --> {3,+,-1}<nuw><nsw><%for.cond6> U: [3,4) S: [3,4) Exits: <<Unknown>> LoopDispositions: { %for.cond6: Computable, %outer.loop: Variant }
22
22
; CHECK-NEXT: %idxprom20 = zext i32 %storemerge1921 to i64
@@ -56,7 +56,7 @@ define dso_local i32 @f() {
56
56
; CHECK-NEXT: %storemerge1921.lcssa25.3 = phi i32 [ %storemerge1921.3, %for.end.3 ]
57
57
; CHECK-NEXT: --> %storemerge1921.lcssa25.3 U: [3,4) S: [3,4) Exits: <<Unknown>> LoopDispositions: { %outer.loop: Variant, %for.cond6: Invariant, %inner.loop: Invariant }
58
58
; CHECK-NEXT: %dec16 = add nsw i32 %storemerge23, -1
59
- ; CHECK-NEXT: --> {2,+,-1}<nw ><%outer.loop> U: full-set S: full-set Exits: 2 LoopDispositions: { %outer.loop: Computable, %for.cond6: Invariant, %inner.loop: Invariant }
59
+ ; CHECK-NEXT: --> {2,+,-1}<nsw ><%outer.loop> U: [0,3) S: [0,3) Exits: <<Unknown>> LoopDispositions: { %outer.loop: Computable, %for.cond6: Invariant, %inner.loop: Invariant }
60
60
; CHECK-NEXT: Determining loop execution counts for: @f
61
61
; CHECK-NEXT: Loop %for.cond6: <multiple exits> Unpredictable backedge-taken count.
62
62
; CHECK-NEXT: exit count for for.cond6: 0
@@ -68,14 +68,12 @@ define dso_local i32 @f() {
68
68
; CHECK-NEXT: exit count for for.end.3: ***COULDNOTCOMPUTE***
69
69
; CHECK-NEXT: Loop %inner.loop: max backedge-taken count is 0
70
70
; CHECK-NEXT: Loop %inner.loop: Unpredictable predicated backedge-taken count.
71
- ; CHECK-NEXT: Loop %outer.loop: <multiple exits> backedge-taken count is 0
72
- ; CHECK-NEXT: exit count for for.cond6: 0
73
- ; CHECK-NEXT: exit count for inner.loop: 0
71
+ ; CHECK-NEXT: Loop %outer.loop: <multiple exits> Unpredictable backedge-taken count.
72
+ ; CHECK-NEXT: exit count for for.cond6: ***COULDNOTCOMPUTE***
73
+ ; CHECK-NEXT: exit count for inner.loop: ***COULDNOTCOMPUTE***
74
74
; CHECK-NEXT: exit count for for.inc13.3: 2
75
- ; CHECK-NEXT: Loop %outer.loop: max backedge-taken count is 0
76
- ; CHECK-NEXT: Loop %outer.loop: Predicated backedge-taken count is 0
77
- ; CHECK-NEXT: Predicates:
78
- ; CHECK: Loop %outer.loop: Trip multiple is 0
75
+ ; CHECK-NEXT: Loop %outer.loop: max backedge-taken count is 2
76
+ ; CHECK-NEXT: Loop %outer.loop: Unpredictable predicated backedge-taken count.
79
77
;
80
78
entry:
81
79
store i32 3 , i32* @a , align 4
0 commit comments