summaryrefslogtreecommitdiff
path: root/test/CodeGen/Generic/switch-lower.ll
blob: 1cefe82ce3d22a81bcc3d74dd7575222f1be50d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
; RUN: llc < %s


; PR5421
define void @test1() {
entry:
  switch i128 undef, label %exit [
    i128 55340232221128654848, label %exit
    i128 92233720368547758080, label %exit
    i128 73786976294838206464, label %exit
    i128 147573952589676412928, label %exit
  ]
exit:
  unreachable
}


; PR1197
define void @test2() {
entry:
	br i1 false, label %cond_next954, label %cond_true924

cond_true924:		; preds = %entry
	ret void

cond_next954:		; preds = %entry
	switch i8 0, label %cleanup7419 [
		 i8 1, label %bb956
		 i8 2, label %bb1069
		 i8 4, label %bb7328
		 i8 5, label %bb1267
		 i8 8, label %bb1348
		 i8 9, label %bb7328
		 i8 11, label %bb1439
		 i8 12, label %bb1484
		 i8 13, label %bb1706
		 i8 14, label %bb1783
		 i8 17, label %bb1925
		 i8 18, label %bb1929
		 i8 19, label %bb2240
		 i8 25, label %bb2447
		 i8 27, label %bb2480
		 i8 29, label %bb2590
		 i8 30, label %bb2594
		 i8 31, label %bb2621
		 i8 32, label %bb2664
		 i8 33, label %bb2697
		 i8 34, label %bb2735
		 i8 37, label %bb2786
		 i8 38, label %bb2849
		 i8 39, label %bb3269
		 i8 41, label %bb3303
		 i8 42, label %bb3346
		 i8 43, label %bb3391
		 i8 44, label %bb3395
		 i8 50, label %bb3673
		 i8 52, label %bb3677
		 i8 53, label %bb3693
		 i8 54, label %bb7328
		 i8 56, label %bb3758
		 i8 57, label %bb3787
		 i8 64, label %bb5019
		 i8 68, label %cond_true4235
		 i8 69, label %bb4325
		 i8 70, label %bb4526
		 i8 72, label %bb4618
		 i8 73, label %bb4991
		 i8 80, label %bb5012
		 i8 82, label %bb5019
		 i8 84, label %bb5518
		 i8 86, label %bb5752
		 i8 87, label %bb5953
		 i8 89, label %bb6040
		 i8 90, label %bb6132
		 i8 92, label %bb6186
		 i8 93, label %bb6151
		 i8 94, label %bb6155
		 i8 97, label %bb6355
		 i8 98, label %bb5019
		 i8 99, label %bb6401
		 i8 101, label %bb5019
		 i8 102, label %bb1484
		 i8 104, label %bb7064
		 i8 105, label %bb7068
		 i8 106, label %bb7072
		 i8 108, label %bb1065
		 i8 109, label %bb1702
		 i8 110, label %bb2200
		 i8 111, label %bb2731
		 i8 112, label %bb2782
		 i8 113, label %bb2845
		 i8 114, label %bb2875
		 i8 115, label %bb3669
		 i8 116, label %bb7316
		 i8 117, label %bb7316
		 i8 118, label %bb3875
		 i8 119, label %bb4359
		 i8 120, label %bb4987
		 i8 121, label %bb5008
		 i8 122, label %bb5786
		 i8 123, label %bb6147
		 i8 124, label %bb6916
		 i8 125, label %bb6920
		 i8 126, label %bb6955
		 i8 127, label %bb6990
		 i8 -128, label %bb7027
		 i8 -127, label %bb3879
		 i8 -126, label %bb4700
		 i8 -125, label %bb7076
		 i8 -124, label %bb2366
		 i8 -123, label %bb2366
		 i8 -122, label %bb5490
	]

bb956:		; preds = %cond_next954
	ret void

bb1065:		; preds = %cond_next954
	ret void

bb1069:		; preds = %cond_next954
	ret void

bb1267:		; preds = %cond_next954
	ret void

bb1348:		; preds = %cond_next954
	ret void

bb1439:		; preds = %cond_next954
	ret void

bb1484:		; preds = %cond_next954, %cond_next954
	ret void

bb1702:		; preds = %cond_next954
	ret void

bb1706:		; preds = %cond_next954
	ret void

bb1783:		; preds = %cond_next954
	ret void

bb1925:		; preds = %cond_next954
	ret void

bb1929:		; preds = %cond_next954
	ret void

bb2200:		; preds = %cond_next954
	ret void

bb2240:		; preds = %cond_next954
	ret void

bb2366:		; preds = %cond_next954, %cond_next954
	ret void

bb2447:		; preds = %cond_next954
	ret void

bb2480:		; preds = %cond_next954
	ret void

bb2590:		; preds = %cond_next954
	ret void

bb2594:		; preds = %cond_next954
	ret void

bb2621:		; preds = %cond_next954
	ret void

bb2664:		; preds = %cond_next954
	ret void

bb2697:		; preds = %cond_next954
	ret void

bb2731:		; preds = %cond_next954
	ret void

bb2735:		; preds = %cond_next954
	ret void

bb2782:		; preds = %cond_next954
	ret void

bb2786:		; preds = %cond_next954
	ret void

bb2845:		; preds = %cond_next954
	ret void

bb2849:		; preds = %cond_next954
	ret void

bb2875:		; preds = %cond_next954
	ret void

bb3269:		; preds = %cond_next954
	ret void

bb3303:		; preds = %cond_next954
	ret void

bb3346:		; preds = %cond_next954
	ret void

bb3391:		; preds = %cond_next954
	ret void

bb3395:		; preds = %cond_next954
	ret void

bb3669:		; preds = %cond_next954
	ret void

bb3673:		; preds = %cond_next954
	ret void

bb3677:		; preds = %cond_next954
	ret void

bb3693:		; preds = %cond_next954
	ret void

bb3758:		; preds = %cond_next954
	ret void

bb3787:		; preds = %cond_next954
	ret void

bb3875:		; preds = %cond_next954
	ret void

bb3879:		; preds = %cond_next954
	ret void

cond_true4235:		; preds = %cond_next954
	ret void

bb4325:		; preds = %cond_next954
	ret void

bb4359:		; preds = %cond_next954
	ret void

bb4526:		; preds = %cond_next954
	ret void

bb4618:		; preds = %cond_next954
	ret void

bb4700:		; preds = %cond_next954
	ret void

bb4987:		; preds = %cond_next954
	ret void

bb4991:		; preds = %cond_next954
	ret void

bb5008:		; preds = %cond_next954
	ret void

bb5012:		; preds = %cond_next954
	ret void

bb5019:		; preds = %cond_next954, %cond_next954, %cond_next954, %cond_next954
	ret void

bb5490:		; preds = %cond_next954
	ret void

bb5518:		; preds = %cond_next954
	ret void

bb5752:		; preds = %cond_next954
	ret void

bb5786:		; preds = %cond_next954
	ret void

bb5953:		; preds = %cond_next954
	ret void

bb6040:		; preds = %cond_next954
	ret void

bb6132:		; preds = %cond_next954
	ret void

bb6147:		; preds = %cond_next954
	ret void

bb6151:		; preds = %cond_next954
	ret void

bb6155:		; preds = %cond_next954
	ret void

bb6186:		; preds = %cond_next954
	ret void

bb6355:		; preds = %cond_next954
	ret void

bb6401:		; preds = %cond_next954
	ret void

bb6916:		; preds = %cond_next954
	ret void

bb6920:		; preds = %cond_next954
	ret void

bb6955:		; preds = %cond_next954
	ret void

bb6990:		; preds = %cond_next954
	ret void

bb7027:		; preds = %cond_next954
	ret void

bb7064:		; preds = %cond_next954
	ret void

bb7068:		; preds = %cond_next954
	ret void

bb7072:		; preds = %cond_next954
	ret void

bb7076:		; preds = %cond_next954
	ret void

bb7316:		; preds = %cond_next954, %cond_next954
	ret void

bb7328:		; preds = %cond_next954, %cond_next954, %cond_next954
	ret void

cleanup7419:		; preds = %cond_next954
	ret void
}