2006-07-12-InlinePruneCGUpdate.ll 16.3 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840
; RUN: opt < %s -inline -prune-eh -disable-output
; PR827
@_ZTV8CRjii = internal global [1 x i32 (...)*] [ i32 (...)* @_ZN8CRjii12NlFeeEPN5Jr7sE ]		; <[1 x i32 (...)*]*> [#uses=0]

define internal i32 @_ZN8CRjii12NlFeeEPN5Jr7sE(...) {
entry:
	br i1 false, label %cond_true, label %cond_false179

cond_true:		; preds = %entry
	br label %bb9

bb:		; preds = %cond_true14
	br label %bb9

bb9:		; preds = %bb, %cond_true
	br i1 false, label %cond_true14, label %cond_false

cond_true14:		; preds = %bb9
	br label %bb

cond_false:		; preds = %bb9
	br label %bb15

cond_next:		; No predecessors!
	br label %bb15

bb15:		; preds = %cond_next, %cond_false
	br label %bb24

bb17:		; preds = %cond_true29
	br label %bb24

bb24:		; preds = %bb17, %bb15
	br i1 false, label %cond_true29, label %cond_false30

cond_true29:		; preds = %bb24
	br label %bb17

cond_false30:		; preds = %bb24
	br label %bb32

cond_next31:		; No predecessors!
	br label %bb32

bb32:		; preds = %cond_next31, %cond_false30
	br label %bb41

bb34:		; preds = %cond_true46
	br label %bb41

bb41:		; preds = %bb34, %bb32
	br i1 false, label %cond_true46, label %cond_false47

cond_true46:		; preds = %bb41
	br label %bb34

cond_false47:		; preds = %bb41
	br label %bb49

cond_next48:		; No predecessors!
	br label %bb49

bb49:		; preds = %cond_next48, %cond_false47
	br label %bb58

bb51:		; preds = %cond_true63
	br label %bb58

bb58:		; preds = %bb51, %bb49
	br i1 false, label %cond_true63, label %cond_false64

cond_true63:		; preds = %bb58
	br label %bb51

cond_false64:		; preds = %bb58
	br label %bb66

cond_next65:		; No predecessors!
	br label %bb66

bb66:		; preds = %cond_next65, %cond_false64
	br label %bb76

bb68:		; preds = %cond_true81
	br label %bb76

bb76:		; preds = %bb68, %bb66
	br i1 false, label %cond_true81, label %cond_false82

cond_true81:		; preds = %bb76
	br label %bb68

cond_false82:		; preds = %bb76
	br label %bb84

cond_next83:		; No predecessors!
	br label %bb84

bb84:		; preds = %cond_next83, %cond_false82
	br label %bb94

bb86:		; preds = %cond_true99
	br label %bb94

bb94:		; preds = %bb86, %bb84
	br i1 false, label %cond_true99, label %cond_false100

cond_true99:		; preds = %bb94
	br label %bb86

cond_false100:		; preds = %bb94
	br label %bb102

cond_next101:		; No predecessors!
	br label %bb102

bb102:		; preds = %cond_next101, %cond_false100
	br label %bb112

bb104:		; preds = %cond_true117
	br label %bb112

bb112:		; preds = %bb104, %bb102
	br i1 false, label %cond_true117, label %cond_false118

cond_true117:		; preds = %bb112
	br label %bb104

cond_false118:		; preds = %bb112
	br label %bb120

cond_next119:		; No predecessors!
	br label %bb120

bb120:		; preds = %cond_next119, %cond_false118
	br label %bb130

bb122:		; preds = %cond_true135
	br label %bb130

bb130:		; preds = %bb122, %bb120
	br i1 false, label %cond_true135, label %cond_false136

cond_true135:		; preds = %bb130
	br label %bb122

cond_false136:		; preds = %bb130
	br label %bb138

cond_next137:		; No predecessors!
	br label %bb138

bb138:		; preds = %cond_next137, %cond_false136
	br label %bb148

bb140:		; preds = %cond_true153
	call fastcc void @_Zjrf1( )
	br label %bb148

bb148:		; preds = %bb140, %bb138
	br i1 false, label %cond_true153, label %cond_false154

cond_true153:		; preds = %bb148
	br label %bb140

cond_false154:		; preds = %bb148
	br label %bb156

cond_next155:		; No predecessors!
	br label %bb156

bb156:		; preds = %cond_next155, %cond_false154
	br label %bb166

bb158:		; preds = %cond_true171
	br label %bb166

bb166:		; preds = %bb158, %bb156
	br i1 false, label %cond_true171, label %cond_false172

cond_true171:		; preds = %bb166
	br label %bb158

cond_false172:		; preds = %bb166
	br label %bb174

cond_next173:		; No predecessors!
	br label %bb174

bb174:		; preds = %cond_next173, %cond_false172
	br label %cleanup

cleanup:		; preds = %bb174
	br label %finally

finally:		; preds = %cleanup
	br label %cond_next180

cond_false179:		; preds = %entry
	br label %cond_next180

cond_next180:		; preds = %cond_false179, %finally
	br label %return

return:		; preds = %cond_next180
	ret i32 0
}

define internal fastcc void @_Zjrf2() {
entry:
	br label %bb3

bb:		; preds = %cond_true
	br label %bb3

bb3:		; preds = %bb, %entry
	%tmp5 = load i8*, i8** null		; <i8*> [#uses=1]
	%tmp = icmp ne i8* null, %tmp5		; <i1> [#uses=1]
	br i1 %tmp, label %cond_true, label %cond_false

cond_true:		; preds = %bb3
	br label %bb

cond_false:		; preds = %bb3
	br label %bb6

cond_next:		; No predecessors!
	br label %bb6

bb6:		; preds = %cond_next, %cond_false
	br label %return

return:		; preds = %bb6
	ret void
}

define internal fastcc void @_Zjrf3() {
entry:
	call fastcc void @_Zjrf2( )
	br label %return

return:		; preds = %entry
	ret void
}

define internal fastcc void @_Zjrf4() {
entry:
	br label %bb6

bb:		; preds = %cond_true
	br label %bb6

bb6:		; preds = %bb, %entry
	br i1 false, label %cond_true, label %cond_false

cond_true:		; preds = %bb6
	br label %bb

cond_false:		; preds = %bb6
	br label %bb8

cond_next:		; No predecessors!
	br label %bb8

bb8:		; preds = %cond_next, %cond_false
	br i1 false, label %cond_true9, label %cond_false12

cond_true9:		; preds = %bb8
	call fastcc void @_Zjrf3( )
	br label %cond_next13

cond_false12:		; preds = %bb8
	br label %cond_next13

cond_next13:		; preds = %cond_false12, %cond_true9
	br label %return

return:		; preds = %cond_next13
	ret void
}

define internal fastcc void @_Zjrf5() {
entry:
	call fastcc void @_Zjrf4( )
	br label %return

return:		; preds = %entry
	ret void
}

define internal fastcc void @_Zjrf6() {
entry:
	call fastcc void @_Zjrf5( )
	br label %return

return:		; preds = %entry
	ret void
}

define internal fastcc void @_Zjrf7() {
entry:
	br label %cleanup

cleanup:		; preds = %entry
	br label %finally

finally:		; preds = %cleanup
	call fastcc void @_Zjrf6( )
	br label %cleanup9

cleanup9:		; preds = %finally
	br label %finally8

finally8:		; preds = %cleanup9
	br label %cleanup11

cleanup11:		; preds = %finally8
	br label %finally10

finally10:		; preds = %cleanup11
	br label %finally23

finally23:		; preds = %finally10
	br label %return

return:		; preds = %finally23
	ret void
}

define internal fastcc void @_Zjrf11() {
entry:
	br label %bb7

bb:		; preds = %cond_true
	br label %bb7

bb7:		; preds = %bb, %entry
	br i1 false, label %cond_true, label %cond_false

cond_true:		; preds = %bb7
	br label %bb

cond_false:		; preds = %bb7
	br label %bb9

cond_next:		; No predecessors!
	br label %bb9

bb9:		; preds = %cond_next, %cond_false
	br label %return
		; No predecessors!
	br i1 false, label %cond_true12, label %cond_false15

cond_true12:		; preds = %0
	call fastcc void @_Zjrf3( )
	br label %cond_next16

cond_false15:		; preds = %0
	br label %cond_next16

cond_next16:		; preds = %cond_false15, %cond_true12
	br label %return

return:		; preds = %cond_next16, %bb9
	ret void
}

define internal fastcc void @_Zjrf9() {
entry:
	call fastcc void @_Zjrf11( )
	br label %return

return:		; preds = %entry
	ret void
}

define internal fastcc void @_Zjrf10() {
entry:
	call fastcc void @_Zjrf9( )
	br label %return

return:		; preds = %entry
	ret void
}

define internal fastcc void @_Zjrf8() {
entry:
	br i1 false, label %cond_true, label %cond_false201

cond_true:		; preds = %entry
	br i1 false, label %cond_true36, label %cond_false

cond_true36:		; preds = %cond_true
	br label %cleanup

cleanup:		; preds = %cond_true36
	br label %finally

finally:		; preds = %cleanup
	br label %cond_next189

cond_false:		; preds = %cond_true
	br i1 false, label %cond_true99, label %cond_false137

cond_true99:		; preds = %cond_false
	br label %cleanup136

cleanup136:		; preds = %cond_true99
	br label %finally135

finally135:		; preds = %cleanup136
	br label %cond_next

cond_false137:		; preds = %cond_false
	call fastcc void @_Zjrf10( )
	br label %cleanup188

cleanup188:		; preds = %cond_false137
	br label %finally187

finally187:		; preds = %cleanup188
	br label %cond_next

cond_next:		; preds = %finally187, %finally135
	br label %cond_next189

cond_next189:		; preds = %cond_next, %finally
	br label %cond_next202

cond_false201:		; preds = %entry
	br label %cond_next202

cond_next202:		; preds = %cond_false201, %cond_next189
	br label %return

return:		; preds = %cond_next202
	ret void
}

define internal fastcc void @_Zjrf1() {
entry:
	br label %bb492

bb:		; preds = %cond_true499
	br label %cleanup

cleanup:		; preds = %bb
	br label %finally

finally:		; preds = %cleanup
	br label %cleanup11

cleanup11:		; preds = %finally
	br label %finally10

finally10:		; preds = %cleanup11
	br i1 false, label %cond_true, label %cond_false286

cond_true:		; preds = %finally10
	br label %cleanup26

cleanup26:		; preds = %cond_true
	br label %finally25

finally25:		; preds = %cleanup26
	br label %bb30

bb27:		; preds = %cond_true37
	br label %bb30

bb30:		; preds = %bb27, %finally25
	br i1 false, label %cond_true37, label %cond_false

cond_true37:		; preds = %bb30
	br label %bb27

cond_false:		; preds = %bb30
	br label %bb38

cond_next:		; No predecessors!
	br label %bb38

bb38:		; preds = %cond_next, %cond_false
	br label %bb148

bb40:		; preds = %cond_true156
	br label %bb139

bb41:		; preds = %cond_true142
	call fastcc void @_Zjrf7( )
	br label %bb105

bb44:		; preds = %cond_true112
	br label %bb74

bb66:		; preds = %cond_true80
	br label %bb74

bb74:		; preds = %bb66, %bb44
	br i1 false, label %cond_true80, label %cond_false81

cond_true80:		; preds = %bb74
	br label %bb66

cond_false81:		; preds = %bb74
	br label %bb83

cond_next82:		; No predecessors!
	br label %bb83

bb83:		; preds = %cond_next82, %cond_false81
	br label %cleanup97

cleanup97:		; preds = %bb83
	br label %finally96

finally96:		; preds = %cleanup97
	br label %cleanup99

cleanup99:		; preds = %finally96
	br label %finally98

finally98:		; preds = %cleanup99
	br label %bb105

bb105:		; preds = %finally98, %bb41
	br i1 false, label %cond_true112, label %cond_false113

cond_true112:		; preds = %bb105
	br label %bb44

cond_false113:		; preds = %bb105
	br label %bb115

cond_next114:		; No predecessors!
	br label %bb115

bb115:		; preds = %cond_next114, %cond_false113
	br i1 false, label %cond_true119, label %cond_false123

cond_true119:		; preds = %bb115
	call fastcc void @_Zjrf8( )
	br label %cond_next124

cond_false123:		; preds = %bb115
	br label %cond_next124

cond_next124:		; preds = %cond_false123, %cond_true119
	br i1 false, label %cond_true131, label %cond_false132

cond_true131:		; preds = %cond_next124
	br label %cleanup135

cond_false132:		; preds = %cond_next124
	br label %cond_next133

cond_next133:		; preds = %cond_false132
	br label %cleanup136

cleanup135:		; preds = %cond_true131
	br label %done

cleanup136:		; preds = %cond_next133
	br label %finally134

finally134:		; preds = %cleanup136
	br label %bb139

bb139:		; preds = %finally134, %bb40
	br i1 false, label %cond_true142, label %cond_false143

cond_true142:		; preds = %bb139
	br label %bb41

cond_false143:		; preds = %bb139
	br label %bb145

cond_next144:		; No predecessors!
	br label %bb145

bb145:		; preds = %cond_next144, %cond_false143
	br label %bb148

bb148:		; preds = %bb145, %bb38
	br i1 false, label %cond_true156, label %cond_false157

cond_true156:		; preds = %bb148
	br label %bb40

cond_false157:		; preds = %bb148
	br label %bb159

cond_next158:		; No predecessors!
	br label %bb159

bb159:		; preds = %cond_next158, %cond_false157
	br label %done

done:		; preds = %bb159, %cleanup135
	br label %bb214

bb185:		; preds = %cond_true218
	br i1 false, label %cond_true193, label %cond_false206

cond_true193:		; preds = %bb185
	br label %cond_next211

cond_false206:		; preds = %bb185
	br label %cond_next211

cond_next211:		; preds = %cond_false206, %cond_true193
	br label %bb214

bb214:		; preds = %cond_next211, %done
	br i1 false, label %cond_true218, label %cond_false219

cond_true218:		; preds = %bb214
	br label %bb185

cond_false219:		; preds = %bb214
	br label %bb221

cond_next220:		; No predecessors!
	br label %bb221

bb221:		; preds = %cond_next220, %cond_false219
	br i1 false, label %cond_true236, label %cond_false245

cond_true236:		; preds = %bb221
	br label %cond_next249

cond_false245:		; preds = %bb221
	br label %cond_next249

cond_next249:		; preds = %cond_false245, %cond_true236
	br i1 false, label %cond_true272, label %cond_false277

cond_true272:		; preds = %cond_next249
	br label %cond_next278

cond_false277:		; preds = %cond_next249
	br label %cond_next278

cond_next278:		; preds = %cond_false277, %cond_true272
	br label %cleanup285

cleanup285:		; preds = %cond_next278
	br label %finally284

finally284:		; preds = %cleanup285
	br label %cond_next287

cond_false286:		; preds = %finally10
	br label %cond_next287

cond_next287:		; preds = %cond_false286, %finally284
	br i1 false, label %cond_true317, label %cond_false319

cond_true317:		; preds = %cond_next287
	br label %cond_next321

cond_false319:		; preds = %cond_next287
	br label %cond_next321

cond_next321:		; preds = %cond_false319, %cond_true317
	br label %bb348

bb335:		; preds = %cond_true355
	br label %bb348

bb348:		; preds = %bb335, %cond_next321
	br i1 false, label %cond_true355, label %cond_false356

cond_true355:		; preds = %bb348
	br label %bb335

cond_false356:		; preds = %bb348
	br label %bb358

cond_next357:		; No predecessors!
	br label %bb358

bb358:		; preds = %cond_next357, %cond_false356
	br i1 false, label %cond_true363, label %cond_false364

cond_true363:		; preds = %bb358
	br label %bb388

cond_false364:		; preds = %bb358
	br label %cond_next365

cond_next365:		; preds = %cond_false364
	br i1 false, label %cond_true370, label %cond_false371

cond_true370:		; preds = %cond_next365
	br label %bb388

cond_false371:		; preds = %cond_next365
	br label %cond_next372

cond_next372:		; preds = %cond_false371
	br i1 false, label %cond_true385, label %cond_false386

cond_true385:		; preds = %cond_next372
	br label %bb388

cond_false386:		; preds = %cond_next372
	br label %cond_next387

cond_next387:		; preds = %cond_false386
	br label %bb389

bb388:		; preds = %cond_true385, %cond_true370, %cond_true363
	br label %bb389

bb389:		; preds = %bb388, %cond_next387
	br i1 false, label %cond_true392, label %cond_false443

cond_true392:		; preds = %bb389
	br label %bb419

bb402:		; preds = %cond_true425
	br i1 false, label %cond_true406, label %cond_false412

cond_true406:		; preds = %bb402
	br label %cond_next416

cond_false412:		; preds = %bb402
	br label %cond_next416

cond_next416:		; preds = %cond_false412, %cond_true406
	br label %bb419

bb419:		; preds = %cond_next416, %cond_true392
	br i1 false, label %cond_true425, label %cond_false426

cond_true425:		; preds = %bb419
	br label %bb402

cond_false426:		; preds = %bb419
	br label %bb428

cond_next427:		; No predecessors!
	br label %bb428

bb428:		; preds = %cond_next427, %cond_false426
	br label %cond_next478

cond_false443:		; preds = %bb389
	br label %bb460

bb450:		; preds = %cond_true466
	br label %bb460

bb460:		; preds = %bb450, %cond_false443
	br i1 false, label %cond_true466, label %cond_false467

cond_true466:		; preds = %bb460
	br label %bb450

cond_false467:		; preds = %bb460
	br label %bb469

cond_next468:		; No predecessors!
	br label %bb469

bb469:		; preds = %cond_next468, %cond_false467
	br label %cond_next478

cond_next478:		; preds = %bb469, %bb428
	br label %cleanup485

cleanup485:		; preds = %cond_next478
	br label %finally484

finally484:		; preds = %cleanup485
	br label %cleanup487

cleanup487:		; preds = %finally484
	br label %finally486

finally486:		; preds = %cleanup487
	br label %cleanup489

cleanup489:		; preds = %finally486
	br label %finally488

finally488:		; preds = %cleanup489
	br label %bb492

bb492:		; preds = %finally488, %entry
	br i1 false, label %cond_true499, label %cond_false500

cond_true499:		; preds = %bb492
	br label %bb

cond_false500:		; preds = %bb492
	br label %bb502

cond_next501:		; No predecessors!
	br label %bb502

bb502:		; preds = %cond_next501, %cond_false500
	br label %return

return:		; preds = %bb502
	ret void
}

define internal fastcc void @_ZSt26__unguarded_insertion_sortIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEEvT_S7_() {
entry:
	br label %bb12

bb:		; preds = %cond_true
	br label %cleanup

cleanup:		; preds = %bb
	br label %finally

finally:		; preds = %cleanup
	br label %bb12

bb12:		; preds = %finally, %entry
	br i1 false, label %cond_true, label %cond_false

cond_true:		; preds = %bb12
	br label %bb

cond_false:		; preds = %bb12
	br label %bb14

cond_next:		; No predecessors!
	br label %bb14

bb14:		; preds = %cond_next, %cond_false
	br label %return

return:		; preds = %bb14
	ret void
}