Extract the x86_64 part for the executables.
[oota-llvm.git] / test / Transforms / CondProp / 2006-08-14-SingleEntryPhiCrash.ll
1 ; RUN: llvm-as < %s | opt -condprop -disable-output
2 ; PR877
3 target datalayout = "E-p:32:32"
4 target triple = "powerpc-apple-darwin9.0.0d1"
5         %"struct.kc::impl_Ccode_option" = type { %"struct.kc::impl_abstract_phylum" }
6         %"struct.kc::impl_ID" = type { %"struct.kc::impl_abstract_phylum", %"struct.kc::impl_Ccode_option"*, %"struct.kc::impl_casestring__Str"*, i32, %"struct.kc::impl_casestring__Str"* }
7         %"struct.kc::impl_abstract_phylum" = type { i32 (...)** }
8         %"struct.kc::impl_casestring__Str" = type { %"struct.kc::impl_abstract_phylum", i8* }
9         %"struct.kc::impl_elem_patternrepresentation" = type { %"struct.kc::impl_abstract_phylum", i32, %"struct.kc::impl_casestring__Str"*, %"struct.kc::impl_ID"* }
10         %"struct.kc::impl_outmostpatterns" = type { %"struct.kc::impl_Ccode_option", %"struct.kc::impl_elem_patternrepresentation"*, %"struct.kc::impl_outmostpatterns"* }
11         %"struct.kc::impl_patternrepresentations" = type { %"struct.kc::impl_Ccode_option", %"struct.kc::impl_outmostpatterns"*, %"struct.kc::impl_patternrepresentations"* }
12
13 define void @_ZN2kc16compare_patternsEPNS_26impl_patternrepresentationES1_PNS_27impl_patternrepresentationsE() {
14 entry:
15         br label %bb1269.outer.outer.outer.outer
16
17 cond_true:              ; preds = %cond_true1298
18         br label %bb1269.outer69
19
20 cond_false:             ; preds = %cond_true1298
21         br i1 false, label %cond_next, label %bb51
22
23 cond_next:              ; preds = %cond_false
24         br i1 false, label %bb52, label %bb51
25
26 bb51:           ; preds = %cond_next, %cond_false
27         br label %bb52
28
29 bb52:           ; preds = %bb51, %cond_next
30         br i1 false, label %cond_false82, label %cond_true55
31
32 cond_true55:            ; preds = %bb52
33         br i1 false, label %UnifiedReturnBlock, label %cond_true57
34
35 cond_true57:            ; preds = %cond_true55
36         br label %UnifiedReturnBlock
37
38 cond_false82:           ; preds = %bb52
39         br i1 false, label %cond_next97, label %bb113
40
41 cond_next97:            ; preds = %cond_false82
42         br i1 false, label %bb114, label %bb113
43
44 bb113:          ; preds = %cond_next97, %cond_false82
45         br label %bb114
46
47 bb114:          ; preds = %bb113, %cond_next97
48         br i1 false, label %cond_false151, label %cond_true117
49
50 cond_true117:           ; preds = %bb114
51         br i1 false, label %UnifiedReturnBlock, label %cond_true120
52
53 cond_true120:           ; preds = %cond_true117
54         br label %UnifiedReturnBlock
55
56 cond_false151:          ; preds = %bb114
57         br i1 false, label %cond_next166, label %bb182
58
59 cond_next166:           ; preds = %cond_false151
60         br i1 false, label %bb183, label %bb182
61
62 bb182:          ; preds = %cond_next166, %cond_false151
63         br label %bb183
64
65 bb183:          ; preds = %bb182, %cond_next166
66         br i1 false, label %cond_false256, label %cond_true186
67
68 cond_true186:           ; preds = %bb183
69         br i1 false, label %cond_true207, label %cond_false214
70
71 cond_true207:           ; preds = %cond_true186
72         br label %bb1269.outer38.backedge
73
74 bb1269.outer38.backedge:                ; preds = %cond_true545, %cond_true432, %cond_true320, %cond_true207
75         br label %bb1269.outer38
76
77 cond_false214:          ; preds = %cond_true186
78         br i1 false, label %cond_true228, label %cond_false235
79
80 cond_true228:           ; preds = %cond_false214
81         br label %bb1269.outer21.backedge
82
83 bb1269.outer21.backedge:                ; preds = %cond_true566, %cond_true453, %cond_true341, %cond_true228
84         br label %bb1269.outer21
85
86 cond_false235:          ; preds = %cond_false214
87         br i1 false, label %UnifiedReturnBlock, label %cond_false250
88
89 cond_false250:          ; preds = %cond_false235
90         br label %UnifiedUnreachableBlock
91
92 cond_false256:          ; preds = %bb183
93         br i1 false, label %cond_next271, label %bb287
94
95 cond_next271:           ; preds = %cond_false256
96         br i1 false, label %bb288, label %bb287
97
98 bb287:          ; preds = %cond_next271, %cond_false256
99         br label %bb288
100
101 bb288:          ; preds = %bb287, %cond_next271
102         br i1 false, label %cond_false369, label %cond_true291
103
104 cond_true291:           ; preds = %bb288
105         br i1 false, label %cond_true320, label %cond_false327
106
107 cond_true320:           ; preds = %cond_true291
108         br label %bb1269.outer38.backedge
109
110 cond_false327:          ; preds = %cond_true291
111         br i1 false, label %cond_true341, label %cond_false348
112
113 cond_true341:           ; preds = %cond_false327
114         br label %bb1269.outer21.backedge
115
116 cond_false348:          ; preds = %cond_false327
117         br i1 false, label %UnifiedReturnBlock, label %cond_false363
118
119 cond_false363:          ; preds = %cond_false348
120         br label %UnifiedUnreachableBlock
121
122 cond_false369:          ; preds = %bb288
123         br i1 false, label %cond_next384, label %bb400
124
125 cond_next384:           ; preds = %cond_false369
126         br i1 false, label %bb401, label %bb400
127
128 bb400:          ; preds = %cond_next384, %cond_false369
129         br label %bb401
130
131 bb401:          ; preds = %bb400, %cond_next384
132         br i1 false, label %cond_false481, label %cond_true404
133
134 cond_true404:           ; preds = %bb401
135         br i1 false, label %cond_true432, label %cond_false439
136
137 cond_true432:           ; preds = %cond_true404
138         br label %bb1269.outer38.backedge
139
140 cond_false439:          ; preds = %cond_true404
141         br i1 false, label %cond_true453, label %cond_false460
142
143 cond_true453:           ; preds = %cond_false439
144         br label %bb1269.outer21.backedge
145
146 cond_false460:          ; preds = %cond_false439
147         br i1 false, label %UnifiedReturnBlock, label %cond_false475
148
149 cond_false475:          ; preds = %cond_false460
150         br label %UnifiedUnreachableBlock
151
152 cond_false481:          ; preds = %bb401
153         br i1 false, label %cond_next496, label %bb512
154
155 cond_next496:           ; preds = %cond_false481
156         br i1 false, label %bb513, label %bb512
157
158 bb512:          ; preds = %cond_next496, %cond_false481
159         br label %bb513
160
161 bb513:          ; preds = %bb512, %cond_next496
162         br i1 false, label %cond_false594, label %cond_true516
163
164 cond_true516:           ; preds = %bb513
165         br i1 false, label %cond_true545, label %cond_false552
166
167 cond_true545:           ; preds = %cond_true516
168         br label %bb1269.outer38.backedge
169
170 cond_false552:          ; preds = %cond_true516
171         br i1 false, label %cond_true566, label %cond_false573
172
173 cond_true566:           ; preds = %cond_false552
174         br label %bb1269.outer21.backedge
175
176 cond_false573:          ; preds = %cond_false552
177         br i1 false, label %UnifiedReturnBlock, label %cond_false588
178
179 cond_false588:          ; preds = %cond_false573
180         br label %UnifiedUnreachableBlock
181
182 cond_false594:          ; preds = %bb513
183         br i1 false, label %cond_next609, label %bb625
184
185 cond_next609:           ; preds = %cond_false594
186         br i1 false, label %bb626, label %bb625
187
188 bb625:          ; preds = %cond_next609, %cond_false594
189         br label %bb626
190
191 bb626:          ; preds = %bb625, %cond_next609
192         br i1 false, label %cond_false707, label %cond_true629
193
194 cond_true629:           ; preds = %bb626
195         br i1 false, label %cond_true658, label %cond_false665
196
197 cond_true658:           ; preds = %cond_true629
198         br label %bb1269.outer2.backedge
199
200 bb1269.outer2.backedge:         ; preds = %cond_true679, %cond_true658
201         br label %bb1269.outer2
202
203 cond_false665:          ; preds = %cond_true629
204         br i1 false, label %cond_true679, label %cond_false686
205
206 cond_true679:           ; preds = %cond_false665
207         br label %bb1269.outer2.backedge
208
209 cond_false686:          ; preds = %cond_false665
210         br i1 false, label %UnifiedReturnBlock, label %cond_false701
211
212 cond_false701:          ; preds = %cond_false686
213         br label %UnifiedUnreachableBlock
214
215 cond_false707:          ; preds = %bb626
216         br i1 false, label %cond_next722, label %bb738
217
218 cond_next722:           ; preds = %cond_false707
219         br i1 false, label %bb739, label %bb738
220
221 bb738:          ; preds = %cond_next722, %cond_false707
222         br label %bb739
223
224 bb739:          ; preds = %bb738, %cond_next722
225         br i1 false, label %cond_false820, label %cond_true742
226
227 cond_true742:           ; preds = %bb739
228         br i1 false, label %cond_true771, label %cond_false778
229
230 cond_true771:           ; preds = %cond_true742
231         br label %bb1269.outer.backedge
232
233 bb1269.outer.backedge:          ; preds = %cond_true792, %cond_true771
234         br label %bb1269.outer
235
236 cond_false778:          ; preds = %cond_true742
237         br i1 false, label %cond_true792, label %cond_false799
238
239 cond_true792:           ; preds = %cond_false778
240         br label %bb1269.outer.backedge
241
242 cond_false799:          ; preds = %cond_false778
243         br i1 false, label %UnifiedReturnBlock, label %cond_false814
244
245 cond_false814:          ; preds = %cond_false799
246         br label %UnifiedUnreachableBlock
247
248 cond_false820:          ; preds = %bb739
249         br i1 false, label %cond_next835, label %bb851
250
251 cond_next835:           ; preds = %cond_false820
252         br i1 false, label %bb852, label %bb851
253
254 bb851:          ; preds = %cond_next835, %cond_false820
255         br label %bb852
256
257 bb852:          ; preds = %bb851, %cond_next835
258         br i1 false, label %cond_false933, label %cond_true855
259
260 cond_true855:           ; preds = %bb852
261         br i1 false, label %cond_true884, label %cond_false891
262
263 cond_true884:           ; preds = %cond_true855
264         br label %bb1269.outer.outer.backedge
265
266 bb1269.outer.outer.backedge:            ; preds = %cond_true905, %cond_true884
267         br label %bb1269.outer.outer
268
269 cond_false891:          ; preds = %cond_true855
270         br i1 false, label %cond_true905, label %cond_false912
271
272 cond_true905:           ; preds = %cond_false891
273         br label %bb1269.outer.outer.backedge
274
275 cond_false912:          ; preds = %cond_false891
276         br i1 false, label %UnifiedReturnBlock, label %cond_false927
277
278 cond_false927:          ; preds = %cond_false912
279         br label %UnifiedUnreachableBlock
280
281 cond_false933:          ; preds = %bb852
282         br i1 false, label %cond_next948, label %bb964
283
284 cond_next948:           ; preds = %cond_false933
285         br i1 false, label %bb965, label %bb964
286
287 bb964:          ; preds = %cond_next948, %cond_false933
288         br label %bb965
289
290 bb965:          ; preds = %bb964, %cond_next948
291         br i1 false, label %cond_false1046, label %cond_true968
292
293 cond_true968:           ; preds = %bb965
294         br i1 false, label %cond_true997, label %cond_false1004
295
296 cond_true997:           ; preds = %cond_true968
297         br label %bb1269.outer.outer.outer.backedge
298
299 bb1269.outer.outer.outer.backedge:              ; preds = %cond_true1018, %cond_true997
300         br label %bb1269.outer.outer.outer
301
302 cond_false1004:         ; preds = %cond_true968
303         br i1 false, label %cond_true1018, label %cond_false1025
304
305 cond_true1018:          ; preds = %cond_false1004
306         br label %bb1269.outer.outer.outer.backedge
307
308 cond_false1025:         ; preds = %cond_false1004
309         br i1 false, label %UnifiedReturnBlock, label %cond_false1040
310
311 cond_false1040:         ; preds = %cond_false1025
312         br label %UnifiedUnreachableBlock
313
314 cond_false1046:         ; preds = %bb965
315         br i1 false, label %cond_next1061, label %bb1077
316
317 cond_next1061:          ; preds = %cond_false1046
318         br i1 false, label %bb1078, label %bb1077
319
320 bb1077:         ; preds = %cond_next1061, %cond_false1046
321         br label %bb1078
322
323 bb1078:         ; preds = %bb1077, %cond_next1061
324         %tmp1080 = phi i1 [ true, %bb1077 ], [ false, %cond_next1061 ]          ; <i1> [#uses=1]
325         br i1 %tmp1080, label %cond_false1159, label %cond_true1081
326
327 cond_true1081:          ; preds = %bb1078
328         br i1 false, label %cond_true1110, label %cond_false1117
329
330 cond_true1110:          ; preds = %cond_true1081
331         br label %bb1269.outer.outer.outer.outer.backedge
332
333 bb1269.outer.outer.outer.outer.backedge:                ; preds = %cond_true1131, %cond_true1110
334         br label %bb1269.outer.outer.outer.outer
335
336 cond_false1117:         ; preds = %cond_true1081
337         br i1 false, label %cond_true1131, label %cond_false1138
338
339 cond_true1131:          ; preds = %cond_false1117
340         br label %bb1269.outer.outer.outer.outer.backedge
341
342 cond_false1138:         ; preds = %cond_false1117
343         br i1 false, label %UnifiedReturnBlock, label %cond_false1153
344
345 cond_false1153:         ; preds = %cond_false1138
346         br label %UnifiedUnreachableBlock
347
348 cond_false1159:         ; preds = %bb1078
349         %tmp.i119.lcssa35.lcssa.lcssa.lcssa.lcssa.lcssa = phi %"struct.kc::impl_elem_patternrepresentation"* [ null, %bb1078 ]          ; <%"struct.kc::impl_elem_patternrepresentation"*> [#uses=0]
350         br i1 false, label %UnifiedReturnBlock, label %cond_false1174
351
352 cond_false1174:         ; preds = %cond_false1159
353         br i1 false, label %UnifiedReturnBlock, label %cond_false1189
354
355 cond_false1189:         ; preds = %cond_false1174
356         br i1 false, label %UnifiedReturnBlock, label %cond_false1204
357
358 cond_false1204:         ; preds = %cond_false1189
359         br i1 false, label %UnifiedReturnBlock, label %cond_false1219
360
361 cond_false1219:         ; preds = %cond_false1204
362         br i1 false, label %UnifiedReturnBlock, label %cond_true1222
363
364 cond_true1222:          ; preds = %cond_false1219
365         br label %UnifiedReturnBlock
366
367 bb1269.outer.outer.outer.outer:         ; preds = %bb1269.outer.outer.outer.outer.backedge, %entry
368         br label %bb1269.outer.outer.outer
369
370 bb1269.outer.outer.outer:               ; preds = %bb1269.outer.outer.outer.outer, %bb1269.outer.outer.outer.backedge
371         br label %bb1269.outer.outer
372
373 bb1269.outer.outer:             ; preds = %bb1269.outer.outer.outer, %bb1269.outer.outer.backedge
374         br label %bb1269.outer
375
376 bb1269.outer:           ; preds = %bb1269.outer.outer, %bb1269.outer.backedge
377         br label %bb1269.outer2
378
379 bb1269.outer2:          ; preds = %bb1269.outer, %bb1269.outer2.backedge
380         br label %bb1269.outer21
381
382 bb1269.outer21:         ; preds = %bb1269.outer2, %bb1269.outer21.backedge
383         br label %bb1269.outer38
384
385 bb1269.outer38:         ; preds = %bb1269.outer21, %bb1269.outer38.backedge
386         br label %bb1269.outer54
387
388 bb1269.outer54:         ; preds = %bb1269.outer38
389         br label %bb1269.outer69
390
391 bb1269.outer69:         ; preds = %bb1269.outer54, %cond_true
392         br label %bb1269
393
394 bb1269:         ; preds = %bb1269.outer69
395         br i1 false, label %cond_next1281, label %bb1294
396
397 cond_next1281:          ; preds = %bb1269
398         br i1 false, label %cond_true1298, label %bb1294
399
400 bb1294:         ; preds = %cond_next1281, %bb1269
401         br i1 false, label %cond_true1331, label %cond_next1313
402
403 cond_true1298:          ; preds = %cond_next1281
404         br i1 false, label %cond_false, label %cond_true
405
406 cond_next1313:          ; preds = %bb1294
407         br i1 false, label %cond_true1331, label %cond_next1355
408
409 cond_true1331:          ; preds = %cond_next1313, %bb1294
410         br i1 false, label %cond_false1346, label %cond_true1342
411
412 cond_true1342:          ; preds = %cond_true1331
413         br label %cond_next1350
414
415 cond_false1346:         ; preds = %cond_true1331
416         br label %cond_next1350
417
418 cond_next1350:          ; preds = %cond_false1346, %cond_true1342
419         br label %bb.i
420
421 bb.i:           ; preds = %bb.i, %cond_next1350
422         br i1 false, label %_ZN2kc18impl_abstract_list8freelistEv.exit, label %bb.i
423
424 _ZN2kc18impl_abstract_list8freelistEv.exit:             ; preds = %bb.i
425         br label %cond_next1355
426
427 cond_next1355:          ; preds = %_ZN2kc18impl_abstract_list8freelistEv.exit, %cond_next1313
428         br i1 false, label %cond_next1363, label %bb1388
429
430 cond_next1363:          ; preds = %cond_next1355
431         br i1 false, label %UnifiedReturnBlock, label %cond_true1366
432
433 cond_true1366:          ; preds = %cond_next1363
434         br label %UnifiedReturnBlock
435
436 bb1388:         ; preds = %cond_next1355
437         br i1 false, label %UnifiedReturnBlock, label %bb1414.preheader
438
439 bb1414.preheader:               ; preds = %bb1388
440         br label %bb1414
441
442 bb1414:         ; preds = %cond_true1426, %bb1414.preheader
443         br i1 false, label %cond_true1426, label %bb1429
444
445 cond_true1426:          ; preds = %bb1414
446         br label %bb1414
447
448 bb1429:         ; preds = %bb1414
449         br i1 false, label %cond_true1431, label %UnifiedReturnBlock
450
451 cond_true1431:          ; preds = %bb1429
452         br i1 false, label %UnifiedReturnBlock, label %cond_true1434
453
454 cond_true1434:          ; preds = %cond_true1431
455         br label %UnifiedReturnBlock
456
457 UnifiedUnreachableBlock:                ; preds = %cond_false1153, %cond_false1040, %cond_false927, %cond_false814, %cond_false701, %cond_false588, %cond_false475, %cond_false363, %cond_false250
458         unreachable
459
460 UnifiedReturnBlock:             ; preds = %cond_true1434, %cond_true1431, %bb1429, %bb1388, %cond_true1366, %cond_next1363, %cond_true1222, %cond_false1219, %cond_false1204, %cond_false1189, %cond_false1174, %cond_false1159, %cond_false1138, %cond_false1025, %cond_false912, %cond_false799, %cond_false686, %cond_false573, %cond_false460, %cond_false348, %cond_false235, %cond_true120, %cond_true117, %cond_true57, %cond_true55
461         ret void
462 }