Skip to content

Commit cf6d0f6

Browse files
committed
Add new test before commit
1 parent b0b4a8e commit cf6d0f6

File tree

3 files changed

+164
-0
lines changed

3 files changed

+164
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
2+
; RUN: opt < %s -S | FileCheck %s
3+
4+
; Test whether the UTC format the switch-cases correctly, which requires TWO extra spaces.
5+
6+
define i8 @testi8(i8 %x) {
7+
switch i8 %x, label %default [
8+
i8 0, label %case1
9+
i8 1, label %case2
10+
i8 2, label %case3
11+
i8 3, label %case3
12+
]
13+
default:
14+
ret i8 0
15+
case1:
16+
ret i8 1
17+
case2:
18+
ret i8 2
19+
case3:
20+
ret i8 3
21+
}
22+
23+
define i32 @testi32(i32 %x) {
24+
switch i32 %x, label %default [
25+
i32 0, label %case1
26+
i32 1, label %case2
27+
i32 2, label %case3
28+
i32 3, label %case3
29+
]
30+
default:
31+
ret i32 0
32+
case1:
33+
ret i32 1
34+
case2:
35+
ret i32 2
36+
case3:
37+
ret i32 3
38+
}
39+
40+
define i128 @testi128(i128 %x) {
41+
switch i128 %x, label %default [
42+
i128 0, label %case1
43+
i128 1, label %case2
44+
i128 2, label %case3
45+
i128 3, label %case3
46+
]
47+
default:
48+
ret i128 0
49+
case1:
50+
ret i128 1
51+
case2:
52+
ret i128 2
53+
case3:
54+
ret i128 3
55+
}
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
2+
; RUN: opt < %s -S | FileCheck %s
3+
4+
; Test whether the UTC format the switch-cases correctly, which requires TWO extra spaces.
5+
6+
define i8 @testi8(i8 %x) {
7+
; CHECK-LABEL: define i8 @testi8(
8+
; CHECK-SAME: i8 [[X:%.*]]) {
9+
; CHECK-NEXT: switch i8 [[X]], label %[[DEFAULT:.*]] [
10+
; CHECK-NEXT: i8 0, label %[[CASE1:.*]]
11+
; CHECK-NEXT: i8 1, label %[[CASE2:.*]]
12+
; CHECK-NEXT: i8 2, label %[[CASE3:.*]]
13+
; CHECK-NEXT: i8 3, label %[[CASE3]]
14+
; CHECK-NEXT: ]
15+
; CHECK: [[DEFAULT]]:
16+
; CHECK-NEXT: ret i8 0
17+
; CHECK: [[CASE1]]:
18+
; CHECK-NEXT: ret i8 1
19+
; CHECK: [[CASE2]]:
20+
; CHECK-NEXT: ret i8 2
21+
; CHECK: [[CASE3]]:
22+
; CHECK-NEXT: ret i8 3
23+
;
24+
switch i8 %x, label %default [
25+
i8 0, label %case1
26+
i8 1, label %case2
27+
i8 2, label %case3
28+
i8 3, label %case3
29+
]
30+
default:
31+
ret i8 0
32+
case1:
33+
ret i8 1
34+
case2:
35+
ret i8 2
36+
case3:
37+
ret i8 3
38+
}
39+
40+
define i32 @testi32(i32 %x) {
41+
; CHECK-LABEL: define i32 @testi32(
42+
; CHECK-SAME: i32 [[X:%.*]]) {
43+
; CHECK-NEXT: switch i32 [[X]], label %[[DEFAULT:.*]] [
44+
; CHECK-NEXT: i32 0, label %[[CASE1:.*]]
45+
; CHECK-NEXT: i32 1, label %[[CASE2:.*]]
46+
; CHECK-NEXT: i32 2, label %[[CASE3:.*]]
47+
; CHECK-NEXT: i32 3, label %[[CASE3]]
48+
; CHECK-NEXT: ]
49+
; CHECK: [[DEFAULT]]:
50+
; CHECK-NEXT: ret i32 0
51+
; CHECK: [[CASE1]]:
52+
; CHECK-NEXT: ret i32 1
53+
; CHECK: [[CASE2]]:
54+
; CHECK-NEXT: ret i32 2
55+
; CHECK: [[CASE3]]:
56+
; CHECK-NEXT: ret i32 3
57+
;
58+
switch i32 %x, label %default [
59+
i32 0, label %case1
60+
i32 1, label %case2
61+
i32 2, label %case3
62+
i32 3, label %case3
63+
]
64+
default:
65+
ret i32 0
66+
case1:
67+
ret i32 1
68+
case2:
69+
ret i32 2
70+
case3:
71+
ret i32 3
72+
}
73+
74+
define i128 @testi128(i128 %x) {
75+
; CHECK-LABEL: define i128 @testi128(
76+
; CHECK-SAME: i128 [[X:%.*]]) {
77+
; CHECK-NEXT: switch i128 [[X]], label %[[DEFAULT:.*]] [
78+
; CHECK-NEXT: i128 0, label %[[CASE1:.*]]
79+
; CHECK-NEXT: i128 1, label %[[CASE2:.*]]
80+
; CHECK-NEXT: i128 2, label %[[CASE3:.*]]
81+
; CHECK-NEXT: i128 3, label %[[CASE3]]
82+
; CHECK-NEXT: ]
83+
; CHECK: [[DEFAULT]]:
84+
; CHECK-NEXT: ret i128 0
85+
; CHECK: [[CASE1]]:
86+
; CHECK-NEXT: ret i128 1
87+
; CHECK: [[CASE2]]:
88+
; CHECK-NEXT: ret i128 2
89+
; CHECK: [[CASE3]]:
90+
; CHECK-NEXT: ret i128 3
91+
;
92+
switch i128 %x, label %default [
93+
i128 0, label %case1
94+
i128 1, label %case2
95+
i128 2, label %case3
96+
i128 3, label %case3
97+
]
98+
default:
99+
ret i128 0
100+
case1:
101+
ret i128 1
102+
case2:
103+
ret i128 2
104+
case3:
105+
ret i128 3
106+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
## switch_case test checking that update_test_checks.py works correctly
2+
# RUN: cp -f %S/Inputs/switch_case.ll %t.ll && %update_test_checks %t.ll
3+
# RUN: diff -u %t.ll %S/Inputs/switch_case.ll.expected

0 commit comments

Comments
 (0)