Skip to content

Commit 6ef74bb

Browse files
committed
[SCCP] Add pre-commit tests. NFC.
1 parent 90d5795 commit 6ef74bb

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

llvm/test/Transforms/SCCP/relax-range-checks.ll

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,4 +89,28 @@ define i1 @relax_range_check_multiuse(i8 range(i8 0, 5) %x) {
8989
ret i1 %ret
9090
}
9191

92+
define i1 @range_check_to_icmp_eq1(i32 range(i32 0, 4) %x) {
93+
; CHECK-LABEL: define i1 @range_check_to_icmp_eq1(
94+
; CHECK-SAME: i32 range(i32 0, 4) [[X:%.*]]) {
95+
; CHECK-NEXT: [[OFF:%.*]] = add nsw i32 [[X]], -3
96+
; CHECK-NEXT: [[TMP1:%.*]] = icmp uge i32 [[X]], 3
97+
; CHECK-NEXT: ret i1 [[TMP1]]
98+
;
99+
%off = add nsw i32 %x, -3
100+
%cmp = icmp ult i32 %off, 2
101+
ret i1 %cmp
102+
}
103+
104+
define i1 @range_check_to_icmp_eq2(i32 range(i32 -1, 2) %x) {
105+
; CHECK-LABEL: define i1 @range_check_to_icmp_eq2(
106+
; CHECK-SAME: i32 range(i32 -1, 2) [[X:%.*]]) {
107+
; CHECK-NEXT: [[OFF:%.*]] = add nsw i32 [[X]], -1
108+
; CHECK-NEXT: [[CMP:%.*]] = icmp ult i32 [[OFF]], -2
109+
; CHECK-NEXT: ret i1 [[CMP]]
110+
;
111+
%off = add nsw i32 %x, -1
112+
%cmp = icmp ult i32 %off, -2
113+
ret i1 %cmp
114+
}
115+
92116
declare void @use(i8)

0 commit comments

Comments
 (0)