2006-07-12-InlinePruneCGUpdate.ll 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840
  1. ; RUN: opt < %s -inline -prune-eh -disable-output
  2. ; PR827
  3. @_ZTV8CRjii = internal global [1 x i32 (...)*] [ i32 (...)* @_ZN8CRjii12NlFeeEPN5Jr7sE ] ; <[1 x i32 (...)*]*> [#uses=0]
  4. define internal i32 @_ZN8CRjii12NlFeeEPN5Jr7sE(...) {
  5. entry:
  6. br i1 false, label %cond_true, label %cond_false179
  7. cond_true: ; preds = %entry
  8. br label %bb9
  9. bb: ; preds = %cond_true14
  10. br label %bb9
  11. bb9: ; preds = %bb, %cond_true
  12. br i1 false, label %cond_true14, label %cond_false
  13. cond_true14: ; preds = %bb9
  14. br label %bb
  15. cond_false: ; preds = %bb9
  16. br label %bb15
  17. cond_next: ; No predecessors!
  18. br label %bb15
  19. bb15: ; preds = %cond_next, %cond_false
  20. br label %bb24
  21. bb17: ; preds = %cond_true29
  22. br label %bb24
  23. bb24: ; preds = %bb17, %bb15
  24. br i1 false, label %cond_true29, label %cond_false30
  25. cond_true29: ; preds = %bb24
  26. br label %bb17
  27. cond_false30: ; preds = %bb24
  28. br label %bb32
  29. cond_next31: ; No predecessors!
  30. br label %bb32
  31. bb32: ; preds = %cond_next31, %cond_false30
  32. br label %bb41
  33. bb34: ; preds = %cond_true46
  34. br label %bb41
  35. bb41: ; preds = %bb34, %bb32
  36. br i1 false, label %cond_true46, label %cond_false47
  37. cond_true46: ; preds = %bb41
  38. br label %bb34
  39. cond_false47: ; preds = %bb41
  40. br label %bb49
  41. cond_next48: ; No predecessors!
  42. br label %bb49
  43. bb49: ; preds = %cond_next48, %cond_false47
  44. br label %bb58
  45. bb51: ; preds = %cond_true63
  46. br label %bb58
  47. bb58: ; preds = %bb51, %bb49
  48. br i1 false, label %cond_true63, label %cond_false64
  49. cond_true63: ; preds = %bb58
  50. br label %bb51
  51. cond_false64: ; preds = %bb58
  52. br label %bb66
  53. cond_next65: ; No predecessors!
  54. br label %bb66
  55. bb66: ; preds = %cond_next65, %cond_false64
  56. br label %bb76
  57. bb68: ; preds = %cond_true81
  58. br label %bb76
  59. bb76: ; preds = %bb68, %bb66
  60. br i1 false, label %cond_true81, label %cond_false82
  61. cond_true81: ; preds = %bb76
  62. br label %bb68
  63. cond_false82: ; preds = %bb76
  64. br label %bb84
  65. cond_next83: ; No predecessors!
  66. br label %bb84
  67. bb84: ; preds = %cond_next83, %cond_false82
  68. br label %bb94
  69. bb86: ; preds = %cond_true99
  70. br label %bb94
  71. bb94: ; preds = %bb86, %bb84
  72. br i1 false, label %cond_true99, label %cond_false100
  73. cond_true99: ; preds = %bb94
  74. br label %bb86
  75. cond_false100: ; preds = %bb94
  76. br label %bb102
  77. cond_next101: ; No predecessors!
  78. br label %bb102
  79. bb102: ; preds = %cond_next101, %cond_false100
  80. br label %bb112
  81. bb104: ; preds = %cond_true117
  82. br label %bb112
  83. bb112: ; preds = %bb104, %bb102
  84. br i1 false, label %cond_true117, label %cond_false118
  85. cond_true117: ; preds = %bb112
  86. br label %bb104
  87. cond_false118: ; preds = %bb112
  88. br label %bb120
  89. cond_next119: ; No predecessors!
  90. br label %bb120
  91. bb120: ; preds = %cond_next119, %cond_false118
  92. br label %bb130
  93. bb122: ; preds = %cond_true135
  94. br label %bb130
  95. bb130: ; preds = %bb122, %bb120
  96. br i1 false, label %cond_true135, label %cond_false136
  97. cond_true135: ; preds = %bb130
  98. br label %bb122
  99. cond_false136: ; preds = %bb130
  100. br label %bb138
  101. cond_next137: ; No predecessors!
  102. br label %bb138
  103. bb138: ; preds = %cond_next137, %cond_false136
  104. br label %bb148
  105. bb140: ; preds = %cond_true153
  106. call fastcc void @_Zjrf1( )
  107. br label %bb148
  108. bb148: ; preds = %bb140, %bb138
  109. br i1 false, label %cond_true153, label %cond_false154
  110. cond_true153: ; preds = %bb148
  111. br label %bb140
  112. cond_false154: ; preds = %bb148
  113. br label %bb156
  114. cond_next155: ; No predecessors!
  115. br label %bb156
  116. bb156: ; preds = %cond_next155, %cond_false154
  117. br label %bb166
  118. bb158: ; preds = %cond_true171
  119. br label %bb166
  120. bb166: ; preds = %bb158, %bb156
  121. br i1 false, label %cond_true171, label %cond_false172
  122. cond_true171: ; preds = %bb166
  123. br label %bb158
  124. cond_false172: ; preds = %bb166
  125. br label %bb174
  126. cond_next173: ; No predecessors!
  127. br label %bb174
  128. bb174: ; preds = %cond_next173, %cond_false172
  129. br label %cleanup
  130. cleanup: ; preds = %bb174
  131. br label %finally
  132. finally: ; preds = %cleanup
  133. br label %cond_next180
  134. cond_false179: ; preds = %entry
  135. br label %cond_next180
  136. cond_next180: ; preds = %cond_false179, %finally
  137. br label %return
  138. return: ; preds = %cond_next180
  139. ret i32 0
  140. }
  141. define internal fastcc void @_Zjrf2() {
  142. entry:
  143. br label %bb3
  144. bb: ; preds = %cond_true
  145. br label %bb3
  146. bb3: ; preds = %bb, %entry
  147. %tmp5 = load i8*, i8** null ; <i8*> [#uses=1]
  148. %tmp = icmp ne i8* null, %tmp5 ; <i1> [#uses=1]
  149. br i1 %tmp, label %cond_true, label %cond_false
  150. cond_true: ; preds = %bb3
  151. br label %bb
  152. cond_false: ; preds = %bb3
  153. br label %bb6
  154. cond_next: ; No predecessors!
  155. br label %bb6
  156. bb6: ; preds = %cond_next, %cond_false
  157. br label %return
  158. return: ; preds = %bb6
  159. ret void
  160. }
  161. define internal fastcc void @_Zjrf3() {
  162. entry:
  163. call fastcc void @_Zjrf2( )
  164. br label %return
  165. return: ; preds = %entry
  166. ret void
  167. }
  168. define internal fastcc void @_Zjrf4() {
  169. entry:
  170. br label %bb6
  171. bb: ; preds = %cond_true
  172. br label %bb6
  173. bb6: ; preds = %bb, %entry
  174. br i1 false, label %cond_true, label %cond_false
  175. cond_true: ; preds = %bb6
  176. br label %bb
  177. cond_false: ; preds = %bb6
  178. br label %bb8
  179. cond_next: ; No predecessors!
  180. br label %bb8
  181. bb8: ; preds = %cond_next, %cond_false
  182. br i1 false, label %cond_true9, label %cond_false12
  183. cond_true9: ; preds = %bb8
  184. call fastcc void @_Zjrf3( )
  185. br label %cond_next13
  186. cond_false12: ; preds = %bb8
  187. br label %cond_next13
  188. cond_next13: ; preds = %cond_false12, %cond_true9
  189. br label %return
  190. return: ; preds = %cond_next13
  191. ret void
  192. }
  193. define internal fastcc void @_Zjrf5() {
  194. entry:
  195. call fastcc void @_Zjrf4( )
  196. br label %return
  197. return: ; preds = %entry
  198. ret void
  199. }
  200. define internal fastcc void @_Zjrf6() {
  201. entry:
  202. call fastcc void @_Zjrf5( )
  203. br label %return
  204. return: ; preds = %entry
  205. ret void
  206. }
  207. define internal fastcc void @_Zjrf7() {
  208. entry:
  209. br label %cleanup
  210. cleanup: ; preds = %entry
  211. br label %finally
  212. finally: ; preds = %cleanup
  213. call fastcc void @_Zjrf6( )
  214. br label %cleanup9
  215. cleanup9: ; preds = %finally
  216. br label %finally8
  217. finally8: ; preds = %cleanup9
  218. br label %cleanup11
  219. cleanup11: ; preds = %finally8
  220. br label %finally10
  221. finally10: ; preds = %cleanup11
  222. br label %finally23
  223. finally23: ; preds = %finally10
  224. br label %return
  225. return: ; preds = %finally23
  226. ret void
  227. }
  228. define internal fastcc void @_Zjrf11() {
  229. entry:
  230. br label %bb7
  231. bb: ; preds = %cond_true
  232. br label %bb7
  233. bb7: ; preds = %bb, %entry
  234. br i1 false, label %cond_true, label %cond_false
  235. cond_true: ; preds = %bb7
  236. br label %bb
  237. cond_false: ; preds = %bb7
  238. br label %bb9
  239. cond_next: ; No predecessors!
  240. br label %bb9
  241. bb9: ; preds = %cond_next, %cond_false
  242. br label %return
  243. ; No predecessors!
  244. br i1 false, label %cond_true12, label %cond_false15
  245. cond_true12: ; preds = %0
  246. call fastcc void @_Zjrf3( )
  247. br label %cond_next16
  248. cond_false15: ; preds = %0
  249. br label %cond_next16
  250. cond_next16: ; preds = %cond_false15, %cond_true12
  251. br label %return
  252. return: ; preds = %cond_next16, %bb9
  253. ret void
  254. }
  255. define internal fastcc void @_Zjrf9() {
  256. entry:
  257. call fastcc void @_Zjrf11( )
  258. br label %return
  259. return: ; preds = %entry
  260. ret void
  261. }
  262. define internal fastcc void @_Zjrf10() {
  263. entry:
  264. call fastcc void @_Zjrf9( )
  265. br label %return
  266. return: ; preds = %entry
  267. ret void
  268. }
  269. define internal fastcc void @_Zjrf8() {
  270. entry:
  271. br i1 false, label %cond_true, label %cond_false201
  272. cond_true: ; preds = %entry
  273. br i1 false, label %cond_true36, label %cond_false
  274. cond_true36: ; preds = %cond_true
  275. br label %cleanup
  276. cleanup: ; preds = %cond_true36
  277. br label %finally
  278. finally: ; preds = %cleanup
  279. br label %cond_next189
  280. cond_false: ; preds = %cond_true
  281. br i1 false, label %cond_true99, label %cond_false137
  282. cond_true99: ; preds = %cond_false
  283. br label %cleanup136
  284. cleanup136: ; preds = %cond_true99
  285. br label %finally135
  286. finally135: ; preds = %cleanup136
  287. br label %cond_next
  288. cond_false137: ; preds = %cond_false
  289. call fastcc void @_Zjrf10( )
  290. br label %cleanup188
  291. cleanup188: ; preds = %cond_false137
  292. br label %finally187
  293. finally187: ; preds = %cleanup188
  294. br label %cond_next
  295. cond_next: ; preds = %finally187, %finally135
  296. br label %cond_next189
  297. cond_next189: ; preds = %cond_next, %finally
  298. br label %cond_next202
  299. cond_false201: ; preds = %entry
  300. br label %cond_next202
  301. cond_next202: ; preds = %cond_false201, %cond_next189
  302. br label %return
  303. return: ; preds = %cond_next202
  304. ret void
  305. }
  306. define internal fastcc void @_Zjrf1() {
  307. entry:
  308. br label %bb492
  309. bb: ; preds = %cond_true499
  310. br label %cleanup
  311. cleanup: ; preds = %bb
  312. br label %finally
  313. finally: ; preds = %cleanup
  314. br label %cleanup11
  315. cleanup11: ; preds = %finally
  316. br label %finally10
  317. finally10: ; preds = %cleanup11
  318. br i1 false, label %cond_true, label %cond_false286
  319. cond_true: ; preds = %finally10
  320. br label %cleanup26
  321. cleanup26: ; preds = %cond_true
  322. br label %finally25
  323. finally25: ; preds = %cleanup26
  324. br label %bb30
  325. bb27: ; preds = %cond_true37
  326. br label %bb30
  327. bb30: ; preds = %bb27, %finally25
  328. br i1 false, label %cond_true37, label %cond_false
  329. cond_true37: ; preds = %bb30
  330. br label %bb27
  331. cond_false: ; preds = %bb30
  332. br label %bb38
  333. cond_next: ; No predecessors!
  334. br label %bb38
  335. bb38: ; preds = %cond_next, %cond_false
  336. br label %bb148
  337. bb40: ; preds = %cond_true156
  338. br label %bb139
  339. bb41: ; preds = %cond_true142
  340. call fastcc void @_Zjrf7( )
  341. br label %bb105
  342. bb44: ; preds = %cond_true112
  343. br label %bb74
  344. bb66: ; preds = %cond_true80
  345. br label %bb74
  346. bb74: ; preds = %bb66, %bb44
  347. br i1 false, label %cond_true80, label %cond_false81
  348. cond_true80: ; preds = %bb74
  349. br label %bb66
  350. cond_false81: ; preds = %bb74
  351. br label %bb83
  352. cond_next82: ; No predecessors!
  353. br label %bb83
  354. bb83: ; preds = %cond_next82, %cond_false81
  355. br label %cleanup97
  356. cleanup97: ; preds = %bb83
  357. br label %finally96
  358. finally96: ; preds = %cleanup97
  359. br label %cleanup99
  360. cleanup99: ; preds = %finally96
  361. br label %finally98
  362. finally98: ; preds = %cleanup99
  363. br label %bb105
  364. bb105: ; preds = %finally98, %bb41
  365. br i1 false, label %cond_true112, label %cond_false113
  366. cond_true112: ; preds = %bb105
  367. br label %bb44
  368. cond_false113: ; preds = %bb105
  369. br label %bb115
  370. cond_next114: ; No predecessors!
  371. br label %bb115
  372. bb115: ; preds = %cond_next114, %cond_false113
  373. br i1 false, label %cond_true119, label %cond_false123
  374. cond_true119: ; preds = %bb115
  375. call fastcc void @_Zjrf8( )
  376. br label %cond_next124
  377. cond_false123: ; preds = %bb115
  378. br label %cond_next124
  379. cond_next124: ; preds = %cond_false123, %cond_true119
  380. br i1 false, label %cond_true131, label %cond_false132
  381. cond_true131: ; preds = %cond_next124
  382. br label %cleanup135
  383. cond_false132: ; preds = %cond_next124
  384. br label %cond_next133
  385. cond_next133: ; preds = %cond_false132
  386. br label %cleanup136
  387. cleanup135: ; preds = %cond_true131
  388. br label %done
  389. cleanup136: ; preds = %cond_next133
  390. br label %finally134
  391. finally134: ; preds = %cleanup136
  392. br label %bb139
  393. bb139: ; preds = %finally134, %bb40
  394. br i1 false, label %cond_true142, label %cond_false143
  395. cond_true142: ; preds = %bb139
  396. br label %bb41
  397. cond_false143: ; preds = %bb139
  398. br label %bb145
  399. cond_next144: ; No predecessors!
  400. br label %bb145
  401. bb145: ; preds = %cond_next144, %cond_false143
  402. br label %bb148
  403. bb148: ; preds = %bb145, %bb38
  404. br i1 false, label %cond_true156, label %cond_false157
  405. cond_true156: ; preds = %bb148
  406. br label %bb40
  407. cond_false157: ; preds = %bb148
  408. br label %bb159
  409. cond_next158: ; No predecessors!
  410. br label %bb159
  411. bb159: ; preds = %cond_next158, %cond_false157
  412. br label %done
  413. done: ; preds = %bb159, %cleanup135
  414. br label %bb214
  415. bb185: ; preds = %cond_true218
  416. br i1 false, label %cond_true193, label %cond_false206
  417. cond_true193: ; preds = %bb185
  418. br label %cond_next211
  419. cond_false206: ; preds = %bb185
  420. br label %cond_next211
  421. cond_next211: ; preds = %cond_false206, %cond_true193
  422. br label %bb214
  423. bb214: ; preds = %cond_next211, %done
  424. br i1 false, label %cond_true218, label %cond_false219
  425. cond_true218: ; preds = %bb214
  426. br label %bb185
  427. cond_false219: ; preds = %bb214
  428. br label %bb221
  429. cond_next220: ; No predecessors!
  430. br label %bb221
  431. bb221: ; preds = %cond_next220, %cond_false219
  432. br i1 false, label %cond_true236, label %cond_false245
  433. cond_true236: ; preds = %bb221
  434. br label %cond_next249
  435. cond_false245: ; preds = %bb221
  436. br label %cond_next249
  437. cond_next249: ; preds = %cond_false245, %cond_true236
  438. br i1 false, label %cond_true272, label %cond_false277
  439. cond_true272: ; preds = %cond_next249
  440. br label %cond_next278
  441. cond_false277: ; preds = %cond_next249
  442. br label %cond_next278
  443. cond_next278: ; preds = %cond_false277, %cond_true272
  444. br label %cleanup285
  445. cleanup285: ; preds = %cond_next278
  446. br label %finally284
  447. finally284: ; preds = %cleanup285
  448. br label %cond_next287
  449. cond_false286: ; preds = %finally10
  450. br label %cond_next287
  451. cond_next287: ; preds = %cond_false286, %finally284
  452. br i1 false, label %cond_true317, label %cond_false319
  453. cond_true317: ; preds = %cond_next287
  454. br label %cond_next321
  455. cond_false319: ; preds = %cond_next287
  456. br label %cond_next321
  457. cond_next321: ; preds = %cond_false319, %cond_true317
  458. br label %bb348
  459. bb335: ; preds = %cond_true355
  460. br label %bb348
  461. bb348: ; preds = %bb335, %cond_next321
  462. br i1 false, label %cond_true355, label %cond_false356
  463. cond_true355: ; preds = %bb348
  464. br label %bb335
  465. cond_false356: ; preds = %bb348
  466. br label %bb358
  467. cond_next357: ; No predecessors!
  468. br label %bb358
  469. bb358: ; preds = %cond_next357, %cond_false356
  470. br i1 false, label %cond_true363, label %cond_false364
  471. cond_true363: ; preds = %bb358
  472. br label %bb388
  473. cond_false364: ; preds = %bb358
  474. br label %cond_next365
  475. cond_next365: ; preds = %cond_false364
  476. br i1 false, label %cond_true370, label %cond_false371
  477. cond_true370: ; preds = %cond_next365
  478. br label %bb388
  479. cond_false371: ; preds = %cond_next365
  480. br label %cond_next372
  481. cond_next372: ; preds = %cond_false371
  482. br i1 false, label %cond_true385, label %cond_false386
  483. cond_true385: ; preds = %cond_next372
  484. br label %bb388
  485. cond_false386: ; preds = %cond_next372
  486. br label %cond_next387
  487. cond_next387: ; preds = %cond_false386
  488. br label %bb389
  489. bb388: ; preds = %cond_true385, %cond_true370, %cond_true363
  490. br label %bb389
  491. bb389: ; preds = %bb388, %cond_next387
  492. br i1 false, label %cond_true392, label %cond_false443
  493. cond_true392: ; preds = %bb389
  494. br label %bb419
  495. bb402: ; preds = %cond_true425
  496. br i1 false, label %cond_true406, label %cond_false412
  497. cond_true406: ; preds = %bb402
  498. br label %cond_next416
  499. cond_false412: ; preds = %bb402
  500. br label %cond_next416
  501. cond_next416: ; preds = %cond_false412, %cond_true406
  502. br label %bb419
  503. bb419: ; preds = %cond_next416, %cond_true392
  504. br i1 false, label %cond_true425, label %cond_false426
  505. cond_true425: ; preds = %bb419
  506. br label %bb402
  507. cond_false426: ; preds = %bb419
  508. br label %bb428
  509. cond_next427: ; No predecessors!
  510. br label %bb428
  511. bb428: ; preds = %cond_next427, %cond_false426
  512. br label %cond_next478
  513. cond_false443: ; preds = %bb389
  514. br label %bb460
  515. bb450: ; preds = %cond_true466
  516. br label %bb460
  517. bb460: ; preds = %bb450, %cond_false443
  518. br i1 false, label %cond_true466, label %cond_false467
  519. cond_true466: ; preds = %bb460
  520. br label %bb450
  521. cond_false467: ; preds = %bb460
  522. br label %bb469
  523. cond_next468: ; No predecessors!
  524. br label %bb469
  525. bb469: ; preds = %cond_next468, %cond_false467
  526. br label %cond_next478
  527. cond_next478: ; preds = %bb469, %bb428
  528. br label %cleanup485
  529. cleanup485: ; preds = %cond_next478
  530. br label %finally484
  531. finally484: ; preds = %cleanup485
  532. br label %cleanup487
  533. cleanup487: ; preds = %finally484
  534. br label %finally486
  535. finally486: ; preds = %cleanup487
  536. br label %cleanup489
  537. cleanup489: ; preds = %finally486
  538. br label %finally488
  539. finally488: ; preds = %cleanup489
  540. br label %bb492
  541. bb492: ; preds = %finally488, %entry
  542. br i1 false, label %cond_true499, label %cond_false500
  543. cond_true499: ; preds = %bb492
  544. br label %bb
  545. cond_false500: ; preds = %bb492
  546. br label %bb502
  547. cond_next501: ; No predecessors!
  548. br label %bb502
  549. bb502: ; preds = %cond_next501, %cond_false500
  550. br label %return
  551. return: ; preds = %bb502
  552. ret void
  553. }
  554. define internal fastcc void @_ZSt26__unguarded_insertion_sortIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEEvT_S7_() {
  555. entry:
  556. br label %bb12
  557. bb: ; preds = %cond_true
  558. br label %cleanup
  559. cleanup: ; preds = %bb
  560. br label %finally
  561. finally: ; preds = %cleanup
  562. br label %bb12
  563. bb12: ; preds = %finally, %entry
  564. br i1 false, label %cond_true, label %cond_false
  565. cond_true: ; preds = %bb12
  566. br label %bb
  567. cond_false: ; preds = %bb12
  568. br label %bb14
  569. cond_next: ; No predecessors!
  570. br label %bb14
  571. bb14: ; preds = %cond_next, %cond_false
  572. br label %return
  573. return: ; preds = %bb14
  574. ret void
  575. }