2007-11-05-Crash.ll 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295
  1. ; RUN: opt < %s -disable-output -loop-unroll
  2. ; PR1770
  3. ; PR1947
  4. %struct.cl_engine = type { i32, i16, i32, i8**, i8**, i8*, i8*, i8*, i8*, i8*, i8*, i8* }
  5. %struct.cl_limits = type { i32, i32, i32, i32, i16, i64 }
  6. %struct.cli_ac_alt = type { i8, i8*, i16, i16, %struct.cli_ac_alt* }
  7. %struct.cli_ac_node = type { i8, i8, %struct.cli_ac_patt*, %struct.cli_ac_node**, %struct.cli_ac_node* }
  8. %struct.cli_ac_patt = type { i16*, i16*, i16, i16, i8, i32, i32, i8*, i8*, i32, i16, i16, i16, i16, %struct.cli_ac_alt**, i8, i16, %struct.cli_ac_patt*, %struct.cli_ac_patt* }
  9. %struct.cli_bm_patt = type { i8*, i32, i8*, i8*, i8, %struct.cli_bm_patt* }
  10. %struct.cli_ctx = type { i8**, i64*, %struct.cli_matcher*, %struct.cl_engine*, %struct.cl_limits*, i32, i32, i32, i32, %struct.cli_dconf* }
  11. %struct.cli_dconf = type { i32, i32, i32, i32, i32, i32, i32 }
  12. %struct.cli_matcher = type { i16, i8, i32*, %struct.cli_bm_patt**, i32*, i32, i8, i8, %struct.cli_ac_node*, %struct.cli_ac_node**, %struct.cli_ac_patt**, i32, i32, i32 }
  13. declare i8* @calloc(i64, i64)
  14. define fastcc i32 @cli_scanpe(i32 %desc, %struct.cli_ctx* %ctx) {
  15. entry:
  16. br i1 false, label %cond_next17, label %cond_true14
  17. cond_true14: ; preds = %entry
  18. ret i32 0
  19. cond_next17: ; preds = %entry
  20. br i1 false, label %LeafBlock, label %LeafBlock1250
  21. LeafBlock1250: ; preds = %cond_next17
  22. ret i32 0
  23. LeafBlock: ; preds = %cond_next17
  24. br i1 false, label %cond_next33, label %cond_true30
  25. cond_true30: ; preds = %LeafBlock
  26. ret i32 0
  27. cond_next33: ; preds = %LeafBlock
  28. br i1 false, label %cond_next90, label %cond_true42
  29. cond_true42: ; preds = %cond_next33
  30. ret i32 0
  31. cond_next90: ; preds = %cond_next33
  32. br i1 false, label %cond_next100, label %cond_true97
  33. cond_true97: ; preds = %cond_next90
  34. ret i32 0
  35. cond_next100: ; preds = %cond_next90
  36. br i1 false, label %cond_next109, label %cond_true106
  37. cond_true106: ; preds = %cond_next100
  38. ret i32 0
  39. cond_next109: ; preds = %cond_next100
  40. br i1 false, label %cond_false, label %cond_true118
  41. cond_true118: ; preds = %cond_next109
  42. ret i32 0
  43. cond_false: ; preds = %cond_next109
  44. br i1 false, label %NodeBlock1482, label %cond_true126
  45. cond_true126: ; preds = %cond_false
  46. ret i32 0
  47. NodeBlock1482: ; preds = %cond_false
  48. br i1 false, label %cond_next285, label %NodeBlock1480
  49. NodeBlock1480: ; preds = %NodeBlock1482
  50. ret i32 0
  51. cond_next285: ; preds = %NodeBlock1482
  52. br i1 false, label %cond_next320, label %cond_true294
  53. cond_true294: ; preds = %cond_next285
  54. ret i32 0
  55. cond_next320: ; preds = %cond_next285
  56. br i1 false, label %LeafBlock1491, label %LeafBlock1493
  57. LeafBlock1493: ; preds = %cond_next320
  58. ret i32 0
  59. LeafBlock1491: ; preds = %cond_next320
  60. br i1 false, label %cond_true400, label %cond_true378
  61. cond_true378: ; preds = %LeafBlock1491
  62. ret i32 1
  63. cond_true400: ; preds = %LeafBlock1491
  64. br i1 false, label %cond_next413, label %cond_true406
  65. cond_true406: ; preds = %cond_true400
  66. ret i32 0
  67. cond_next413: ; preds = %cond_true400
  68. br i1 false, label %cond_next429, label %cond_true424
  69. cond_true424: ; preds = %cond_next413
  70. ret i32 0
  71. cond_next429: ; preds = %cond_next413
  72. br i1 false, label %NodeBlock1557, label %NodeBlock1579
  73. NodeBlock1579: ; preds = %cond_next429
  74. ret i32 0
  75. NodeBlock1557: ; preds = %cond_next429
  76. br i1 false, label %LeafBlock1543, label %NodeBlock1555
  77. NodeBlock1555: ; preds = %NodeBlock1557
  78. ret i32 0
  79. LeafBlock1543: ; preds = %NodeBlock1557
  80. br i1 false, label %cond_next870, label %cond_next663
  81. cond_next663: ; preds = %LeafBlock1543
  82. ret i32 0
  83. cond_next870: ; preds = %LeafBlock1543
  84. br i1 false, label %cond_true1012, label %cond_true916
  85. cond_true916: ; preds = %cond_next870
  86. ret i32 0
  87. cond_true1012: ; preds = %cond_next870
  88. br i1 false, label %cond_next3849, label %cond_true2105
  89. cond_true2105: ; preds = %cond_true1012
  90. ret i32 0
  91. cond_next3849: ; preds = %cond_true1012
  92. br i1 false, label %cond_next4378, label %bb6559
  93. bb3862: ; preds = %cond_next4385
  94. br i1 false, label %cond_false3904, label %cond_true3876
  95. cond_true3876: ; preds = %bb3862
  96. ret i32 0
  97. cond_false3904: ; preds = %bb3862
  98. br i1 false, label %cond_next4003, label %cond_true3935
  99. cond_true3935: ; preds = %cond_false3904
  100. ret i32 0
  101. cond_next4003: ; preds = %cond_false3904
  102. br i1 false, label %cond_next5160, label %cond_next4015
  103. cond_next4015: ; preds = %cond_next4003
  104. ret i32 0
  105. cond_next4378: ; preds = %cond_next3849
  106. br i1 false, label %cond_next4385, label %bb4393
  107. cond_next4385: ; preds = %cond_next4378
  108. br i1 false, label %bb3862, label %bb4393
  109. bb4393: ; preds = %cond_next4385, %cond_next4378
  110. ret i32 0
  111. cond_next5160: ; preds = %cond_next4003
  112. br i1 false, label %bb5188, label %bb6559
  113. bb5188: ; preds = %cond_next5160
  114. br i1 false, label %cond_next5285, label %cond_true5210
  115. cond_true5210: ; preds = %bb5188
  116. ret i32 0
  117. cond_next5285: ; preds = %bb5188
  118. br i1 false, label %cond_true5302, label %cond_true5330
  119. cond_true5302: ; preds = %cond_next5285
  120. br i1 false, label %bb7405, label %bb7367
  121. cond_true5330: ; preds = %cond_next5285
  122. ret i32 0
  123. bb6559: ; preds = %cond_next5160, %cond_next3849
  124. ret i32 0
  125. bb7367: ; preds = %cond_true5302
  126. ret i32 0
  127. bb7405: ; preds = %cond_true5302
  128. br i1 false, label %cond_next8154, label %cond_true7410
  129. cond_true7410: ; preds = %bb7405
  130. ret i32 0
  131. cond_next8154: ; preds = %bb7405
  132. br i1 false, label %cond_true8235, label %bb9065
  133. cond_true8235: ; preds = %cond_next8154
  134. br i1 false, label %bb8274, label %bb8245
  135. bb8245: ; preds = %cond_true8235
  136. ret i32 0
  137. bb8274: ; preds = %cond_true8235
  138. br i1 false, label %cond_next8358, label %cond_true8295
  139. cond_true8295: ; preds = %bb8274
  140. ret i32 0
  141. cond_next8358: ; preds = %bb8274
  142. br i1 false, label %cond_next.i509, label %cond_true8371
  143. cond_true8371: ; preds = %cond_next8358
  144. ret i32 -123
  145. cond_next.i509: ; preds = %cond_next8358
  146. br i1 false, label %bb36.i, label %bb33.i
  147. bb33.i: ; preds = %cond_next.i509
  148. ret i32 0
  149. bb36.i: ; preds = %cond_next.i509
  150. br i1 false, label %cond_next54.i, label %cond_true51.i
  151. cond_true51.i: ; preds = %bb36.i
  152. ret i32 0
  153. cond_next54.i: ; preds = %bb36.i
  154. %tmp10.i.i527 = call i8* @calloc( i64 0, i64 1 ) ; <i8*> [#uses=1]
  155. br i1 false, label %cond_next11.i.i, label %bb132.i
  156. bb132.i: ; preds = %cond_next54.i
  157. ret i32 0
  158. cond_next11.i.i: ; preds = %cond_next54.i
  159. br i1 false, label %bb32.i.i545, label %cond_true1008.critedge.i
  160. bb32.i.i545: ; preds = %cond_next11.i.i
  161. br i1 false, label %cond_next349.i, label %cond_true184.i
  162. cond_true184.i: ; preds = %bb32.i.i545
  163. ret i32 0
  164. cond_next349.i: ; preds = %bb32.i.i545
  165. br i1 false, label %cond_next535.i, label %cond_true1008.critedge1171.i
  166. cond_next535.i: ; preds = %cond_next349.i
  167. br i1 false, label %cond_next569.i, label %cond_false574.i
  168. cond_next569.i: ; preds = %cond_next535.i
  169. br i1 false, label %cond_next670.i, label %cond_true1008.critedge1185.i
  170. cond_false574.i: ; preds = %cond_next535.i
  171. ret i32 0
  172. cond_next670.i: ; preds = %cond_next569.i
  173. br i1 false, label %cond_true692.i, label %cond_next862.i
  174. cond_true692.i: ; preds = %cond_next670.i
  175. br i1 false, label %cond_false742.i, label %cond_true718.i
  176. cond_true718.i: ; preds = %cond_true692.i
  177. ret i32 0
  178. cond_false742.i: ; preds = %cond_true692.i
  179. br i1 false, label %cond_true784.i, label %cond_next9079
  180. cond_true784.i: ; preds = %cond_next811.i, %cond_false742.i
  181. %indvar1411.i.reg2mem.0 = phi i8 [ %indvar.next1412.i, %cond_next811.i ], [ 0, %cond_false742.i ] ; <i8> [#uses=1]
  182. br i1 false, label %cond_true1008.critedge1190.i, label %cond_next811.i
  183. cond_next811.i: ; preds = %cond_true784.i
  184. %indvar.next1412.i = add i8 %indvar1411.i.reg2mem.0, 1 ; <i8> [#uses=2]
  185. %tmp781.i = icmp eq i8 %indvar.next1412.i, 3 ; <i1> [#uses=1]
  186. br i1 %tmp781.i, label %cond_next9079, label %cond_true784.i
  187. cond_next862.i: ; preds = %cond_next670.i
  188. ret i32 0
  189. cond_true1008.critedge.i: ; preds = %cond_next11.i.i
  190. ret i32 0
  191. cond_true1008.critedge1171.i: ; preds = %cond_next349.i
  192. ret i32 0
  193. cond_true1008.critedge1185.i: ; preds = %cond_next569.i
  194. ret i32 0
  195. cond_true1008.critedge1190.i: ; preds = %cond_true784.i
  196. %tmp621.i532.lcssa610 = phi i8* [ %tmp10.i.i527, %cond_true784.i ] ; <i8*> [#uses=0]
  197. ret i32 0
  198. bb9065: ; preds = %cond_next8154
  199. ret i32 0
  200. cond_next9079: ; preds = %cond_next811.i, %cond_false742.i
  201. ret i32 0
  202. }