Skip to content

Commit 846a440

Browse files
committed
SCEV/test: use llvm.assume
1 parent 7db6ebf commit 846a440

File tree

1 file changed

+24
-24
lines changed

1 file changed

+24
-24
lines changed

llvm/test/Analysis/ScalarEvolution/implied-via-addition.ll

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ define void @implied1(i32 %n) {
77
; CHECK-LABEL: 'implied1'
88
; CHECK-NEXT: Determining loop execution counts for: @implied1
99
; CHECK-NEXT: Loop %header: backedge-taken count is (-2 + %n)
10-
; CHECK-NEXT: Loop %header: constant max backedge-taken count is i32 2147483646
10+
; CHECK-NEXT: Loop %header: constant max backedge-taken count is i32 2147483645
1111
; CHECK-NEXT: Loop %header: symbolic max backedge-taken count is (-2 + %n)
1212
; CHECK-NEXT: Loop %header: Trip multiple is 1
1313
;
1414
entry:
1515
%cmp1 = icmp sgt i32 %n, 1
1616
%n.minus.1 = sub nsw i32 %n, 1
17-
call void(i1, ...) @llvm.experimental.guard(i1 %cmp1) [ "deopt"() ]
17+
call void @llvm.assume(i1 %cmp1)
1818
br label %header
1919

2020
header:
@@ -31,15 +31,15 @@ define void @implied1_neg(i32 %n) {
3131
; Prove that (n > 0) =\=> (n - 1 > 0).
3232
; CHECK-LABEL: 'implied1_neg'
3333
; CHECK-NEXT: Determining loop execution counts for: @implied1_neg
34-
; CHECK-NEXT: Loop %header: backedge-taken count is (-1 + (1 smax (-1 + %n)))<nsw>
35-
; CHECK-NEXT: Loop %header: constant max backedge-taken count is i32 2147483646
36-
; CHECK-NEXT: Loop %header: symbolic max backedge-taken count is (-1 + (1 smax (-1 + %n)))<nsw>
34+
; CHECK-NEXT: Loop %header: backedge-taken count is (-1 + (1 smax (-1 + %n)<nsw>))<nsw>
35+
; CHECK-NEXT: Loop %header: constant max backedge-taken count is i32 2147483645
36+
; CHECK-NEXT: Loop %header: symbolic max backedge-taken count is (-1 + (1 smax (-1 + %n)<nsw>))<nsw>
3737
; CHECK-NEXT: Loop %header: Trip multiple is 1
3838
;
3939
entry:
4040
%cmp1 = icmp sgt i32 %n, 0
4141
%n.minus.1 = sub nsw i32 %n, 1
42-
call void(i1, ...) @llvm.experimental.guard(i1 %cmp1) [ "deopt"() ]
42+
call void @llvm.assume(i1 %cmp1)
4343
br label %header
4444

4545
header:
@@ -56,15 +56,23 @@ define void @implied2(i32 %n) {
5656
; Prove that (n >= -1) ===> (n + 1 >= 0).
5757
; CHECK-LABEL: 'implied2'
5858
; CHECK-NEXT: Determining loop execution counts for: @implied2
59-
; CHECK-NEXT: Loop %header: backedge-taken count is (zext i32 (1 + %n) to i64)
60-
; CHECK-NEXT: Loop %header: constant max backedge-taken count is i64 4294967295
61-
; CHECK-NEXT: Loop %header: symbolic max backedge-taken count is (zext i32 (1 + %n) to i64)
62-
; CHECK-NEXT: Loop %header: Trip multiple is 1
59+
; CHECK-NEXT: Loop %header: Unpredictable backedge-taken count.
60+
; CHECK-NEXT: Loop %header: Unpredictable constant max backedge-taken count.
61+
; CHECK-NEXT: Loop %header: Unpredictable symbolic max backedge-taken count.
62+
; CHECK-NEXT: Loop %header: Predicated backedge-taken count is (1 + (zext i32 %n to i64))<nuw><nsw>
63+
; CHECK-NEXT: Predicates:
64+
; CHECK-NEXT: {1,+,1}<%header> Added Flags: <nusw>
65+
; CHECK-NEXT: Loop %header: Predicated constant max backedge-taken count is i64 4294967296
66+
; CHECK-NEXT: Predicates:
67+
; CHECK-NEXT: {1,+,1}<%header> Added Flags: <nusw>
68+
; CHECK-NEXT: Loop %header: Predicated symbolic max backedge-taken count is (1 + (zext i32 %n to i64))<nuw><nsw>
69+
; CHECK-NEXT: Predicates:
70+
; CHECK-NEXT: {1,+,1}<%header> Added Flags: <nusw>
6371
;
6472
entry:
6573
%cmp1 = icmp uge i32 %n, -1
6674
%n.1 = add nuw i32 %n, 1
67-
call void(i1, ...) @llvm.experimental.guard(i1 %cmp1) [ "deopt"() ]
75+
call void @llvm.assume(i1 %cmp1)
6876
br label %header
6977

7078
header:
@@ -81,23 +89,15 @@ define void @implied2_neg(i32 %n) {
8189
; Prove that (n >= -1) =\=> (n - 1 >= 0).
8290
; CHECK-LABEL: 'implied2_neg'
8391
; CHECK-NEXT: Determining loop execution counts for: @implied2_neg
84-
; CHECK-NEXT: Loop %header: Unpredictable backedge-taken count.
85-
; CHECK-NEXT: Loop %header: Unpredictable constant max backedge-taken count.
86-
; CHECK-NEXT: Loop %header: Unpredictable symbolic max backedge-taken count.
87-
; CHECK-NEXT: Loop %header: Predicated backedge-taken count is (-1 + (1 smax (1 + (sext i32 (-1 + %n) to i64))<nsw>))<nsw>
88-
; CHECK-NEXT: Predicates:
89-
; CHECK-NEXT: {1,+,1}<%header> Added Flags: <nssw>
90-
; CHECK-NEXT: Loop %header: Predicated constant max backedge-taken count is i64 2147483647
91-
; CHECK-NEXT: Predicates:
92-
; CHECK-NEXT: {1,+,1}<%header> Added Flags: <nssw>
93-
; CHECK-NEXT: Loop %header: Predicated symbolic max backedge-taken count is (-1 + (1 smax (1 + (sext i32 (-1 + %n) to i64))<nsw>))<nsw>
94-
; CHECK-NEXT: Predicates:
95-
; CHECK-NEXT: {1,+,1}<%header> Added Flags: <nssw>
92+
; CHECK-NEXT: Loop %header: backedge-taken count is (-1 + (1 smax %n))<nsw>
93+
; CHECK-NEXT: Loop %header: constant max backedge-taken count is i32 2147483646
94+
; CHECK-NEXT: Loop %header: symbolic max backedge-taken count is (-1 + (1 smax %n))<nsw>
95+
; CHECK-NEXT: Loop %header: Trip multiple is 1
9696
;
9797
entry:
9898
%cmp1 = icmp uge i32 %n, -1
9999
%n.minus.1 = sub nuw nsw i32 %n, 1
100-
call void(i1, ...) @llvm.experimental.guard(i1 %cmp1) [ "deopt"() ]
100+
call void @llvm.assume(i1 %cmp1)
101101
br label %header
102102

103103
header:

0 commit comments

Comments
 (0)