1 ; RUN: opt %s -condprop -disable-output
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"* }
13 define void @_ZN2kc16compare_patternsEPNS_26impl_patternrepresentationES1_PNS_27impl_patternrepresentationsE() {
15 br label %bb1269.outer.outer.outer.outer
17 cond_true: ; preds = %cond_true1298
18 br label %bb1269.outer69
20 cond_false: ; preds = %cond_true1298
21 br i1 false, label %cond_next, label %bb51
23 cond_next: ; preds = %cond_false
24 br i1 false, label %bb52, label %bb51
26 bb51: ; preds = %cond_next, %cond_false
29 bb52: ; preds = %bb51, %cond_next
30 br i1 false, label %cond_false82, label %cond_true55
32 cond_true55: ; preds = %bb52
33 br i1 false, label %UnifiedReturnBlock, label %cond_true57
35 cond_true57: ; preds = %cond_true55
36 br label %UnifiedReturnBlock
38 cond_false82: ; preds = %bb52
39 br i1 false, label %cond_next97, label %bb113
41 cond_next97: ; preds = %cond_false82
42 br i1 false, label %bb114, label %bb113
44 bb113: ; preds = %cond_next97, %cond_false82
47 bb114: ; preds = %bb113, %cond_next97
48 br i1 false, label %cond_false151, label %cond_true117
50 cond_true117: ; preds = %bb114
51 br i1 false, label %UnifiedReturnBlock, label %cond_true120
53 cond_true120: ; preds = %cond_true117
54 br label %UnifiedReturnBlock
56 cond_false151: ; preds = %bb114
57 br i1 false, label %cond_next166, label %bb182
59 cond_next166: ; preds = %cond_false151
60 br i1 false, label %bb183, label %bb182
62 bb182: ; preds = %cond_next166, %cond_false151
65 bb183: ; preds = %bb182, %cond_next166
66 br i1 false, label %cond_false256, label %cond_true186
68 cond_true186: ; preds = %bb183
69 br i1 false, label %cond_true207, label %cond_false214
71 cond_true207: ; preds = %cond_true186
72 br label %bb1269.outer38.backedge
74 bb1269.outer38.backedge: ; preds = %cond_true545, %cond_true432, %cond_true320, %cond_true207
75 br label %bb1269.outer38
77 cond_false214: ; preds = %cond_true186
78 br i1 false, label %cond_true228, label %cond_false235
80 cond_true228: ; preds = %cond_false214
81 br label %bb1269.outer21.backedge
83 bb1269.outer21.backedge: ; preds = %cond_true566, %cond_true453, %cond_true341, %cond_true228
84 br label %bb1269.outer21
86 cond_false235: ; preds = %cond_false214
87 br i1 false, label %UnifiedReturnBlock, label %cond_false250
89 cond_false250: ; preds = %cond_false235
90 br label %UnifiedUnreachableBlock
92 cond_false256: ; preds = %bb183
93 br i1 false, label %cond_next271, label %bb287
95 cond_next271: ; preds = %cond_false256
96 br i1 false, label %bb288, label %bb287
98 bb287: ; preds = %cond_next271, %cond_false256
101 bb288: ; preds = %bb287, %cond_next271
102 br i1 false, label %cond_false369, label %cond_true291
104 cond_true291: ; preds = %bb288
105 br i1 false, label %cond_true320, label %cond_false327
107 cond_true320: ; preds = %cond_true291
108 br label %bb1269.outer38.backedge
110 cond_false327: ; preds = %cond_true291
111 br i1 false, label %cond_true341, label %cond_false348
113 cond_true341: ; preds = %cond_false327
114 br label %bb1269.outer21.backedge
116 cond_false348: ; preds = %cond_false327
117 br i1 false, label %UnifiedReturnBlock, label %cond_false363
119 cond_false363: ; preds = %cond_false348
120 br label %UnifiedUnreachableBlock
122 cond_false369: ; preds = %bb288
123 br i1 false, label %cond_next384, label %bb400
125 cond_next384: ; preds = %cond_false369
126 br i1 false, label %bb401, label %bb400
128 bb400: ; preds = %cond_next384, %cond_false369
131 bb401: ; preds = %bb400, %cond_next384
132 br i1 false, label %cond_false481, label %cond_true404
134 cond_true404: ; preds = %bb401
135 br i1 false, label %cond_true432, label %cond_false439
137 cond_true432: ; preds = %cond_true404
138 br label %bb1269.outer38.backedge
140 cond_false439: ; preds = %cond_true404
141 br i1 false, label %cond_true453, label %cond_false460
143 cond_true453: ; preds = %cond_false439
144 br label %bb1269.outer21.backedge
146 cond_false460: ; preds = %cond_false439
147 br i1 false, label %UnifiedReturnBlock, label %cond_false475
149 cond_false475: ; preds = %cond_false460
150 br label %UnifiedUnreachableBlock
152 cond_false481: ; preds = %bb401
153 br i1 false, label %cond_next496, label %bb512
155 cond_next496: ; preds = %cond_false481
156 br i1 false, label %bb513, label %bb512
158 bb512: ; preds = %cond_next496, %cond_false481
161 bb513: ; preds = %bb512, %cond_next496
162 br i1 false, label %cond_false594, label %cond_true516
164 cond_true516: ; preds = %bb513
165 br i1 false, label %cond_true545, label %cond_false552
167 cond_true545: ; preds = %cond_true516
168 br label %bb1269.outer38.backedge
170 cond_false552: ; preds = %cond_true516
171 br i1 false, label %cond_true566, label %cond_false573
173 cond_true566: ; preds = %cond_false552
174 br label %bb1269.outer21.backedge
176 cond_false573: ; preds = %cond_false552
177 br i1 false, label %UnifiedReturnBlock, label %cond_false588
179 cond_false588: ; preds = %cond_false573
180 br label %UnifiedUnreachableBlock
182 cond_false594: ; preds = %bb513
183 br i1 false, label %cond_next609, label %bb625
185 cond_next609: ; preds = %cond_false594
186 br i1 false, label %bb626, label %bb625
188 bb625: ; preds = %cond_next609, %cond_false594
191 bb626: ; preds = %bb625, %cond_next609
192 br i1 false, label %cond_false707, label %cond_true629
194 cond_true629: ; preds = %bb626
195 br i1 false, label %cond_true658, label %cond_false665
197 cond_true658: ; preds = %cond_true629
198 br label %bb1269.outer2.backedge
200 bb1269.outer2.backedge: ; preds = %cond_true679, %cond_true658
201 br label %bb1269.outer2
203 cond_false665: ; preds = %cond_true629
204 br i1 false, label %cond_true679, label %cond_false686
206 cond_true679: ; preds = %cond_false665
207 br label %bb1269.outer2.backedge
209 cond_false686: ; preds = %cond_false665
210 br i1 false, label %UnifiedReturnBlock, label %cond_false701
212 cond_false701: ; preds = %cond_false686
213 br label %UnifiedUnreachableBlock
215 cond_false707: ; preds = %bb626
216 br i1 false, label %cond_next722, label %bb738
218 cond_next722: ; preds = %cond_false707
219 br i1 false, label %bb739, label %bb738
221 bb738: ; preds = %cond_next722, %cond_false707
224 bb739: ; preds = %bb738, %cond_next722
225 br i1 false, label %cond_false820, label %cond_true742
227 cond_true742: ; preds = %bb739
228 br i1 false, label %cond_true771, label %cond_false778
230 cond_true771: ; preds = %cond_true742
231 br label %bb1269.outer.backedge
233 bb1269.outer.backedge: ; preds = %cond_true792, %cond_true771
234 br label %bb1269.outer
236 cond_false778: ; preds = %cond_true742
237 br i1 false, label %cond_true792, label %cond_false799
239 cond_true792: ; preds = %cond_false778
240 br label %bb1269.outer.backedge
242 cond_false799: ; preds = %cond_false778
243 br i1 false, label %UnifiedReturnBlock, label %cond_false814
245 cond_false814: ; preds = %cond_false799
246 br label %UnifiedUnreachableBlock
248 cond_false820: ; preds = %bb739
249 br i1 false, label %cond_next835, label %bb851
251 cond_next835: ; preds = %cond_false820
252 br i1 false, label %bb852, label %bb851
254 bb851: ; preds = %cond_next835, %cond_false820
257 bb852: ; preds = %bb851, %cond_next835
258 br i1 false, label %cond_false933, label %cond_true855
260 cond_true855: ; preds = %bb852
261 br i1 false, label %cond_true884, label %cond_false891
263 cond_true884: ; preds = %cond_true855
264 br label %bb1269.outer.outer.backedge
266 bb1269.outer.outer.backedge: ; preds = %cond_true905, %cond_true884
267 br label %bb1269.outer.outer
269 cond_false891: ; preds = %cond_true855
270 br i1 false, label %cond_true905, label %cond_false912
272 cond_true905: ; preds = %cond_false891
273 br label %bb1269.outer.outer.backedge
275 cond_false912: ; preds = %cond_false891
276 br i1 false, label %UnifiedReturnBlock, label %cond_false927
278 cond_false927: ; preds = %cond_false912
279 br label %UnifiedUnreachableBlock
281 cond_false933: ; preds = %bb852
282 br i1 false, label %cond_next948, label %bb964
284 cond_next948: ; preds = %cond_false933
285 br i1 false, label %bb965, label %bb964
287 bb964: ; preds = %cond_next948, %cond_false933
290 bb965: ; preds = %bb964, %cond_next948
291 br i1 false, label %cond_false1046, label %cond_true968
293 cond_true968: ; preds = %bb965
294 br i1 false, label %cond_true997, label %cond_false1004
296 cond_true997: ; preds = %cond_true968
297 br label %bb1269.outer.outer.outer.backedge
299 bb1269.outer.outer.outer.backedge: ; preds = %cond_true1018, %cond_true997
300 br label %bb1269.outer.outer.outer
302 cond_false1004: ; preds = %cond_true968
303 br i1 false, label %cond_true1018, label %cond_false1025
305 cond_true1018: ; preds = %cond_false1004
306 br label %bb1269.outer.outer.outer.backedge
308 cond_false1025: ; preds = %cond_false1004
309 br i1 false, label %UnifiedReturnBlock, label %cond_false1040
311 cond_false1040: ; preds = %cond_false1025
312 br label %UnifiedUnreachableBlock
314 cond_false1046: ; preds = %bb965
315 br i1 false, label %cond_next1061, label %bb1077
317 cond_next1061: ; preds = %cond_false1046
318 br i1 false, label %bb1078, label %bb1077
320 bb1077: ; preds = %cond_next1061, %cond_false1046
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
327 cond_true1081: ; preds = %bb1078
328 br i1 false, label %cond_true1110, label %cond_false1117
330 cond_true1110: ; preds = %cond_true1081
331 br label %bb1269.outer.outer.outer.outer.backedge
333 bb1269.outer.outer.outer.outer.backedge: ; preds = %cond_true1131, %cond_true1110
334 br label %bb1269.outer.outer.outer.outer
336 cond_false1117: ; preds = %cond_true1081
337 br i1 false, label %cond_true1131, label %cond_false1138
339 cond_true1131: ; preds = %cond_false1117
340 br label %bb1269.outer.outer.outer.outer.backedge
342 cond_false1138: ; preds = %cond_false1117
343 br i1 false, label %UnifiedReturnBlock, label %cond_false1153
345 cond_false1153: ; preds = %cond_false1138
346 br label %UnifiedUnreachableBlock
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
352 cond_false1174: ; preds = %cond_false1159
353 br i1 false, label %UnifiedReturnBlock, label %cond_false1189
355 cond_false1189: ; preds = %cond_false1174
356 br i1 false, label %UnifiedReturnBlock, label %cond_false1204
358 cond_false1204: ; preds = %cond_false1189
359 br i1 false, label %UnifiedReturnBlock, label %cond_false1219
361 cond_false1219: ; preds = %cond_false1204
362 br i1 false, label %UnifiedReturnBlock, label %cond_true1222
364 cond_true1222: ; preds = %cond_false1219
365 br label %UnifiedReturnBlock
367 bb1269.outer.outer.outer.outer: ; preds = %bb1269.outer.outer.outer.outer.backedge, %entry
368 br label %bb1269.outer.outer.outer
370 bb1269.outer.outer.outer: ; preds = %bb1269.outer.outer.outer.outer, %bb1269.outer.outer.outer.backedge
371 br label %bb1269.outer.outer
373 bb1269.outer.outer: ; preds = %bb1269.outer.outer.outer, %bb1269.outer.outer.backedge
374 br label %bb1269.outer
376 bb1269.outer: ; preds = %bb1269.outer.outer, %bb1269.outer.backedge
377 br label %bb1269.outer2
379 bb1269.outer2: ; preds = %bb1269.outer, %bb1269.outer2.backedge
380 br label %bb1269.outer21
382 bb1269.outer21: ; preds = %bb1269.outer2, %bb1269.outer21.backedge
383 br label %bb1269.outer38
385 bb1269.outer38: ; preds = %bb1269.outer21, %bb1269.outer38.backedge
386 br label %bb1269.outer54
388 bb1269.outer54: ; preds = %bb1269.outer38
389 br label %bb1269.outer69
391 bb1269.outer69: ; preds = %bb1269.outer54, %cond_true
394 bb1269: ; preds = %bb1269.outer69
395 br i1 false, label %cond_next1281, label %bb1294
397 cond_next1281: ; preds = %bb1269
398 br i1 false, label %cond_true1298, label %bb1294
400 bb1294: ; preds = %cond_next1281, %bb1269
401 br i1 false, label %cond_true1331, label %cond_next1313
403 cond_true1298: ; preds = %cond_next1281
404 br i1 false, label %cond_false, label %cond_true
406 cond_next1313: ; preds = %bb1294
407 br i1 false, label %cond_true1331, label %cond_next1355
409 cond_true1331: ; preds = %cond_next1313, %bb1294
410 br i1 false, label %cond_false1346, label %cond_true1342
412 cond_true1342: ; preds = %cond_true1331
413 br label %cond_next1350
415 cond_false1346: ; preds = %cond_true1331
416 br label %cond_next1350
418 cond_next1350: ; preds = %cond_false1346, %cond_true1342
421 bb.i: ; preds = %bb.i, %cond_next1350
422 br i1 false, label %_ZN2kc18impl_abstract_list8freelistEv.exit, label %bb.i
424 _ZN2kc18impl_abstract_list8freelistEv.exit: ; preds = %bb.i
425 br label %cond_next1355
427 cond_next1355: ; preds = %_ZN2kc18impl_abstract_list8freelistEv.exit, %cond_next1313
428 br i1 false, label %cond_next1363, label %bb1388
430 cond_next1363: ; preds = %cond_next1355
431 br i1 false, label %UnifiedReturnBlock, label %cond_true1366
433 cond_true1366: ; preds = %cond_next1363
434 br label %UnifiedReturnBlock
436 bb1388: ; preds = %cond_next1355
437 br i1 false, label %UnifiedReturnBlock, label %bb1414.preheader
439 bb1414.preheader: ; preds = %bb1388
442 bb1414: ; preds = %cond_true1426, %bb1414.preheader
443 br i1 false, label %cond_true1426, label %bb1429
445 cond_true1426: ; preds = %bb1414
448 bb1429: ; preds = %bb1414
449 br i1 false, label %cond_true1431, label %UnifiedReturnBlock
451 cond_true1431: ; preds = %bb1429
452 br i1 false, label %UnifiedReturnBlock, label %cond_true1434
454 cond_true1434: ; preds = %cond_true1431
455 br label %UnifiedReturnBlock
457 UnifiedUnreachableBlock: ; preds = %cond_false1153, %cond_false1040, %cond_false927, %cond_false814, %cond_false701, %cond_false588, %cond_false475, %cond_false363, %cond_false250
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