Skip to content

Commit 5c3ddf9

Browse files
committed
[ConstraintElim] Fix pre-commit tests in #82357. NFC.
1 parent 770fd38 commit 5c3ddf9

File tree

1 file changed

+54
-20
lines changed
  • llvm/test/Transforms/ConstraintElimination

1 file changed

+54
-20
lines changed

llvm/test/Transforms/ConstraintElimination/sext.ll

Lines changed: 54 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -31,64 +31,68 @@ else:
3131
ret i1 false
3232
}
3333

34-
define i1 @cmp_sext_positive_increment(i32 %a, i32 %b, i64 %c){
35-
; CHECK-LABEL: define i1 @cmp_sext_positive_increment(
36-
; CHECK-SAME: i32 [[A:%.*]], i32 [[B:%.*]], i64 [[C:%.*]]) {
34+
define i1 @cmp_sext_add(i32 %a, i32 %b){
35+
; CHECK-LABEL: define i1 @cmp_sext_add(
36+
; CHECK-SAME: i32 [[A:%.*]], i32 [[B:%.*]]) {
3737
; CHECK-NEXT: entry:
38-
; CHECK-NEXT: [[POS:%.*]] = icmp sgt i64 [[C]], 0
39-
; CHECK-NEXT: call void @llvm.assume(i1 [[POS]])
4038
; CHECK-NEXT: [[CMP:%.*]] = icmp slt i32 [[A]], [[B]]
4139
; CHECK-NEXT: br i1 [[CMP]], label [[THEN:%.*]], label [[ELSE:%.*]]
4240
; CHECK: then:
43-
; CHECK-NEXT: [[SA:%.*]] = sext i32 [[A]] to i64
44-
; CHECK-NEXT: [[SB:%.*]] = sext i32 [[B]] to i64
45-
; CHECK-NEXT: [[ADD:%.*]] = add nsw i64 [[SA]], [[C]]
41+
; CHECK-NEXT: [[A1:%.*]] = add nsw i32 [[A]], 1
42+
; CHECK-NEXT: [[B1:%.*]] = add nsw i32 [[B]], 1
43+
; CHECK-NEXT: [[SA:%.*]] = sext i32 [[A1]] to i64
44+
; CHECK-NEXT: [[SB:%.*]] = sext i32 [[B1]] to i64
45+
; CHECK-NEXT: [[ADD:%.*]] = add nsw i64 [[SA]], 1
4646
; CHECK-NEXT: [[CMP2:%.*]] = icmp sge i64 [[SB]], [[ADD]]
4747
; CHECK-NEXT: ret i1 [[CMP2]]
4848
; CHECK: else:
4949
; CHECK-NEXT: ret i1 false
5050
;
5151
entry:
52-
%pos = icmp sgt i64 %c, 0
53-
call void @llvm.assume(i1 %pos)
5452
%cmp = icmp slt i32 %a, %b
5553
br i1 %cmp, label %then, label %else
5654

5755
then:
58-
%sa = sext i32 %a to i64
59-
%sb = sext i32 %b to i64
60-
%add = add nsw i64 %sa, %c
56+
%a1 = add nsw i32 %a, 1
57+
%b1 = add nsw i32 %b, 1
58+
%sa = sext i32 %a1 to i64
59+
%sb = sext i32 %b1 to i64
60+
%add = add nsw i64 %sa, 1
6161
%cmp2 = icmp sge i64 %sb, %add
6262
ret i1 %cmp2
6363

6464
else:
6565
ret i1 false
6666
}
6767

68-
define i1 @cmp_sext_sgt(i32 %a, i32 %b){
69-
; CHECK-LABEL: define i1 @cmp_sext_sgt(
70-
; CHECK-SAME: i32 [[A:%.*]], i32 [[B:%.*]]) {
68+
define i1 @cmp_sext_dynamic_increment(i32 %a, i32 %b, i64 %c){
69+
; CHECK-LABEL: define i1 @cmp_sext_dynamic_increment(
70+
; CHECK-SAME: i32 [[A:%.*]], i32 [[B:%.*]], i64 [[C:%.*]]) {
7171
; CHECK-NEXT: entry:
72+
; CHECK-NEXT: [[POS:%.*]] = icmp slt i64 [[C]], 2
73+
; CHECK-NEXT: call void @llvm.assume(i1 [[POS]])
7274
; CHECK-NEXT: [[CMP:%.*]] = icmp slt i32 [[A]], [[B]]
7375
; CHECK-NEXT: br i1 [[CMP]], label [[THEN:%.*]], label [[ELSE:%.*]]
7476
; CHECK: then:
7577
; CHECK-NEXT: [[SA:%.*]] = sext i32 [[A]] to i64
7678
; CHECK-NEXT: [[SB:%.*]] = sext i32 [[B]] to i64
77-
; CHECK-NEXT: [[ADD:%.*]] = add nsw i64 [[SA]], 1
78-
; CHECK-NEXT: [[CMP2:%.*]] = icmp sgt i64 [[SB]], [[ADD]]
79+
; CHECK-NEXT: [[ADD:%.*]] = add nsw i64 [[SA]], [[C]]
80+
; CHECK-NEXT: [[CMP2:%.*]] = icmp sge i64 [[SB]], [[ADD]]
7981
; CHECK-NEXT: ret i1 [[CMP2]]
8082
; CHECK: else:
8183
; CHECK-NEXT: ret i1 false
8284
;
8385
entry:
86+
%pos = icmp slt i64 %c, 2
87+
call void @llvm.assume(i1 %pos)
8488
%cmp = icmp slt i32 %a, %b
8589
br i1 %cmp, label %then, label %else
8690

8791
then:
8892
%sa = sext i32 %a to i64
8993
%sb = sext i32 %b to i64
90-
%add = add nsw i64 %sa, 1
91-
%cmp2 = icmp sgt i64 %sb, %add
94+
%add = add nsw i64 %sa, %c
95+
%cmp2 = icmp sge i64 %sb, %add
9296
ret i1 %cmp2
9397

9498
else:
@@ -216,3 +220,33 @@ then:
216220
else:
217221
ret i1 false
218222
}
223+
224+
define i1 @cmp_sext_sgt(i32 %a, i32 %b){
225+
; CHECK-LABEL: define i1 @cmp_sext_sgt(
226+
; CHECK-SAME: i32 [[A:%.*]], i32 [[B:%.*]]) {
227+
; CHECK-NEXT: entry:
228+
; CHECK-NEXT: [[CMP:%.*]] = icmp slt i32 [[A]], [[B]]
229+
; CHECK-NEXT: br i1 [[CMP]], label [[THEN:%.*]], label [[ELSE:%.*]]
230+
; CHECK: then:
231+
; CHECK-NEXT: [[SA:%.*]] = sext i32 [[A]] to i64
232+
; CHECK-NEXT: [[SB:%.*]] = sext i32 [[B]] to i64
233+
; CHECK-NEXT: [[ADD:%.*]] = add nsw i64 [[SA]], 1
234+
; CHECK-NEXT: [[CMP2:%.*]] = icmp sgt i64 [[SB]], [[ADD]]
235+
; CHECK-NEXT: ret i1 [[CMP2]]
236+
; CHECK: else:
237+
; CHECK-NEXT: ret i1 false
238+
;
239+
entry:
240+
%cmp = icmp slt i32 %a, %b
241+
br i1 %cmp, label %then, label %else
242+
243+
then:
244+
%sa = sext i32 %a to i64
245+
%sb = sext i32 %b to i64
246+
%add = add nsw i64 %sa, 1
247+
%cmp2 = icmp sgt i64 %sb, %add
248+
ret i1 %cmp2
249+
250+
else:
251+
ret i1 false
252+
}

0 commit comments

Comments
 (0)