[llvm-commits] CVS: llvm/test/Regression/Transforms/CondProp/2006-08-14-SingleEntryPhiCrash.ll
Chris Lattner
lattner at cs.uiuc.edu
Mon Aug 14 14:37:46 PDT 2006
Changes in directory llvm/test/Regression/Transforms/CondProp:
2006-08-14-SingleEntryPhiCrash.ll added (r1.1)
---
Log message:
new testcase from PR877: http://llvm.org/PR877
---
Diffs of the changes: (+466 -0)
2006-08-14-SingleEntryPhiCrash.ll | 466 ++++++++++++++++++++++++++++++++++++++
1 files changed, 466 insertions(+)
Index: llvm/test/Regression/Transforms/CondProp/2006-08-14-SingleEntryPhiCrash.ll
diff -c /dev/null llvm/test/Regression/Transforms/CondProp/2006-08-14-SingleEntryPhiCrash.ll:1.1
*** /dev/null Mon Aug 14 16:37:42 2006
--- llvm/test/Regression/Transforms/CondProp/2006-08-14-SingleEntryPhiCrash.ll Mon Aug 14 16:37:32 2006
***************
*** 0 ****
--- 1,466 ----
+ ; RUN: llvm-as < %s | opt -condprop -disable-output
+ ; PR877
+
+ target endian = big
+ target pointersize = 32
+ target triple = "powerpc-apple-darwin9.0.0d1"
+ "struct.kc::impl_Ccode_option" = type { "struct.kc::impl_abstract_phylum" }
+ "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"* }
+ "struct.kc::impl_abstract_phylum" = type { int (...)** }
+ "struct.kc::impl_casestring__Str" = type { "struct.kc::impl_abstract_phylum", sbyte* }
+ "struct.kc::impl_elem_patternrepresentation" = type { "struct.kc::impl_abstract_phylum", int, "struct.kc::impl_casestring__Str"*, "struct.kc::impl_ID"* }
+ "struct.kc::impl_outmostpatterns" = type { "struct.kc::impl_Ccode_option", "struct.kc::impl_elem_patternrepresentation"*, "struct.kc::impl_outmostpatterns"* }
+ "struct.kc::impl_patternrepresentations" = type { "struct.kc::impl_Ccode_option", "struct.kc::impl_outmostpatterns"*, "struct.kc::impl_patternrepresentations"* }
+
+ implementation ; Functions:
+
+ void %_ZN2kc16compare_patternsEPNS_26impl_patternrepresentationES1_PNS_27impl_patternrepresentationsE() {
+ entry:
+ br label %bb1269.outer.outer.outer.outer
+
+ cond_true: ; preds = %cond_true1298
+ br label %bb1269.outer69
+
+ cond_false: ; preds = %cond_true1298
+ br bool false, label %cond_next, label %bb51
+
+ cond_next: ; preds = %cond_false
+ br bool false, label %bb52, label %bb51
+
+ bb51: ; preds = %cond_next, %cond_false
+ br label %bb52
+
+ bb52: ; preds = %bb51, %cond_next
+ br bool false, label %cond_false82, label %cond_true55
+
+ cond_true55: ; preds = %bb52
+ br bool false, label %UnifiedReturnBlock, label %cond_true57
+
+ cond_true57: ; preds = %cond_true55
+ br label %UnifiedReturnBlock
+
+ cond_false82: ; preds = %bb52
+ br bool false, label %cond_next97, label %bb113
+
+ cond_next97: ; preds = %cond_false82
+ br bool false, label %bb114, label %bb113
+
+ bb113: ; preds = %cond_next97, %cond_false82
+ br label %bb114
+
+ bb114: ; preds = %bb113, %cond_next97
+ br bool false, label %cond_false151, label %cond_true117
+
+ cond_true117: ; preds = %bb114
+ br bool false, label %UnifiedReturnBlock, label %cond_true120
+
+ cond_true120: ; preds = %cond_true117
+ br label %UnifiedReturnBlock
+
+ cond_false151: ; preds = %bb114
+ br bool false, label %cond_next166, label %bb182
+
+ cond_next166: ; preds = %cond_false151
+ br bool false, label %bb183, label %bb182
+
+ bb182: ; preds = %cond_next166, %cond_false151
+ br label %bb183
+
+ bb183: ; preds = %bb182, %cond_next166
+ br bool false, label %cond_false256, label %cond_true186
+
+ cond_true186: ; preds = %bb183
+ br bool false, label %cond_true207, label %cond_false214
+
+ cond_true207: ; preds = %cond_true186
+ br label %bb1269.outer38.backedge
+
+ bb1269.outer38.backedge: ; preds = %cond_true545, %cond_true432, %cond_true320, %cond_true207
+ br label %bb1269.outer38
+
+ cond_false214: ; preds = %cond_true186
+ br bool false, label %cond_true228, label %cond_false235
+
+ cond_true228: ; preds = %cond_false214
+ br label %bb1269.outer21.backedge
+
+ bb1269.outer21.backedge: ; preds = %cond_true566, %cond_true453, %cond_true341, %cond_true228
+ br label %bb1269.outer21
+
+ cond_false235: ; preds = %cond_false214
+ br bool false, label %UnifiedReturnBlock, label %cond_false250
+
+ cond_false250: ; preds = %cond_false235
+ br label %UnifiedUnreachableBlock
+
+ cond_false256: ; preds = %bb183
+ br bool false, label %cond_next271, label %bb287
+
+ cond_next271: ; preds = %cond_false256
+ br bool false, label %bb288, label %bb287
+
+ bb287: ; preds = %cond_next271, %cond_false256
+ br label %bb288
+
+ bb288: ; preds = %bb287, %cond_next271
+ br bool false, label %cond_false369, label %cond_true291
+
+ cond_true291: ; preds = %bb288
+ br bool false, label %cond_true320, label %cond_false327
+
+ cond_true320: ; preds = %cond_true291
+ br label %bb1269.outer38.backedge
+
+ cond_false327: ; preds = %cond_true291
+ br bool false, label %cond_true341, label %cond_false348
+
+ cond_true341: ; preds = %cond_false327
+ br label %bb1269.outer21.backedge
+
+ cond_false348: ; preds = %cond_false327
+ br bool false, label %UnifiedReturnBlock, label %cond_false363
+
+ cond_false363: ; preds = %cond_false348
+ br label %UnifiedUnreachableBlock
+
+ cond_false369: ; preds = %bb288
+ br bool false, label %cond_next384, label %bb400
+
+ cond_next384: ; preds = %cond_false369
+ br bool false, label %bb401, label %bb400
+
+ bb400: ; preds = %cond_next384, %cond_false369
+ br label %bb401
+
+ bb401: ; preds = %bb400, %cond_next384
+ br bool false, label %cond_false481, label %cond_true404
+
+ cond_true404: ; preds = %bb401
+ br bool false, label %cond_true432, label %cond_false439
+
+ cond_true432: ; preds = %cond_true404
+ br label %bb1269.outer38.backedge
+
+ cond_false439: ; preds = %cond_true404
+ br bool false, label %cond_true453, label %cond_false460
+
+ cond_true453: ; preds = %cond_false439
+ br label %bb1269.outer21.backedge
+
+ cond_false460: ; preds = %cond_false439
+ br bool false, label %UnifiedReturnBlock, label %cond_false475
+
+ cond_false475: ; preds = %cond_false460
+ br label %UnifiedUnreachableBlock
+
+ cond_false481: ; preds = %bb401
+ br bool false, label %cond_next496, label %bb512
+
+ cond_next496: ; preds = %cond_false481
+ br bool false, label %bb513, label %bb512
+
+ bb512: ; preds = %cond_next496, %cond_false481
+ br label %bb513
+
+ bb513: ; preds = %bb512, %cond_next496
+ br bool false, label %cond_false594, label %cond_true516
+
+ cond_true516: ; preds = %bb513
+ br bool false, label %cond_true545, label %cond_false552
+
+ cond_true545: ; preds = %cond_true516
+ br label %bb1269.outer38.backedge
+
+ cond_false552: ; preds = %cond_true516
+ br bool false, label %cond_true566, label %cond_false573
+
+ cond_true566: ; preds = %cond_false552
+ br label %bb1269.outer21.backedge
+
+ cond_false573: ; preds = %cond_false552
+ br bool false, label %UnifiedReturnBlock, label %cond_false588
+
+ cond_false588: ; preds = %cond_false573
+ br label %UnifiedUnreachableBlock
+
+ cond_false594: ; preds = %bb513
+ br bool false, label %cond_next609, label %bb625
+
+ cond_next609: ; preds = %cond_false594
+ br bool false, label %bb626, label %bb625
+
+ bb625: ; preds = %cond_next609, %cond_false594
+ br label %bb626
+
+ bb626: ; preds = %bb625, %cond_next609
+ br bool false, label %cond_false707, label %cond_true629
+
+ cond_true629: ; preds = %bb626
+ br bool false, label %cond_true658, label %cond_false665
+
+ cond_true658: ; preds = %cond_true629
+ br label %bb1269.outer2.backedge
+
+ bb1269.outer2.backedge: ; preds = %cond_true679, %cond_true658
+ br label %bb1269.outer2
+
+ cond_false665: ; preds = %cond_true629
+ br bool false, label %cond_true679, label %cond_false686
+
+ cond_true679: ; preds = %cond_false665
+ br label %bb1269.outer2.backedge
+
+ cond_false686: ; preds = %cond_false665
+ br bool false, label %UnifiedReturnBlock, label %cond_false701
+
+ cond_false701: ; preds = %cond_false686
+ br label %UnifiedUnreachableBlock
+
+ cond_false707: ; preds = %bb626
+ br bool false, label %cond_next722, label %bb738
+
+ cond_next722: ; preds = %cond_false707
+ br bool false, label %bb739, label %bb738
+
+ bb738: ; preds = %cond_next722, %cond_false707
+ br label %bb739
+
+ bb739: ; preds = %bb738, %cond_next722
+ br bool false, label %cond_false820, label %cond_true742
+
+ cond_true742: ; preds = %bb739
+ br bool false, label %cond_true771, label %cond_false778
+
+ cond_true771: ; preds = %cond_true742
+ br label %bb1269.outer.backedge
+
+ bb1269.outer.backedge: ; preds = %cond_true792, %cond_true771
+ br label %bb1269.outer
+
+ cond_false778: ; preds = %cond_true742
+ br bool false, label %cond_true792, label %cond_false799
+
+ cond_true792: ; preds = %cond_false778
+ br label %bb1269.outer.backedge
+
+ cond_false799: ; preds = %cond_false778
+ br bool false, label %UnifiedReturnBlock, label %cond_false814
+
+ cond_false814: ; preds = %cond_false799
+ br label %UnifiedUnreachableBlock
+
+ cond_false820: ; preds = %bb739
+ br bool false, label %cond_next835, label %bb851
+
+ cond_next835: ; preds = %cond_false820
+ br bool false, label %bb852, label %bb851
+
+ bb851: ; preds = %cond_next835, %cond_false820
+ br label %bb852
+
+ bb852: ; preds = %bb851, %cond_next835
+ br bool false, label %cond_false933, label %cond_true855
+
+ cond_true855: ; preds = %bb852
+ br bool false, label %cond_true884, label %cond_false891
+
+ cond_true884: ; preds = %cond_true855
+ br label %bb1269.outer.outer.backedge
+
+ bb1269.outer.outer.backedge: ; preds = %cond_true905, %cond_true884
+ br label %bb1269.outer.outer
+
+ cond_false891: ; preds = %cond_true855
+ br bool false, label %cond_true905, label %cond_false912
+
+ cond_true905: ; preds = %cond_false891
+ br label %bb1269.outer.outer.backedge
+
+ cond_false912: ; preds = %cond_false891
+ br bool false, label %UnifiedReturnBlock, label %cond_false927
+
+ cond_false927: ; preds = %cond_false912
+ br label %UnifiedUnreachableBlock
+
+ cond_false933: ; preds = %bb852
+ br bool false, label %cond_next948, label %bb964
+
+ cond_next948: ; preds = %cond_false933
+ br bool false, label %bb965, label %bb964
+
+ bb964: ; preds = %cond_next948, %cond_false933
+ br label %bb965
+
+ bb965: ; preds = %bb964, %cond_next948
+ br bool false, label %cond_false1046, label %cond_true968
+
+ cond_true968: ; preds = %bb965
+ br bool false, label %cond_true997, label %cond_false1004
+
+ cond_true997: ; preds = %cond_true968
+ br label %bb1269.outer.outer.outer.backedge
+
+ bb1269.outer.outer.outer.backedge: ; preds = %cond_true1018, %cond_true997
+ br label %bb1269.outer.outer.outer
+
+ cond_false1004: ; preds = %cond_true968
+ br bool false, label %cond_true1018, label %cond_false1025
+
+ cond_true1018: ; preds = %cond_false1004
+ br label %bb1269.outer.outer.outer.backedge
+
+ cond_false1025: ; preds = %cond_false1004
+ br bool false, label %UnifiedReturnBlock, label %cond_false1040
+
+ cond_false1040: ; preds = %cond_false1025
+ br label %UnifiedUnreachableBlock
+
+ cond_false1046: ; preds = %bb965
+ br bool false, label %cond_next1061, label %bb1077
+
+ cond_next1061: ; preds = %cond_false1046
+ br bool false, label %bb1078, label %bb1077
+
+ bb1077: ; preds = %cond_next1061, %cond_false1046
+ br label %bb1078
+
+ bb1078: ; preds = %bb1077, %cond_next1061
+ %tmp1080 = phi bool [ true, %bb1077 ], [ false, %cond_next1061 ] ; <bool> [#uses=1]
+ br bool %tmp1080, label %cond_false1159, label %cond_true1081
+
+ cond_true1081: ; preds = %bb1078
+ br bool false, label %cond_true1110, label %cond_false1117
+
+ cond_true1110: ; preds = %cond_true1081
+ br label %bb1269.outer.outer.outer.outer.backedge
+
+ bb1269.outer.outer.outer.outer.backedge: ; preds = %cond_true1131, %cond_true1110
+ br label %bb1269.outer.outer.outer.outer
+
+ cond_false1117: ; preds = %cond_true1081
+ br bool false, label %cond_true1131, label %cond_false1138
+
+ cond_true1131: ; preds = %cond_false1117
+ br label %bb1269.outer.outer.outer.outer.backedge
+
+ cond_false1138: ; preds = %cond_false1117
+ br bool false, label %UnifiedReturnBlock, label %cond_false1153
+
+ cond_false1153: ; preds = %cond_false1138
+ br label %UnifiedUnreachableBlock
+
+ cond_false1159: ; preds = %bb1078
+ %tmp.i119.lcssa35.lcssa.lcssa.lcssa.lcssa.lcssa = phi "struct.kc::impl_elem_patternrepresentation"* [ null, %bb1078 ] ; <"struct.kc::impl_elem_patternrepresentation"*> [#uses=0]
+ br bool false, label %UnifiedReturnBlock, label %cond_false1174
+
+ cond_false1174: ; preds = %cond_false1159
+ br bool false, label %UnifiedReturnBlock, label %cond_false1189
+
+ cond_false1189: ; preds = %cond_false1174
+ br bool false, label %UnifiedReturnBlock, label %cond_false1204
+
+ cond_false1204: ; preds = %cond_false1189
+ br bool false, label %UnifiedReturnBlock, label %cond_false1219
+
+ cond_false1219: ; preds = %cond_false1204
+ br bool false, label %UnifiedReturnBlock, label %cond_true1222
+
+ cond_true1222: ; preds = %cond_false1219
+ br label %UnifiedReturnBlock
+
+ bb1269.outer.outer.outer.outer: ; preds = %bb1269.outer.outer.outer.outer.backedge, %entry
+ br label %bb1269.outer.outer.outer
+
+ bb1269.outer.outer.outer: ; preds = %bb1269.outer.outer.outer.outer, %bb1269.outer.outer.outer.backedge
+ br label %bb1269.outer.outer
+
+ bb1269.outer.outer: ; preds = %bb1269.outer.outer.outer, %bb1269.outer.outer.backedge
+ br label %bb1269.outer
+
+ bb1269.outer: ; preds = %bb1269.outer.outer, %bb1269.outer.backedge
+ br label %bb1269.outer2
+
+ bb1269.outer2: ; preds = %bb1269.outer, %bb1269.outer2.backedge
+ br label %bb1269.outer21
+
+ bb1269.outer21: ; preds = %bb1269.outer2, %bb1269.outer21.backedge
+ br label %bb1269.outer38
+
+ bb1269.outer38: ; preds = %bb1269.outer21, %bb1269.outer38.backedge
+ br label %bb1269.outer54
+
+ bb1269.outer54: ; preds = %bb1269.outer38
+ br label %bb1269.outer69
+
+ bb1269.outer69: ; preds = %bb1269.outer54, %cond_true
+ br label %bb1269
+
+ bb1269: ; preds = %bb1269.outer69
+ br bool false, label %cond_next1281, label %bb1294
+
+ cond_next1281: ; preds = %bb1269
+ br bool false, label %cond_true1298, label %bb1294
+
+ bb1294: ; preds = %cond_next1281, %bb1269
+ br bool false, label %cond_true1331, label %cond_next1313
+
+ cond_true1298: ; preds = %cond_next1281
+ br bool false, label %cond_false, label %cond_true
+
+ cond_next1313: ; preds = %bb1294
+ br bool false, label %cond_true1331, label %cond_next1355
+
+ cond_true1331: ; preds = %cond_next1313, %bb1294
+ br bool false, label %cond_false1346, label %cond_true1342
+
+ cond_true1342: ; preds = %cond_true1331
+ br label %cond_next1350
+
+ cond_false1346: ; preds = %cond_true1331
+ br label %cond_next1350
+
+ cond_next1350: ; preds = %cond_false1346, %cond_true1342
+ br label %bb.i
+
+ bb.i: ; preds = %bb.i, %cond_next1350
+ br bool false, label %_ZN2kc18impl_abstract_list8freelistEv.exit, label %bb.i
+
+ _ZN2kc18impl_abstract_list8freelistEv.exit: ; preds = %bb.i
+ br label %cond_next1355
+
+ cond_next1355: ; preds = %_ZN2kc18impl_abstract_list8freelistEv.exit, %cond_next1313
+ br bool false, label %cond_next1363, label %bb1388
+
+ cond_next1363: ; preds = %cond_next1355
+ br bool false, label %UnifiedReturnBlock, label %cond_true1366
+
+ cond_true1366: ; preds = %cond_next1363
+ br label %UnifiedReturnBlock
+
+ bb1388: ; preds = %cond_next1355
+ br bool false, label %UnifiedReturnBlock, label %bb1414.preheader
+
+ bb1414.preheader: ; preds = %bb1388
+ br label %bb1414
+
+ bb1414: ; preds = %cond_true1426, %bb1414.preheader
+ br bool false, label %cond_true1426, label %bb1429
+
+ cond_true1426: ; preds = %bb1414
+ br label %bb1414
+
+ bb1429: ; preds = %bb1414
+ br bool false, label %cond_true1431, label %UnifiedReturnBlock
+
+ cond_true1431: ; preds = %bb1429
+ br bool false, label %UnifiedReturnBlock, label %cond_true1434
+
+ cond_true1434: ; preds = %cond_true1431
+ br label %UnifiedReturnBlock
+
+ UnifiedUnreachableBlock: ; preds = %cond_false1153, %cond_false1040, %cond_false927, %cond_false814, %cond_false701, %cond_false588, %cond_false475, %cond_false363, %cond_false250
+ unreachable
+
+ 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
+ ret void
+ }
More information about the llvm-commits
mailing list