1 ; RUN: llvm-upgrade < %s | llvm-as | opt -condprop -disable-output
5 target pointersize = 32
6 target triple = "powerpc-apple-darwin9.0.0d1"
7 "struct.kc::impl_Ccode_option" = type { "struct.kc::impl_abstract_phylum" }
8 "struct.kc::impl_ID" = type { "struct.kc::impl_abstract_phylum", "struct.kc::impl_Ccode_option"*, "struct.kc::impl_casestring__Str"*, int, "struct.kc::impl_casestring__Str"* }
9 "struct.kc::impl_abstract_phylum" = type { int (...)** }
10 "struct.kc::impl_casestring__Str" = type { "struct.kc::impl_abstract_phylum", sbyte* }
11 "struct.kc::impl_elem_patternrepresentation" = type { "struct.kc::impl_abstract_phylum", int, "struct.kc::impl_casestring__Str"*, "struct.kc::impl_ID"* }
12 "struct.kc::impl_outmostpatterns" = type { "struct.kc::impl_Ccode_option", "struct.kc::impl_elem_patternrepresentation"*, "struct.kc::impl_outmostpatterns"* }
13 "struct.kc::impl_patternrepresentations" = type { "struct.kc::impl_Ccode_option", "struct.kc::impl_outmostpatterns"*, "struct.kc::impl_patternrepresentations"* }
15 implementation ; Functions:
17 void %_ZN2kc16compare_patternsEPNS_26impl_patternrepresentationES1_PNS_27impl_patternrepresentationsE() {
19 br label %bb1269.outer.outer.outer.outer
21 cond_true: ; preds = %cond_true1298
22 br label %bb1269.outer69
24 cond_false: ; preds = %cond_true1298
25 br bool false, label %cond_next, label %bb51
27 cond_next: ; preds = %cond_false
28 br bool false, label %bb52, label %bb51
30 bb51: ; preds = %cond_next, %cond_false
33 bb52: ; preds = %bb51, %cond_next
34 br bool false, label %cond_false82, label %cond_true55
36 cond_true55: ; preds = %bb52
37 br bool false, label %UnifiedReturnBlock, label %cond_true57
39 cond_true57: ; preds = %cond_true55
40 br label %UnifiedReturnBlock
42 cond_false82: ; preds = %bb52
43 br bool false, label %cond_next97, label %bb113
45 cond_next97: ; preds = %cond_false82
46 br bool false, label %bb114, label %bb113
48 bb113: ; preds = %cond_next97, %cond_false82
51 bb114: ; preds = %bb113, %cond_next97
52 br bool false, label %cond_false151, label %cond_true117
54 cond_true117: ; preds = %bb114
55 br bool false, label %UnifiedReturnBlock, label %cond_true120
57 cond_true120: ; preds = %cond_true117
58 br label %UnifiedReturnBlock
60 cond_false151: ; preds = %bb114
61 br bool false, label %cond_next166, label %bb182
63 cond_next166: ; preds = %cond_false151
64 br bool false, label %bb183, label %bb182
66 bb182: ; preds = %cond_next166, %cond_false151
69 bb183: ; preds = %bb182, %cond_next166
70 br bool false, label %cond_false256, label %cond_true186
72 cond_true186: ; preds = %bb183
73 br bool false, label %cond_true207, label %cond_false214
75 cond_true207: ; preds = %cond_true186
76 br label %bb1269.outer38.backedge
78 bb1269.outer38.backedge: ; preds = %cond_true545, %cond_true432, %cond_true320, %cond_true207
79 br label %bb1269.outer38
81 cond_false214: ; preds = %cond_true186
82 br bool false, label %cond_true228, label %cond_false235
84 cond_true228: ; preds = %cond_false214
85 br label %bb1269.outer21.backedge
87 bb1269.outer21.backedge: ; preds = %cond_true566, %cond_true453, %cond_true341, %cond_true228
88 br label %bb1269.outer21
90 cond_false235: ; preds = %cond_false214
91 br bool false, label %UnifiedReturnBlock, label %cond_false250
93 cond_false250: ; preds = %cond_false235
94 br label %UnifiedUnreachableBlock
96 cond_false256: ; preds = %bb183
97 br bool false, label %cond_next271, label %bb287
99 cond_next271: ; preds = %cond_false256
100 br bool false, label %bb288, label %bb287
102 bb287: ; preds = %cond_next271, %cond_false256
105 bb288: ; preds = %bb287, %cond_next271
106 br bool false, label %cond_false369, label %cond_true291
108 cond_true291: ; preds = %bb288
109 br bool false, label %cond_true320, label %cond_false327
111 cond_true320: ; preds = %cond_true291
112 br label %bb1269.outer38.backedge
114 cond_false327: ; preds = %cond_true291
115 br bool false, label %cond_true341, label %cond_false348
117 cond_true341: ; preds = %cond_false327
118 br label %bb1269.outer21.backedge
120 cond_false348: ; preds = %cond_false327
121 br bool false, label %UnifiedReturnBlock, label %cond_false363
123 cond_false363: ; preds = %cond_false348
124 br label %UnifiedUnreachableBlock
126 cond_false369: ; preds = %bb288
127 br bool false, label %cond_next384, label %bb400
129 cond_next384: ; preds = %cond_false369
130 br bool false, label %bb401, label %bb400
132 bb400: ; preds = %cond_next384, %cond_false369
135 bb401: ; preds = %bb400, %cond_next384
136 br bool false, label %cond_false481, label %cond_true404
138 cond_true404: ; preds = %bb401
139 br bool false, label %cond_true432, label %cond_false439
141 cond_true432: ; preds = %cond_true404
142 br label %bb1269.outer38.backedge
144 cond_false439: ; preds = %cond_true404
145 br bool false, label %cond_true453, label %cond_false460
147 cond_true453: ; preds = %cond_false439
148 br label %bb1269.outer21.backedge
150 cond_false460: ; preds = %cond_false439
151 br bool false, label %UnifiedReturnBlock, label %cond_false475
153 cond_false475: ; preds = %cond_false460
154 br label %UnifiedUnreachableBlock
156 cond_false481: ; preds = %bb401
157 br bool false, label %cond_next496, label %bb512
159 cond_next496: ; preds = %cond_false481
160 br bool false, label %bb513, label %bb512
162 bb512: ; preds = %cond_next496, %cond_false481
165 bb513: ; preds = %bb512, %cond_next496
166 br bool false, label %cond_false594, label %cond_true516
168 cond_true516: ; preds = %bb513
169 br bool false, label %cond_true545, label %cond_false552
171 cond_true545: ; preds = %cond_true516
172 br label %bb1269.outer38.backedge
174 cond_false552: ; preds = %cond_true516
175 br bool false, label %cond_true566, label %cond_false573
177 cond_true566: ; preds = %cond_false552
178 br label %bb1269.outer21.backedge
180 cond_false573: ; preds = %cond_false552
181 br bool false, label %UnifiedReturnBlock, label %cond_false588
183 cond_false588: ; preds = %cond_false573
184 br label %UnifiedUnreachableBlock
186 cond_false594: ; preds = %bb513
187 br bool false, label %cond_next609, label %bb625
189 cond_next609: ; preds = %cond_false594
190 br bool false, label %bb626, label %bb625
192 bb625: ; preds = %cond_next609, %cond_false594
195 bb626: ; preds = %bb625, %cond_next609
196 br bool false, label %cond_false707, label %cond_true629
198 cond_true629: ; preds = %bb626
199 br bool false, label %cond_true658, label %cond_false665
201 cond_true658: ; preds = %cond_true629
202 br label %bb1269.outer2.backedge
204 bb1269.outer2.backedge: ; preds = %cond_true679, %cond_true658
205 br label %bb1269.outer2
207 cond_false665: ; preds = %cond_true629
208 br bool false, label %cond_true679, label %cond_false686
210 cond_true679: ; preds = %cond_false665
211 br label %bb1269.outer2.backedge
213 cond_false686: ; preds = %cond_false665
214 br bool false, label %UnifiedReturnBlock, label %cond_false701
216 cond_false701: ; preds = %cond_false686
217 br label %UnifiedUnreachableBlock
219 cond_false707: ; preds = %bb626
220 br bool false, label %cond_next722, label %bb738
222 cond_next722: ; preds = %cond_false707
223 br bool false, label %bb739, label %bb738
225 bb738: ; preds = %cond_next722, %cond_false707
228 bb739: ; preds = %bb738, %cond_next722
229 br bool false, label %cond_false820, label %cond_true742
231 cond_true742: ; preds = %bb739
232 br bool false, label %cond_true771, label %cond_false778
234 cond_true771: ; preds = %cond_true742
235 br label %bb1269.outer.backedge
237 bb1269.outer.backedge: ; preds = %cond_true792, %cond_true771
238 br label %bb1269.outer
240 cond_false778: ; preds = %cond_true742
241 br bool false, label %cond_true792, label %cond_false799
243 cond_true792: ; preds = %cond_false778
244 br label %bb1269.outer.backedge
246 cond_false799: ; preds = %cond_false778
247 br bool false, label %UnifiedReturnBlock, label %cond_false814
249 cond_false814: ; preds = %cond_false799
250 br label %UnifiedUnreachableBlock
252 cond_false820: ; preds = %bb739
253 br bool false, label %cond_next835, label %bb851
255 cond_next835: ; preds = %cond_false820
256 br bool false, label %bb852, label %bb851
258 bb851: ; preds = %cond_next835, %cond_false820
261 bb852: ; preds = %bb851, %cond_next835
262 br bool false, label %cond_false933, label %cond_true855
264 cond_true855: ; preds = %bb852
265 br bool false, label %cond_true884, label %cond_false891
267 cond_true884: ; preds = %cond_true855
268 br label %bb1269.outer.outer.backedge
270 bb1269.outer.outer.backedge: ; preds = %cond_true905, %cond_true884
271 br label %bb1269.outer.outer
273 cond_false891: ; preds = %cond_true855
274 br bool false, label %cond_true905, label %cond_false912
276 cond_true905: ; preds = %cond_false891
277 br label %bb1269.outer.outer.backedge
279 cond_false912: ; preds = %cond_false891
280 br bool false, label %UnifiedReturnBlock, label %cond_false927
282 cond_false927: ; preds = %cond_false912
283 br label %UnifiedUnreachableBlock
285 cond_false933: ; preds = %bb852
286 br bool false, label %cond_next948, label %bb964
288 cond_next948: ; preds = %cond_false933
289 br bool false, label %bb965, label %bb964
291 bb964: ; preds = %cond_next948, %cond_false933
294 bb965: ; preds = %bb964, %cond_next948
295 br bool false, label %cond_false1046, label %cond_true968
297 cond_true968: ; preds = %bb965
298 br bool false, label %cond_true997, label %cond_false1004
300 cond_true997: ; preds = %cond_true968
301 br label %bb1269.outer.outer.outer.backedge
303 bb1269.outer.outer.outer.backedge: ; preds = %cond_true1018, %cond_true997
304 br label %bb1269.outer.outer.outer
306 cond_false1004: ; preds = %cond_true968
307 br bool false, label %cond_true1018, label %cond_false1025
309 cond_true1018: ; preds = %cond_false1004
310 br label %bb1269.outer.outer.outer.backedge
312 cond_false1025: ; preds = %cond_false1004
313 br bool false, label %UnifiedReturnBlock, label %cond_false1040
315 cond_false1040: ; preds = %cond_false1025
316 br label %UnifiedUnreachableBlock
318 cond_false1046: ; preds = %bb965
319 br bool false, label %cond_next1061, label %bb1077
321 cond_next1061: ; preds = %cond_false1046
322 br bool false, label %bb1078, label %bb1077
324 bb1077: ; preds = %cond_next1061, %cond_false1046
327 bb1078: ; preds = %bb1077, %cond_next1061
328 %tmp1080 = phi bool [ true, %bb1077 ], [ false, %cond_next1061 ] ; <bool> [#uses=1]
329 br bool %tmp1080, label %cond_false1159, label %cond_true1081
331 cond_true1081: ; preds = %bb1078
332 br bool false, label %cond_true1110, label %cond_false1117
334 cond_true1110: ; preds = %cond_true1081
335 br label %bb1269.outer.outer.outer.outer.backedge
337 bb1269.outer.outer.outer.outer.backedge: ; preds = %cond_true1131, %cond_true1110
338 br label %bb1269.outer.outer.outer.outer
340 cond_false1117: ; preds = %cond_true1081
341 br bool false, label %cond_true1131, label %cond_false1138
343 cond_true1131: ; preds = %cond_false1117
344 br label %bb1269.outer.outer.outer.outer.backedge
346 cond_false1138: ; preds = %cond_false1117
347 br bool false, label %UnifiedReturnBlock, label %cond_false1153
349 cond_false1153: ; preds = %cond_false1138
350 br label %UnifiedUnreachableBlock
352 cond_false1159: ; preds = %bb1078
353 %tmp.i119.lcssa35.lcssa.lcssa.lcssa.lcssa.lcssa = phi "struct.kc::impl_elem_patternrepresentation"* [ null, %bb1078 ] ; <"struct.kc::impl_elem_patternrepresentation"*> [#uses=0]
354 br bool false, label %UnifiedReturnBlock, label %cond_false1174
356 cond_false1174: ; preds = %cond_false1159
357 br bool false, label %UnifiedReturnBlock, label %cond_false1189
359 cond_false1189: ; preds = %cond_false1174
360 br bool false, label %UnifiedReturnBlock, label %cond_false1204
362 cond_false1204: ; preds = %cond_false1189
363 br bool false, label %UnifiedReturnBlock, label %cond_false1219
365 cond_false1219: ; preds = %cond_false1204
366 br bool false, label %UnifiedReturnBlock, label %cond_true1222
368 cond_true1222: ; preds = %cond_false1219
369 br label %UnifiedReturnBlock
371 bb1269.outer.outer.outer.outer: ; preds = %bb1269.outer.outer.outer.outer.backedge, %entry
372 br label %bb1269.outer.outer.outer
374 bb1269.outer.outer.outer: ; preds = %bb1269.outer.outer.outer.outer, %bb1269.outer.outer.outer.backedge
375 br label %bb1269.outer.outer
377 bb1269.outer.outer: ; preds = %bb1269.outer.outer.outer, %bb1269.outer.outer.backedge
378 br label %bb1269.outer
380 bb1269.outer: ; preds = %bb1269.outer.outer, %bb1269.outer.backedge
381 br label %bb1269.outer2
383 bb1269.outer2: ; preds = %bb1269.outer, %bb1269.outer2.backedge
384 br label %bb1269.outer21
386 bb1269.outer21: ; preds = %bb1269.outer2, %bb1269.outer21.backedge
387 br label %bb1269.outer38
389 bb1269.outer38: ; preds = %bb1269.outer21, %bb1269.outer38.backedge
390 br label %bb1269.outer54
392 bb1269.outer54: ; preds = %bb1269.outer38
393 br label %bb1269.outer69
395 bb1269.outer69: ; preds = %bb1269.outer54, %cond_true
398 bb1269: ; preds = %bb1269.outer69
399 br bool false, label %cond_next1281, label %bb1294
401 cond_next1281: ; preds = %bb1269
402 br bool false, label %cond_true1298, label %bb1294
404 bb1294: ; preds = %cond_next1281, %bb1269
405 br bool false, label %cond_true1331, label %cond_next1313
407 cond_true1298: ; preds = %cond_next1281
408 br bool false, label %cond_false, label %cond_true
410 cond_next1313: ; preds = %bb1294
411 br bool false, label %cond_true1331, label %cond_next1355
413 cond_true1331: ; preds = %cond_next1313, %bb1294
414 br bool false, label %cond_false1346, label %cond_true1342
416 cond_true1342: ; preds = %cond_true1331
417 br label %cond_next1350
419 cond_false1346: ; preds = %cond_true1331
420 br label %cond_next1350
422 cond_next1350: ; preds = %cond_false1346, %cond_true1342
425 bb.i: ; preds = %bb.i, %cond_next1350
426 br bool false, label %_ZN2kc18impl_abstract_list8freelistEv.exit, label %bb.i
428 _ZN2kc18impl_abstract_list8freelistEv.exit: ; preds = %bb.i
429 br label %cond_next1355
431 cond_next1355: ; preds = %_ZN2kc18impl_abstract_list8freelistEv.exit, %cond_next1313
432 br bool false, label %cond_next1363, label %bb1388
434 cond_next1363: ; preds = %cond_next1355
435 br bool false, label %UnifiedReturnBlock, label %cond_true1366
437 cond_true1366: ; preds = %cond_next1363
438 br label %UnifiedReturnBlock
440 bb1388: ; preds = %cond_next1355
441 br bool false, label %UnifiedReturnBlock, label %bb1414.preheader
443 bb1414.preheader: ; preds = %bb1388
446 bb1414: ; preds = %cond_true1426, %bb1414.preheader
447 br bool false, label %cond_true1426, label %bb1429
449 cond_true1426: ; preds = %bb1414
452 bb1429: ; preds = %bb1414
453 br bool false, label %cond_true1431, label %UnifiedReturnBlock
455 cond_true1431: ; preds = %bb1429
456 br bool false, label %UnifiedReturnBlock, label %cond_true1434
458 cond_true1434: ; preds = %cond_true1431
459 br label %UnifiedReturnBlock
461 UnifiedUnreachableBlock: ; preds = %cond_false1153, %cond_false1040, %cond_false927, %cond_false814, %cond_false701, %cond_false588, %cond_false475, %cond_false363, %cond_false250
464 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