Skip to content

Commit b696bda

Browse files
committed
cleanup sources
1 parent 9fbb904 commit b696bda

File tree

7 files changed

+13
-417
lines changed

7 files changed

+13
-417
lines changed

llvm/test/CodeGen/SPIRV/structurizer/cf.return.void.hlsl

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,5 @@ void A() {
55

66
[numthreads(1, 1, 1)]
77
void main() {
8-
// CHECK: [[type:%[0-9]+]] = OpTypeFunction %void
9-
// CHECK: %src_main = OpFunction %void None [[type]]
10-
// CHECK: {{%[0-9]+}} = OpFunctionCall %void %A
11-
// CHECK: OpReturn
12-
// CHECK: OpFunctionEnd
138
return A();
149
}

llvm/test/CodeGen/SPIRV/structurizer/cf.switch.opswitch.hlsl

Lines changed: 0 additions & 172 deletions
Original file line numberDiff line numberDiff line change
@@ -6,314 +6,158 @@ int foo() { return 200; }
66
void main() {
77
int result;
88

9-
10-
119
////////////////////////////
1210
// The most basic case //
1311
// Has a 'default' case //
1412
// All cases have 'break' //
1513
////////////////////////////
16-
1714
int a = 0;
18-
// CHECK: [[a:%[0-9]+]] = OpLoad %int %a
19-
// CHECK-NEXT: OpSelectionMerge %switch_merge None
20-
// CHECK-NEXT: OpSwitch [[a]] %switch_default -3 %switch_n3 0 %switch_0 1 %switch_1 2 %switch_2
2115
switch(a) {
22-
// CHECK-NEXT: %switch_n3 = OpLabel
23-
// CHECK-NEXT: OpStore %result %int_n300
24-
// CHECK-NEXT: OpBranch %switch_merge
2516
case -3:
2617
result = -300;
2718
break;
28-
// CHECK-NEXT: %switch_0 = OpLabel
29-
// CHECK-NEXT: OpStore %result %int_0
30-
// CHECK-NEXT: OpBranch %switch_merge
3119
case 0:
3220
result = 0;
3321
break;
34-
// CHECK-NEXT: %switch_1 = OpLabel
35-
// CHECK-NEXT: OpStore %result %int_100
36-
// CHECK-NEXT: OpBranch %switch_merge
3722
case 1:
3823
result = 100;
3924
break;
40-
// CHECK-NEXT: %switch_2 = OpLabel
41-
// CHECK-NEXT: [[foo:%[0-9]+]] = OpFunctionCall %int %foo
42-
// CHECK-NEXT: OpStore %result [[foo]]
43-
// CHECK-NEXT: OpBranch %switch_merge
4425
case 2:
4526
result = foo();
4627
break;
47-
// CHECK-NEXT: %switch_default = OpLabel
48-
// CHECK-NEXT: OpStore %result %int_777
49-
// CHECK-NEXT: OpBranch %switch_merge
5028
default:
5129
result = 777;
5230
break;
5331
}
54-
// CHECK-NEXT: %switch_merge = OpLabel
55-
56-
5732

5833
////////////////////////////////////
5934
// The selector is a statement //
6035
// Does not have a 'default' case //
6136
// All cases have 'break' //
6237
////////////////////////////////////
6338

64-
// CHECK-NEXT: [[a1:%[0-9]+]] = OpLoad %int %a
65-
// CHECK-NEXT: OpStore %c [[a1]]
66-
// CHECK-NEXT: [[c:%[0-9]+]] = OpLoad %int %c
67-
// CHECK-NEXT: OpSelectionMerge %switch_merge_0 None
68-
// CHECK-NEXT: OpSwitch [[c]] %switch_merge_0 -4 %switch_n4 4 %switch_4
6939
switch(int c = a) {
70-
// CHECK-NEXT: %switch_n4 = OpLabel
71-
// CHECK-NEXT: OpStore %result %int_n400
72-
// CHECK-NEXT: OpBranch %switch_merge_0
7340
case -4:
7441
result = -400;
7542
break;
76-
// CHECK-NEXT: %switch_4 = OpLabel
77-
// CHECK-NEXT: OpStore %result %int_400
78-
// CHECK-NEXT: OpBranch %switch_merge_0
7943
case 4:
8044
result = 400;
8145
break;
8246
}
83-
// CHECK-NEXT: %switch_merge_0 = OpLabel
84-
85-
8647

8748
///////////////////////////////////
8849
// All cases are fall-through //
8950
// The last case is fall-through //
9051
///////////////////////////////////
91-
92-
// CHECK-NEXT: [[a2:%[0-9]+]] = OpLoad %int %a
93-
// CHECK-NEXT: OpSelectionMerge %switch_merge_1 None
94-
// CHECK-NEXT: OpSwitch [[a2]] %switch_merge_1 -5 %switch_n5 5 %switch_5
9552
switch(a) {
96-
// CHECK-NEXT: %switch_n5 = OpLabel
97-
// CHECK-NEXT: OpStore %result %int_n500
98-
// CHECK-NEXT: OpBranch %switch_5
9953
case -5:
10054
result = -500;
101-
// CHECK-NEXT: %switch_5 = OpLabel
102-
// CHECK-NEXT: OpStore %result %int_500
103-
// CHECK-NEXT: OpBranch %switch_merge_1
10455
case 5:
10556
result = 500;
10657
}
107-
// CHECK-NEXT: %switch_merge_1 = OpLabel
108-
109-
11058

11159
///////////////////////////////////////
11260
// Some cases are fall-through //
11361
// The last case is not fall-through //
11462
///////////////////////////////////////
11563

116-
// CHECK-NEXT: [[a3:%[0-9]+]] = OpLoad %int %a
117-
// CHECK-NEXT: OpSelectionMerge %switch_merge_2 None
118-
// CHECK-NEXT: OpSwitch [[a3]] %switch_default_0 6 %switch_6 7 %switch_7 8 %switch_8
11964
switch(a) {
120-
// CHECK-NEXT: %switch_6 = OpLabel
121-
// CHECK-NEXT: OpStore %result %int_600
122-
// CHECK-NEXT: OpBranch %switch_7
12365
case 6:
12466
result = 600;
12567
case 7:
126-
// CHECK-NEXT: %switch_7 = OpLabel
127-
// CHECK-NEXT: OpStore %result %int_700
128-
// CHECK-NEXT: OpBranch %switch_8
12968
result = 700;
130-
// CHECK-NEXT: %switch_8 = OpLabel
131-
// CHECK-NEXT: OpStore %result %int_800
132-
// CHECK-NEXT: OpBranch %switch_merge_2
13369
case 8:
13470
result = 800;
13571
break;
136-
// CHECK-NEXT: %switch_default_0 = OpLabel
137-
// CHECK-NEXT: OpStore %result %int_777
138-
// CHECK-NEXT: OpBranch %switch_merge_2
13972
default:
14073
result = 777;
14174
break;
14275
}
143-
// CHECK-NEXT: %switch_merge_2 = OpLabel
144-
145-
14676

14777
///////////////////////////////////////
14878
// Fall-through cases with no body //
14979
///////////////////////////////////////
15080

151-
// CHECK-NEXT: [[a4:%[0-9]+]] = OpLoad %int %a
152-
// CHECK-NEXT: OpSelectionMerge %switch_merge_3 None
153-
// CHECK-NEXT: OpSwitch [[a4]] %switch_default_1 10 %switch_10 11 %switch_11 12 %switch_12
15481
switch(a) {
155-
// CHECK-NEXT: %switch_10 = OpLabel
156-
// CHECK-NEXT: OpBranch %switch_11
15782
case 10:
158-
// CHECK-NEXT: %switch_11 = OpLabel
159-
// CHECK-NEXT: OpBranch %switch_default_1
16083
case 11:
161-
// CHECK-NEXT: %switch_default_1 = OpLabel
162-
// CHECK-NEXT: OpBranch %switch_12
16384
default:
164-
// CHECK-NEXT: %switch_12 = OpLabel
165-
// CHECK-NEXT: OpStore %result %int_12
166-
// CHECK-NEXT: OpBranch %switch_merge_3
16785
case 12:
16886
result = 12;
16987
}
170-
// CHECK-NEXT: %switch_merge_3 = OpLabel
171-
172-
17388

17489
////////////////////////////////////////////////
17590
// No-op. Two nested cases and a nested break //
17691
////////////////////////////////////////////////
17792

178-
// CHECK-NEXT: [[a5:%[0-9]+]] = OpLoad %int %a
179-
// CHECK-NEXT: OpSelectionMerge %switch_merge_4 None
180-
// CHECK-NEXT: OpSwitch [[a5]] %switch_merge_4 15 %switch_15 16 %switch_16
18193
switch(a) {
182-
// CHECK-NEXT: %switch_15 = OpLabel
183-
// CHECK-NEXT: OpBranch %switch_16
18494
case 15:
185-
// CHECK-NEXT: %switch_16 = OpLabel
186-
// CHECK-NEXT: OpBranch %switch_merge_4
18795
case 16:
18896
break;
18997
}
190-
// CHECK-NEXT: %switch_merge_4 = OpLabel
191-
192-
19398

19499
////////////////////////////////////////////////////////////////
195100
// Using braces (compound statements) in various parts //
196101
// Using breaks such that each AST configuration is different //
197102
// Also uses 'forcecase' attribute //
198103
////////////////////////////////////////////////////////////////
199104

200-
// CHECK-NEXT: [[a6:%[0-9]+]] = OpLoad %int %a
201-
// CHECK-NEXT: OpSelectionMerge %switch_merge_5 None
202-
// CHECK-NEXT: OpSwitch [[a6]] %switch_merge_5 20 %switch_20 21 %switch_21 22 %switch_22 23 %switch_23 24 %switch_24 25 %switch_25 26 %switch_26 27 %switch_27 28 %switch_28 29 %switch_29
203105
switch(a) {
204-
// CHECK-NEXT: %switch_20 = OpLabel
205-
// CHECK-NEXT: OpStore %result %int_20
206-
// CHECK-NEXT: OpBranch %switch_merge_5
207106
case 20: {
208107
result = 20;
209108
break;
210109
}
211-
// CHECK-NEXT: %switch_21 = OpLabel
212-
// CHECK-NEXT: OpStore %result %int_21
213-
// CHECK-NEXT: OpBranch %switch_merge_5
214110
case 21:
215111
result = 21;
216112
break;
217-
// CHECK-NEXT: %switch_22 = OpLabel
218-
// CHECK-NEXT: OpBranch %switch_23
219-
// CHECK-NEXT: %switch_23 = OpLabel
220-
// CHECK-NEXT: OpBranch %switch_merge_5
221113
case 22:
222114
case 23:
223115
break;
224-
// CHECK-NEXT: %switch_24 = OpLabel
225-
// CHECK-NEXT: OpBranch %switch_25
226-
// CHECK-NEXT: %switch_25 = OpLabel
227-
// CHECK-NEXT: OpStore %result %int_25
228-
// CHECK-NEXT: OpBranch %switch_merge_5
229116
case 24:
230117
case 25: { result = 25; }
231118
break;
232-
// CHECK-NEXT: %switch_26 = OpLabel
233-
// CHECK-NEXT: OpBranch %switch_27
234-
// CHECK-NEXT: %switch_27 = OpLabel
235-
// CHECK-NEXT: OpBranch %switch_merge_5
236119
case 26:
237120
case 27: {
238121
break;
239122
}
240-
// CHECK-NEXT: %switch_28 = OpLabel
241-
// CHECK-NEXT: OpStore %result %int_28
242-
// CHECK-NEXT: OpBranch %switch_merge_5
243123
case 28: {
244124
result = 28;
245125
{{break;}}
246126
}
247-
// CHECK-NEXT: %switch_29 = OpLabel
248-
// CHECK-NEXT: OpStore %result %int_29
249-
// CHECK-NEXT: OpBranch %switch_merge_5
250127
case 29: {
251128
{
252129
result = 29;
253130
{break;}
254131
}
255132
}
256133
}
257-
// CHECK-NEXT: %switch_merge_5 = OpLabel
258-
259-
260134

261135
////////////////////////////////////////////////////////////////////////
262136
// Nested Switch statements with mixed use of fall-through and braces //
263137
////////////////////////////////////////////////////////////////////////
264138

265-
// CHECK-NEXT: [[a7:%[0-9]+]] = OpLoad %int %a
266-
// CHECK-NEXT: OpSelectionMerge %switch_merge_7 None
267-
// CHECK-NEXT: OpSwitch [[a7]] %switch_merge_7 30 %switch_30
268139
switch(a) {
269-
// CHECK-NEXT: %switch_30 = OpLabel
270140
case 30: {
271-
// CHECK-NEXT: OpStore %result %int_30
272141
result = 30;
273-
// CHECK-NEXT: [[result:%[0-9]+]] = OpLoad %int %result
274-
// CHECK-NEXT: OpSelectionMerge %switch_merge_6 None
275-
// CHECK-NEXT: OpSwitch [[result]] %switch_default_2 50 %switch_50 51 %switch_51 52 %switch_52 53 %switch_53 54 %switch_54
276142
switch(result) {
277-
// CHECK-NEXT: %switch_default_2 = OpLabel
278-
// CHECK-NEXT: OpStore %a %int_55
279-
// CHECK-NEXT: OpBranch %switch_50
280143
default:
281144
a = 55;
282-
// CHECK-NEXT: %switch_50 = OpLabel
283-
// CHECK-NEXT: OpStore %a %int_50
284-
// CHECK-NEXT: OpBranch %switch_merge_6
285145
case 50:
286146
a = 50;
287147
break;
288-
// CHECK-NEXT: %switch_51 = OpLabel
289-
// CHECK-NEXT: OpBranch %switch_52
290148
case 51:
291-
// CHECK-NEXT: %switch_52 = OpLabel
292-
// CHECK-NEXT: OpStore %a %int_52
293-
// CHECK-NEXT: OpBranch %switch_53
294149
case 52:
295150
a = 52;
296-
// CHECK-NEXT: %switch_53 = OpLabel
297-
// CHECK-NEXT: OpStore %a %int_53
298-
// CHECK-NEXT: OpBranch %switch_merge_6
299151
case 53:
300152
a = 53;
301153
break;
302-
// CHECK-NEXT: %switch_54 = OpLabel
303-
// CHECK-NEXT: OpStore %a %int_54
304-
// CHECK-NEXT: OpBranch %switch_merge_6
305154
case 54 : {
306155
a = 54;
307156
break;
308157
}
309158
}
310-
// CHECK-NEXT: %switch_merge_6 = OpLabel
311-
// CHECK-NEXT: OpBranch %switch_merge_7
312159
}
313160
}
314-
// CHECK-NEXT: %switch_merge_7 = OpLabel
315-
316-
317161

318162
///////////////////////////////////////////////
319163
// Constant integer variables as case values //
@@ -323,35 +167,19 @@ void main() {
323167
const int s = 45;
324168
const int t = 2*r + s; // evaluates to 115.
325169

326-
// CHECK: [[a8:%[0-9]+]] = OpLoad %int %a
327-
// CHECK-NEXT: OpSelectionMerge %switch_merge_8 None
328-
// CHECK-NEXT: OpSwitch [[a8]] %switch_merge_8 35 %switch_35 115 %switch_115
329170
switch(a) {
330-
// CHECK-NEXT: %switch_35 = OpLabel
331-
// CHECK-NEXT: [[r:%[0-9]+]] = OpLoad %int %r
332-
// CHECK-NEXT: OpStore %result [[r]]
333-
// CHECK-NEXT: OpBranch %switch_115
334171
case r:
335172
result = r;
336-
// CHECK-NEXT: %switch_115 = OpLabel
337-
// CHECK-NEXT: [[t:%[0-9]+]] = OpLoad %int %t
338-
// CHECK-NEXT: OpStore %result [[t]]
339-
// CHECK-NEXT: OpBranch %switch_merge_8
340173
case t:
341174
result = t;
342175
break;
343-
// CHECK-NEXT: %switch_merge_8 = OpLabel
344176
}
345177

346178

347179
//////////////////////////////////////////////////////////////////
348180
// Using float as selector results in multiple casts in the AST //
349181
//////////////////////////////////////////////////////////////////
350182
float sel;
351-
// CHECK: [[floatSelector:%[0-9]+]] = OpLoad %float %sel
352-
// CHECK-NEXT: [[sel:%[0-9]+]] = OpConvertFToS %int [[floatSelector]]
353-
// CHECK-NEXT: OpSelectionMerge %switch_merge_9 None
354-
// CHECK-NEXT: OpSwitch [[sel]] %switch_merge_9 0 %switch_0_0
355183
switch ((int)sel) {
356184
case 0:
357185
result = 0;

llvm/test/CodeGen/SPIRV/structurizer/cf.switch.opswitch.literal.hlsl

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,20 @@ void main() {
55
///////////////////////////////
66
// 32-bit int literal switch //
77
///////////////////////////////
8-
// CHECK: OpSelectionMerge %switch_merge None
9-
// CHECK: OpSwitch %int_0 %switch_default 0 %switch_0
108
switch (0) {
11-
// CHECK: %switch_0 = OpLabel
129
case 0:
13-
// CHECK: OpReturnValue %float_1
1410
return;
15-
// CHECK: %switch_default = OpLabel
1611
default:
17-
// CHECK: OpReturnValue %float_2
1812
return;
1913
}
20-
// CHECK: %switch_merge = OpLabel
2114

2215
///////////////////////////////
2316
// 64-bit int literal switch //
2417
///////////////////////////////
25-
// CHECK: OpSelectionMerge %switch_merge_0 None
26-
// CHECK: OpSwitch %long_12345678910 %switch_merge_0 12345678910 %switch_12345678910
2718
switch (12345678910) {
28-
// CHECK: %switch_12345678910 = OpLabel
2919
case 12345678910:
30-
// CHECK: OpReturnValue %float_1
3120
return;
3221
}
33-
// CHECK: %switch_merge_0 = OpLabel
3422

3523
return;
3624
}

0 commit comments

Comments
 (0)