aboutsummaryrefslogtreecommitdiffstats
path: root/test/Other/2007-04-24-eliminate-mostly-empty-blocks.ll
blob: c436e07a9ca946c40391f59ba8df3fb9ee2e1db6 (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
;RUN: opt < %s -codegenprepare -disable-output

define void @foo() {
entry:
	br i1 false, label %cond_next31, label %cond_true

cond_true:		; preds = %entry
	br i1 false, label %cond_true19, label %cond_next31

cond_true19:		; preds = %cond_true
	br i1 false, label %bb510, label %cond_next31

cond_next31:		; preds = %cond_true19, %cond_true, %entry
	br i1 false, label %cond_true61, label %cond_next78

cond_true61:		; preds = %cond_next31
	br label %cond_next78

cond_next78:		; preds = %cond_true61, %cond_next31
	br i1 false, label %cond_true93, label %bb.preheader

cond_true93:		; preds = %cond_next78
	br label %bb.preheader

bb.preheader:		; preds = %cond_true93, %cond_next78
	%iftmp.11.0.ph.ph = phi i16 [ 0, %cond_true93 ], [ 0, %cond_next78 ]		; <i16> [#uses=1]
	br label %bb

bb:		; preds = %cond_next499, %bb.preheader
	%n.1 = phi i16 [ %iftmp.11.0.ph.ph, %cond_next499 ], [ 0, %bb.preheader ]		; <i16> [#uses=0]
	br i1 false, label %bb148.preheader, label %bb493

bb148.preheader:		; preds = %bb
	br label %bb148

bb148:		; preds = %cond_next475, %bb148.preheader
	br i1 false, label %cond_next175, label %bb184

cond_next175:		; preds = %bb148
	br i1 false, label %bb184, label %bb185

bb184:		; preds = %cond_next175, %bb148
	br label %bb185

bb185:		; preds = %bb184, %cond_next175
	br i1 false, label %bb420.preheader, label %cond_true198

bb420.preheader:		; preds = %bb185
	br label %bb420

cond_true198:		; preds = %bb185
	br i1 false, label %bb294, label %cond_next208

cond_next208:		; preds = %cond_true198
	br i1 false, label %cond_next249, label %cond_true214

cond_true214:		; preds = %cond_next208
	br i1 false, label %bb294, label %cond_next262

cond_next249:		; preds = %cond_next208
	br i1 false, label %bb294, label %cond_next262

cond_next262:		; preds = %cond_next249, %cond_true214
	br label %bb269

bb269:		; preds = %cond_next285, %cond_next262
	br i1 false, label %cond_next285, label %cond_true279

cond_true279:		; preds = %bb269
	br label %cond_next285

cond_next285:		; preds = %cond_true279, %bb269
	br i1 false, label %bb269, label %cond_next446.loopexit

bb294:		; preds = %cond_next249, %cond_true214, %cond_true198
	br i1 false, label %cond_next336, label %cond_true301

cond_true301:		; preds = %bb294
	br i1 false, label %cond_false398, label %cond_true344

cond_next336:		; preds = %bb294
	br i1 false, label %cond_false398, label %cond_true344

cond_true344:		; preds = %cond_next336, %cond_true301
	br i1 false, label %cond_false381, label %cond_true351

cond_true351:		; preds = %cond_true344
	br label %cond_next387

cond_false381:		; preds = %cond_true344
	br label %cond_next387

cond_next387:		; preds = %cond_false381, %cond_true351
	br label %cond_next401

cond_false398:		; preds = %cond_next336, %cond_true301
	br label %cond_next401

cond_next401:		; preds = %cond_false398, %cond_next387
	br i1 false, label %cond_next475, label %cond_true453

bb420:		; preds = %cond_next434, %bb420.preheader
	br i1 false, label %cond_next434, label %cond_true428

cond_true428:		; preds = %bb420
	br label %cond_next434

cond_next434:		; preds = %cond_true428, %bb420
	br i1 false, label %bb420, label %cond_next446.loopexit1

cond_next446.loopexit:		; preds = %cond_next285
	br label %cond_next446

cond_next446.loopexit1:		; preds = %cond_next434
	br label %cond_next446

cond_next446:		; preds = %cond_next446.loopexit1, %cond_next446.loopexit
	br i1 false, label %cond_next475, label %cond_true453

cond_true453:		; preds = %cond_next446, %cond_next401
	br i1 false, label %cond_true458, label %cond_next475

cond_true458:		; preds = %cond_true453
	br label %cond_next475

cond_next475:		; preds = %cond_true458, %cond_true453, %cond_next446, %cond_next401
	br i1 false, label %bb493.loopexit, label %bb148

bb493.loopexit:		; preds = %cond_next475
	br label %bb493

bb493:		; preds = %bb493.loopexit, %bb
	br i1 false, label %cond_next499, label %bb510.loopexit

cond_next499:		; preds = %bb493
	br label %bb

bb510.loopexit:		; preds = %bb493
	br label %bb510

bb510:		; preds = %bb510.loopexit, %cond_true19
	br i1 false, label %cond_next524, label %cond_true517

cond_true517:		; preds = %bb510
	br label %cond_next524

cond_next524:		; preds = %cond_true517, %bb510
	br i1 false, label %cond_next540, label %cond_true533

cond_true533:		; preds = %cond_next524
	br label %cond_next540

cond_next540:		; preds = %cond_true533, %cond_next524
	br i1 false, label %cond_true554, label %cond_next560

cond_true554:		; preds = %cond_next540
	br label %cond_next560

cond_next560:		; preds = %cond_true554, %cond_next540
	br i1 false, label %cond_true566, label %cond_next572

cond_true566:		; preds = %cond_next560
	br label %cond_next572

cond_next572:		; preds = %cond_true566, %cond_next560
	br i1 false, label %bb608.preheader, label %bb791.preheader

bb608.preheader:		; preds = %cond_next797.us, %cond_next572
	br label %bb608

bb608:		; preds = %cond_next771, %bb608.preheader
	br i1 false, label %cond_false627, label %cond_true613

cond_true613:		; preds = %bb608
	br label %cond_next640

cond_false627:		; preds = %bb608
	br label %cond_next640

cond_next640:		; preds = %cond_false627, %cond_true613
	br i1 false, label %cond_true653, label %cond_next671

cond_true653:		; preds = %cond_next640
	br label %cond_next671

cond_next671:		; preds = %cond_true653, %cond_next640
	br i1 false, label %cond_true683, label %cond_next724

cond_true683:		; preds = %cond_next671
	br i1 false, label %cond_next724, label %L1

cond_next724:		; preds = %cond_true683, %cond_next671
	br i1 false, label %cond_true735, label %L1

cond_true735:		; preds = %cond_next724
	br label %L1

L1:		; preds = %cond_true735, %cond_next724, %cond_true683
	br i1 false, label %cond_true745, label %cond_next771

cond_true745:		; preds = %L1
	br label %cond_next771

cond_next771:		; preds = %cond_true745, %L1
	br i1 false, label %bb608, label %bb791.preheader.loopexit

bb791.preheader.loopexit:		; preds = %cond_next771
	br label %bb791.preheader

bb791.preheader:		; preds = %bb791.preheader.loopexit, %cond_next572
	br i1 false, label %cond_next797.us, label %bb809.split

cond_next797.us:		; preds = %bb791.preheader
	br label %bb608.preheader

bb809.split:		; preds = %bb791.preheader
	br i1 false, label %cond_next827, label %cond_true820

cond_true820:		; preds = %bb809.split
	br label %cond_next827

cond_next827:		; preds = %cond_true820, %bb809.split
	br i1 false, label %cond_true833, label %cond_next840

cond_true833:		; preds = %cond_next827
	br label %cond_next840

cond_next840:		; preds = %cond_true833, %cond_next827
	br i1 false, label %bb866, label %bb1245

bb866:		; preds = %bb1239, %cond_next840
	br i1 false, label %cond_true875, label %bb911

cond_true875:		; preds = %bb866
	br label %cond_next1180

bb911:		; preds = %bb866
	switch i32 0, label %bb1165 [
		 i32 0, label %bb915
		 i32 1, label %bb932
		 i32 2, label %bb941
		 i32 3, label %bb1029
		 i32 4, label %bb1036
		 i32 5, label %bb1069
		 i32 6, label %L3
	]

bb915:		; preds = %cond_next1171, %bb911
	br i1 false, label %cond_next1171, label %cond_next1180

bb932:		; preds = %cond_next1171, %bb911
	br label %L1970

bb941:		; preds = %cond_next1171, %bb911
	br label %L1970

L1970:		; preds = %bb941, %bb932
	br label %bb1165

bb1029:		; preds = %cond_next1171, %bb911
	br label %L4

bb1036:		; preds = %cond_next1171, %bb911
	br label %L4

bb1069:		; preds = %cond_next1171, %bb911
	br i1 false, label %cond_next1121, label %cond_true1108

L3:		; preds = %cond_next1171, %bb911
	br i1 false, label %cond_next1121, label %cond_true1108

cond_true1108:		; preds = %L3, %bb1069
	br label %L4

cond_next1121:		; preds = %L3, %bb1069
	br label %L4

L4:		; preds = %cond_next1121, %cond_true1108, %bb1036, %bb1029
	br label %bb1165

bb1165:		; preds = %cond_next1171, %L4, %L1970, %bb911
	br i1 false, label %cond_next1171, label %cond_next1180

cond_next1171:		; preds = %bb1165, %bb915
	switch i32 0, label %bb1165 [
		 i32 0, label %bb915
		 i32 1, label %bb932
		 i32 2, label %bb941
		 i32 3, label %bb1029
		 i32 4, label %bb1036
		 i32 5, label %bb1069
		 i32 6, label %L3
	]

cond_next1180:		; preds = %bb1165, %bb915, %cond_true875
	br label %bb1239

bb1239:		; preds = %cond_next1251, %cond_next1180
	br i1 false, label %bb866, label %bb1245

bb1245:		; preds = %bb1239, %cond_next840
	br i1 false, label %cond_next1251, label %bb1257

cond_next1251:		; preds = %bb1245
	br label %bb1239

bb1257:		; preds = %bb1245
	ret void
}