2007-07-30-PredIDom.ll 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. ; RUN: opt < %s -gvn | llvm-dis
  2. %"struct.Block::$_16" = type { i32 }
  3. %struct.Exp = type { %struct.Exp_*, i32, i32, i32, %struct.Exp*, %struct.Exp*, %"struct.Exp::$_10", %"struct.Block::$_16", %"struct.Exp::$_12" }
  4. %"struct.Exp::$_10" = type { %struct.Exp* }
  5. %"struct.Exp::$_12" = type { %struct.Exp** }
  6. %struct.Exp_ = type { i32, i32, i32, i32, %struct.Id* }
  7. %struct.Id = type { i8*, i32, i32, i32, %"struct.Id::$_13" }
  8. %"struct.Id::$_13" = type { double }
  9. define i8* @_ZN3Exp8toStringEj(%struct.Exp* %this, i32 %nextpc) {
  10. entry:
  11. switch i32 0, label %bb970 [
  12. i32 1, label %bb
  13. i32 2, label %bb39
  14. i32 3, label %bb195
  15. i32 4, label %bb270
  16. i32 5, label %bb418
  17. i32 6, label %bb633
  18. i32 7, label %bb810
  19. i32 8, label %bb882
  20. i32 9, label %bb925
  21. ]
  22. bb: ; preds = %entry
  23. store i8* null, i8** null
  24. br label %return
  25. bb39: ; preds = %entry
  26. br i1 false, label %cond_true, label %cond_false132
  27. cond_true: ; preds = %bb39
  28. br i1 false, label %cond_true73, label %cond_false
  29. cond_true73: ; preds = %cond_true
  30. br i1 false, label %cond_true108, label %cond_next
  31. cond_true108: ; preds = %cond_true73
  32. br label %cond_next
  33. cond_next: ; preds = %cond_true108, %cond_true73
  34. br label %cond_next131
  35. cond_false: ; preds = %cond_true
  36. br label %cond_next131
  37. cond_next131: ; preds = %cond_false, %cond_next
  38. br label %cond_next141
  39. cond_false132: ; preds = %bb39
  40. br label %cond_next141
  41. cond_next141: ; preds = %cond_false132, %cond_next131
  42. br i1 false, label %cond_true169, label %cond_false175
  43. cond_true169: ; preds = %cond_next141
  44. br label %cond_next181
  45. cond_false175: ; preds = %cond_next141
  46. br label %cond_next181
  47. cond_next181: ; preds = %cond_false175, %cond_true169
  48. br i1 false, label %cond_true189, label %cond_next191
  49. cond_true189: ; preds = %cond_next181
  50. br label %cond_next191
  51. cond_next191: ; preds = %cond_true189, %cond_next181
  52. store i8* null, i8** null
  53. br label %return
  54. bb195: ; preds = %entry
  55. br i1 false, label %cond_true248, label %cond_false250
  56. cond_true248: ; preds = %bb195
  57. br label %cond_next252
  58. cond_false250: ; preds = %bb195
  59. br label %cond_next252
  60. cond_next252: ; preds = %cond_false250, %cond_true248
  61. br i1 false, label %cond_true265, label %cond_next267
  62. cond_true265: ; preds = %cond_next252
  63. br label %cond_next267
  64. cond_next267: ; preds = %cond_true265, %cond_next252
  65. store i8* null, i8** null
  66. br label %return
  67. bb270: ; preds = %entry
  68. br i1 false, label %cond_true338, label %cond_false340
  69. cond_true338: ; preds = %bb270
  70. br label %cond_next342
  71. cond_false340: ; preds = %bb270
  72. br label %cond_next342
  73. cond_next342: ; preds = %cond_false340, %cond_true338
  74. br i1 false, label %cond_true362, label %cond_false364
  75. cond_true362: ; preds = %cond_next342
  76. br label %cond_next366
  77. cond_false364: ; preds = %cond_next342
  78. br label %cond_next366
  79. cond_next366: ; preds = %cond_false364, %cond_true362
  80. br i1 false, label %cond_true393, label %cond_next395
  81. cond_true393: ; preds = %cond_next366
  82. br label %cond_next395
  83. cond_next395: ; preds = %cond_true393, %cond_next366
  84. br i1 false, label %cond_true406, label %cond_next408
  85. cond_true406: ; preds = %cond_next395
  86. br label %cond_next408
  87. cond_next408: ; preds = %cond_true406, %cond_next395
  88. br i1 false, label %cond_true413, label %cond_next415
  89. cond_true413: ; preds = %cond_next408
  90. br label %cond_next415
  91. cond_next415: ; preds = %cond_true413, %cond_next408
  92. store i8* null, i8** null
  93. br label %return
  94. bb418: ; preds = %entry
  95. br i1 false, label %cond_true512, label %cond_false514
  96. cond_true512: ; preds = %bb418
  97. br label %cond_next516
  98. cond_false514: ; preds = %bb418
  99. br label %cond_next516
  100. cond_next516: ; preds = %cond_false514, %cond_true512
  101. br i1 false, label %cond_true536, label %cond_false538
  102. cond_true536: ; preds = %cond_next516
  103. br label %cond_next540
  104. cond_false538: ; preds = %cond_next516
  105. br label %cond_next540
  106. cond_next540: ; preds = %cond_false538, %cond_true536
  107. br i1 false, label %cond_true560, label %cond_false562
  108. cond_true560: ; preds = %cond_next540
  109. br label %cond_next564
  110. cond_false562: ; preds = %cond_next540
  111. br label %cond_next564
  112. cond_next564: ; preds = %cond_false562, %cond_true560
  113. br i1 false, label %cond_true597, label %cond_next599
  114. cond_true597: ; preds = %cond_next564
  115. br label %cond_next599
  116. cond_next599: ; preds = %cond_true597, %cond_next564
  117. br i1 false, label %cond_true614, label %cond_next616
  118. cond_true614: ; preds = %cond_next599
  119. br label %cond_next616
  120. cond_next616: ; preds = %cond_true614, %cond_next599
  121. br i1 false, label %cond_true621, label %cond_next623
  122. cond_true621: ; preds = %cond_next616
  123. br label %cond_next623
  124. cond_next623: ; preds = %cond_true621, %cond_next616
  125. br i1 false, label %cond_true628, label %cond_next630
  126. cond_true628: ; preds = %cond_next623
  127. br label %cond_next630
  128. cond_next630: ; preds = %cond_true628, %cond_next623
  129. store i8* null, i8** null
  130. br label %return
  131. bb633: ; preds = %entry
  132. br i1 false, label %cond_true667, label %cond_next669
  133. cond_true667: ; preds = %bb633
  134. br label %cond_next669
  135. cond_next669: ; preds = %cond_true667, %bb633
  136. br i1 false, label %cond_true678, label %cond_next791
  137. cond_true678: ; preds = %cond_next669
  138. br label %bb735
  139. bb679: ; preds = %bb735
  140. br i1 false, label %cond_true729, label %cond_next731
  141. cond_true729: ; preds = %bb679
  142. br label %cond_next731
  143. cond_next731: ; preds = %cond_true729, %bb679
  144. br label %bb735
  145. bb735: ; preds = %cond_next731, %cond_true678
  146. br i1 false, label %bb679, label %bb743
  147. bb743: ; preds = %bb735
  148. br i1 false, label %cond_true788, label %cond_next790
  149. cond_true788: ; preds = %bb743
  150. br label %cond_next790
  151. cond_next790: ; preds = %cond_true788, %bb743
  152. br label %cond_next791
  153. cond_next791: ; preds = %cond_next790, %cond_next669
  154. br i1 false, label %cond_true805, label %cond_next807
  155. cond_true805: ; preds = %cond_next791
  156. br label %cond_next807
  157. cond_next807: ; preds = %cond_true805, %cond_next791
  158. store i8* null, i8** null
  159. br label %return
  160. bb810: ; preds = %entry
  161. br i1 false, label %cond_true870, label %cond_next872
  162. cond_true870: ; preds = %bb810
  163. br label %cond_next872
  164. cond_next872: ; preds = %cond_true870, %bb810
  165. br i1 false, label %cond_true877, label %cond_next879
  166. cond_true877: ; preds = %cond_next872
  167. br label %cond_next879
  168. cond_next879: ; preds = %cond_true877, %cond_next872
  169. store i8* null, i8** null
  170. br label %return
  171. bb882: ; preds = %entry
  172. br i1 false, label %cond_true920, label %cond_next922
  173. cond_true920: ; preds = %bb882
  174. br label %cond_next922
  175. cond_next922: ; preds = %cond_true920, %bb882
  176. store i8* null, i8** null
  177. br label %return
  178. bb925: ; preds = %entry
  179. br i1 false, label %cond_true965, label %cond_next967
  180. cond_true965: ; preds = %bb925
  181. br label %cond_next967
  182. cond_next967: ; preds = %cond_true965, %bb925
  183. store i8* null, i8** null
  184. br label %return
  185. bb970: ; preds = %entry
  186. unreachable
  187. ; No predecessors!
  188. store i8* null, i8** null
  189. br label %return
  190. return: ; preds = %0, %cond_next967, %cond_next922, %cond_next879, %cond_next807, %cond_next630, %cond_next415, %cond_next267, %cond_next191, %bb
  191. %retval980 = load i8*, i8** null ; <i8*> [#uses=1]
  192. ret i8* %retval980
  193. }