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 5 define internal i32 @_ZN8CRjii12NlFeeEPN5Jr7sE(...) { 6 entry: 7 br i1 false, label %cond_true, label %cond_false179 8 9 cond_true: ; preds = %entry 10 br label %bb9 11 12 bb: ; preds = %cond_true14 13 br label %bb9 14 15 bb9: ; preds = %bb, %cond_true 16 br i1 false, label %cond_true14, label %cond_false 17 18 cond_true14: ; preds = %bb9 19 br label %bb 20 21 cond_false: ; preds = %bb9 22 br label %bb15 23 24 cond_next: ; No predecessors! 25 br label %bb15 26 27 bb15: ; preds = %cond_next, %cond_false 28 br label %bb24 29 30 bb17: ; preds = %cond_true29 31 br label %bb24 32 33 bb24: ; preds = %bb17, %bb15 34 br i1 false, label %cond_true29, label %cond_false30 35 36 cond_true29: ; preds = %bb24 37 br label %bb17 38 39 cond_false30: ; preds = %bb24 40 br label %bb32 41 42 cond_next31: ; No predecessors! 43 br label %bb32 44 45 bb32: ; preds = %cond_next31, %cond_false30 46 br label %bb41 47 48 bb34: ; preds = %cond_true46 49 br label %bb41 50 51 bb41: ; preds = %bb34, %bb32 52 br i1 false, label %cond_true46, label %cond_false47 53 54 cond_true46: ; preds = %bb41 55 br label %bb34 56 57 cond_false47: ; preds = %bb41 58 br label %bb49 59 60 cond_next48: ; No predecessors! 61 br label %bb49 62 63 bb49: ; preds = %cond_next48, %cond_false47 64 br label %bb58 65 66 bb51: ; preds = %cond_true63 67 br label %bb58 68 69 bb58: ; preds = %bb51, %bb49 70 br i1 false, label %cond_true63, label %cond_false64 71 72 cond_true63: ; preds = %bb58 73 br label %bb51 74 75 cond_false64: ; preds = %bb58 76 br label %bb66 77 78 cond_next65: ; No predecessors! 79 br label %bb66 80 81 bb66: ; preds = %cond_next65, %cond_false64 82 br label %bb76 83 84 bb68: ; preds = %cond_true81 85 br label %bb76 86 87 bb76: ; preds = %bb68, %bb66 88 br i1 false, label %cond_true81, label %cond_false82 89 90 cond_true81: ; preds = %bb76 91 br label %bb68 92 93 cond_false82: ; preds = %bb76 94 br label %bb84 95 96 cond_next83: ; No predecessors! 97 br label %bb84 98 99 bb84: ; preds = %cond_next83, %cond_false82 100 br label %bb94 101 102 bb86: ; preds = %cond_true99 103 br label %bb94 104 105 bb94: ; preds = %bb86, %bb84 106 br i1 false, label %cond_true99, label %cond_false100 107 108 cond_true99: ; preds = %bb94 109 br label %bb86 110 111 cond_false100: ; preds = %bb94 112 br label %bb102 113 114 cond_next101: ; No predecessors! 115 br label %bb102 116 117 bb102: ; preds = %cond_next101, %cond_false100 118 br label %bb112 119 120 bb104: ; preds = %cond_true117 121 br label %bb112 122 123 bb112: ; preds = %bb104, %bb102 124 br i1 false, label %cond_true117, label %cond_false118 125 126 cond_true117: ; preds = %bb112 127 br label %bb104 128 129 cond_false118: ; preds = %bb112 130 br label %bb120 131 132 cond_next119: ; No predecessors! 133 br label %bb120 134 135 bb120: ; preds = %cond_next119, %cond_false118 136 br label %bb130 137 138 bb122: ; preds = %cond_true135 139 br label %bb130 140 141 bb130: ; preds = %bb122, %bb120 142 br i1 false, label %cond_true135, label %cond_false136 143 144 cond_true135: ; preds = %bb130 145 br label %bb122 146 147 cond_false136: ; preds = %bb130 148 br label %bb138 149 150 cond_next137: ; No predecessors! 151 br label %bb138 152 153 bb138: ; preds = %cond_next137, %cond_false136 154 br label %bb148 155 156 bb140: ; preds = %cond_true153 157 call fastcc void @_Zjrf1( ) 158 br label %bb148 159 160 bb148: ; preds = %bb140, %bb138 161 br i1 false, label %cond_true153, label %cond_false154 162 163 cond_true153: ; preds = %bb148 164 br label %bb140 165 166 cond_false154: ; preds = %bb148 167 br label %bb156 168 169 cond_next155: ; No predecessors! 170 br label %bb156 171 172 bb156: ; preds = %cond_next155, %cond_false154 173 br label %bb166 174 175 bb158: ; preds = %cond_true171 176 br label %bb166 177 178 bb166: ; preds = %bb158, %bb156 179 br i1 false, label %cond_true171, label %cond_false172 180 181 cond_true171: ; preds = %bb166 182 br label %bb158 183 184 cond_false172: ; preds = %bb166 185 br label %bb174 186 187 cond_next173: ; No predecessors! 188 br label %bb174 189 190 bb174: ; preds = %cond_next173, %cond_false172 191 br label %cleanup 192 193 cleanup: ; preds = %bb174 194 br label %finally 195 196 finally: ; preds = %cleanup 197 br label %cond_next180 198 199 cond_false179: ; preds = %entry 200 br label %cond_next180 201 202 cond_next180: ; preds = %cond_false179, %finally 203 br label %return 204 205 return: ; preds = %cond_next180 206 ret i32 0 207 } 208 209 define internal fastcc void @_Zjrf2() { 210 entry: 211 br label %bb3 212 213 bb: ; preds = %cond_true 214 br label %bb3 215 216 bb3: ; preds = %bb, %entry 217 %tmp5 = load i8*, i8** null ; <i8*> [#uses=1] 218 %tmp = icmp ne i8* null, %tmp5 ; <i1> [#uses=1] 219 br i1 %tmp, label %cond_true, label %cond_false 220 221 cond_true: ; preds = %bb3 222 br label %bb 223 224 cond_false: ; preds = %bb3 225 br label %bb6 226 227 cond_next: ; No predecessors! 228 br label %bb6 229 230 bb6: ; preds = %cond_next, %cond_false 231 br label %return 232 233 return: ; preds = %bb6 234 ret void 235 } 236 237 define internal fastcc void @_Zjrf3() { 238 entry: 239 call fastcc void @_Zjrf2( ) 240 br label %return 241 242 return: ; preds = %entry 243 ret void 244 } 245 246 define internal fastcc void @_Zjrf4() { 247 entry: 248 br label %bb6 249 250 bb: ; preds = %cond_true 251 br label %bb6 252 253 bb6: ; preds = %bb, %entry 254 br i1 false, label %cond_true, label %cond_false 255 256 cond_true: ; preds = %bb6 257 br label %bb 258 259 cond_false: ; preds = %bb6 260 br label %bb8 261 262 cond_next: ; No predecessors! 263 br label %bb8 264 265 bb8: ; preds = %cond_next, %cond_false 266 br i1 false, label %cond_true9, label %cond_false12 267 268 cond_true9: ; preds = %bb8 269 call fastcc void @_Zjrf3( ) 270 br label %cond_next13 271 272 cond_false12: ; preds = %bb8 273 br label %cond_next13 274 275 cond_next13: ; preds = %cond_false12, %cond_true9 276 br label %return 277 278 return: ; preds = %cond_next13 279 ret void 280 } 281 282 define internal fastcc void @_Zjrf5() { 283 entry: 284 call fastcc void @_Zjrf4( ) 285 br label %return 286 287 return: ; preds = %entry 288 ret void 289 } 290 291 define internal fastcc void @_Zjrf6() { 292 entry: 293 call fastcc void @_Zjrf5( ) 294 br label %return 295 296 return: ; preds = %entry 297 ret void 298 } 299 300 define internal fastcc void @_Zjrf7() { 301 entry: 302 br label %cleanup 303 304 cleanup: ; preds = %entry 305 br label %finally 306 307 finally: ; preds = %cleanup 308 call fastcc void @_Zjrf6( ) 309 br label %cleanup9 310 311 cleanup9: ; preds = %finally 312 br label %finally8 313 314 finally8: ; preds = %cleanup9 315 br label %cleanup11 316 317 cleanup11: ; preds = %finally8 318 br label %finally10 319 320 finally10: ; preds = %cleanup11 321 br label %finally23 322 323 finally23: ; preds = %finally10 324 br label %return 325 326 return: ; preds = %finally23 327 ret void 328 } 329 330 define internal fastcc void @_Zjrf11() { 331 entry: 332 br label %bb7 333 334 bb: ; preds = %cond_true 335 br label %bb7 336 337 bb7: ; preds = %bb, %entry 338 br i1 false, label %cond_true, label %cond_false 339 340 cond_true: ; preds = %bb7 341 br label %bb 342 343 cond_false: ; preds = %bb7 344 br label %bb9 345 346 cond_next: ; No predecessors! 347 br label %bb9 348 349 bb9: ; preds = %cond_next, %cond_false 350 br label %return 351 ; No predecessors! 352 br i1 false, label %cond_true12, label %cond_false15 353 354 cond_true12: ; preds = %0 355 call fastcc void @_Zjrf3( ) 356 br label %cond_next16 357 358 cond_false15: ; preds = %0 359 br label %cond_next16 360 361 cond_next16: ; preds = %cond_false15, %cond_true12 362 br label %return 363 364 return: ; preds = %cond_next16, %bb9 365 ret void 366 } 367 368 define internal fastcc void @_Zjrf9() { 369 entry: 370 call fastcc void @_Zjrf11( ) 371 br label %return 372 373 return: ; preds = %entry 374 ret void 375 } 376 377 define internal fastcc void @_Zjrf10() { 378 entry: 379 call fastcc void @_Zjrf9( ) 380 br label %return 381 382 return: ; preds = %entry 383 ret void 384 } 385 386 define internal fastcc void @_Zjrf8() { 387 entry: 388 br i1 false, label %cond_true, label %cond_false201 389 390 cond_true: ; preds = %entry 391 br i1 false, label %cond_true36, label %cond_false 392 393 cond_true36: ; preds = %cond_true 394 br label %cleanup 395 396 cleanup: ; preds = %cond_true36 397 br label %finally 398 399 finally: ; preds = %cleanup 400 br label %cond_next189 401 402 cond_false: ; preds = %cond_true 403 br i1 false, label %cond_true99, label %cond_false137 404 405 cond_true99: ; preds = %cond_false 406 br label %cleanup136 407 408 cleanup136: ; preds = %cond_true99 409 br label %finally135 410 411 finally135: ; preds = %cleanup136 412 br label %cond_next 413 414 cond_false137: ; preds = %cond_false 415 call fastcc void @_Zjrf10( ) 416 br label %cleanup188 417 418 cleanup188: ; preds = %cond_false137 419 br label %finally187 420 421 finally187: ; preds = %cleanup188 422 br label %cond_next 423 424 cond_next: ; preds = %finally187, %finally135 425 br label %cond_next189 426 427 cond_next189: ; preds = %cond_next, %finally 428 br label %cond_next202 429 430 cond_false201: ; preds = %entry 431 br label %cond_next202 432 433 cond_next202: ; preds = %cond_false201, %cond_next189 434 br label %return 435 436 return: ; preds = %cond_next202 437 ret void 438 } 439 440 define internal fastcc void @_Zjrf1() { 441 entry: 442 br label %bb492 443 444 bb: ; preds = %cond_true499 445 br label %cleanup 446 447 cleanup: ; preds = %bb 448 br label %finally 449 450 finally: ; preds = %cleanup 451 br label %cleanup11 452 453 cleanup11: ; preds = %finally 454 br label %finally10 455 456 finally10: ; preds = %cleanup11 457 br i1 false, label %cond_true, label %cond_false286 458 459 cond_true: ; preds = %finally10 460 br label %cleanup26 461 462 cleanup26: ; preds = %cond_true 463 br label %finally25 464 465 finally25: ; preds = %cleanup26 466 br label %bb30 467 468 bb27: ; preds = %cond_true37 469 br label %bb30 470 471 bb30: ; preds = %bb27, %finally25 472 br i1 false, label %cond_true37, label %cond_false 473 474 cond_true37: ; preds = %bb30 475 br label %bb27 476 477 cond_false: ; preds = %bb30 478 br label %bb38 479 480 cond_next: ; No predecessors! 481 br label %bb38 482 483 bb38: ; preds = %cond_next, %cond_false 484 br label %bb148 485 486 bb40: ; preds = %cond_true156 487 br label %bb139 488 489 bb41: ; preds = %cond_true142 490 call fastcc void @_Zjrf7( ) 491 br label %bb105 492 493 bb44: ; preds = %cond_true112 494 br label %bb74 495 496 bb66: ; preds = %cond_true80 497 br label %bb74 498 499 bb74: ; preds = %bb66, %bb44 500 br i1 false, label %cond_true80, label %cond_false81 501 502 cond_true80: ; preds = %bb74 503 br label %bb66 504 505 cond_false81: ; preds = %bb74 506 br label %bb83 507 508 cond_next82: ; No predecessors! 509 br label %bb83 510 511 bb83: ; preds = %cond_next82, %cond_false81 512 br label %cleanup97 513 514 cleanup97: ; preds = %bb83 515 br label %finally96 516 517 finally96: ; preds = %cleanup97 518 br label %cleanup99 519 520 cleanup99: ; preds = %finally96 521 br label %finally98 522 523 finally98: ; preds = %cleanup99 524 br label %bb105 525 526 bb105: ; preds = %finally98, %bb41 527 br i1 false, label %cond_true112, label %cond_false113 528 529 cond_true112: ; preds = %bb105 530 br label %bb44 531 532 cond_false113: ; preds = %bb105 533 br label %bb115 534 535 cond_next114: ; No predecessors! 536 br label %bb115 537 538 bb115: ; preds = %cond_next114, %cond_false113 539 br i1 false, label %cond_true119, label %cond_false123 540 541 cond_true119: ; preds = %bb115 542 call fastcc void @_Zjrf8( ) 543 br label %cond_next124 544 545 cond_false123: ; preds = %bb115 546 br label %cond_next124 547 548 cond_next124: ; preds = %cond_false123, %cond_true119 549 br i1 false, label %cond_true131, label %cond_false132 550 551 cond_true131: ; preds = %cond_next124 552 br label %cleanup135 553 554 cond_false132: ; preds = %cond_next124 555 br label %cond_next133 556 557 cond_next133: ; preds = %cond_false132 558 br label %cleanup136 559 560 cleanup135: ; preds = %cond_true131 561 br label %done 562 563 cleanup136: ; preds = %cond_next133 564 br label %finally134 565 566 finally134: ; preds = %cleanup136 567 br label %bb139 568 569 bb139: ; preds = %finally134, %bb40 570 br i1 false, label %cond_true142, label %cond_false143 571 572 cond_true142: ; preds = %bb139 573 br label %bb41 574 575 cond_false143: ; preds = %bb139 576 br label %bb145 577 578 cond_next144: ; No predecessors! 579 br label %bb145 580 581 bb145: ; preds = %cond_next144, %cond_false143 582 br label %bb148 583 584 bb148: ; preds = %bb145, %bb38 585 br i1 false, label %cond_true156, label %cond_false157 586 587 cond_true156: ; preds = %bb148 588 br label %bb40 589 590 cond_false157: ; preds = %bb148 591 br label %bb159 592 593 cond_next158: ; No predecessors! 594 br label %bb159 595 596 bb159: ; preds = %cond_next158, %cond_false157 597 br label %done 598 599 done: ; preds = %bb159, %cleanup135 600 br label %bb214 601 602 bb185: ; preds = %cond_true218 603 br i1 false, label %cond_true193, label %cond_false206 604 605 cond_true193: ; preds = %bb185 606 br label %cond_next211 607 608 cond_false206: ; preds = %bb185 609 br label %cond_next211 610 611 cond_next211: ; preds = %cond_false206, %cond_true193 612 br label %bb214 613 614 bb214: ; preds = %cond_next211, %done 615 br i1 false, label %cond_true218, label %cond_false219 616 617 cond_true218: ; preds = %bb214 618 br label %bb185 619 620 cond_false219: ; preds = %bb214 621 br label %bb221 622 623 cond_next220: ; No predecessors! 624 br label %bb221 625 626 bb221: ; preds = %cond_next220, %cond_false219 627 br i1 false, label %cond_true236, label %cond_false245 628 629 cond_true236: ; preds = %bb221 630 br label %cond_next249 631 632 cond_false245: ; preds = %bb221 633 br label %cond_next249 634 635 cond_next249: ; preds = %cond_false245, %cond_true236 636 br i1 false, label %cond_true272, label %cond_false277 637 638 cond_true272: ; preds = %cond_next249 639 br label %cond_next278 640 641 cond_false277: ; preds = %cond_next249 642 br label %cond_next278 643 644 cond_next278: ; preds = %cond_false277, %cond_true272 645 br label %cleanup285 646 647 cleanup285: ; preds = %cond_next278 648 br label %finally284 649 650 finally284: ; preds = %cleanup285 651 br label %cond_next287 652 653 cond_false286: ; preds = %finally10 654 br label %cond_next287 655 656 cond_next287: ; preds = %cond_false286, %finally284 657 br i1 false, label %cond_true317, label %cond_false319 658 659 cond_true317: ; preds = %cond_next287 660 br label %cond_next321 661 662 cond_false319: ; preds = %cond_next287 663 br label %cond_next321 664 665 cond_next321: ; preds = %cond_false319, %cond_true317 666 br label %bb348 667 668 bb335: ; preds = %cond_true355 669 br label %bb348 670 671 bb348: ; preds = %bb335, %cond_next321 672 br i1 false, label %cond_true355, label %cond_false356 673 674 cond_true355: ; preds = %bb348 675 br label %bb335 676 677 cond_false356: ; preds = %bb348 678 br label %bb358 679 680 cond_next357: ; No predecessors! 681 br label %bb358 682 683 bb358: ; preds = %cond_next357, %cond_false356 684 br i1 false, label %cond_true363, label %cond_false364 685 686 cond_true363: ; preds = %bb358 687 br label %bb388 688 689 cond_false364: ; preds = %bb358 690 br label %cond_next365 691 692 cond_next365: ; preds = %cond_false364 693 br i1 false, label %cond_true370, label %cond_false371 694 695 cond_true370: ; preds = %cond_next365 696 br label %bb388 697 698 cond_false371: ; preds = %cond_next365 699 br label %cond_next372 700 701 cond_next372: ; preds = %cond_false371 702 br i1 false, label %cond_true385, label %cond_false386 703 704 cond_true385: ; preds = %cond_next372 705 br label %bb388 706 707 cond_false386: ; preds = %cond_next372 708 br label %cond_next387 709 710 cond_next387: ; preds = %cond_false386 711 br label %bb389 712 713 bb388: ; preds = %cond_true385, %cond_true370, %cond_true363 714 br label %bb389 715 716 bb389: ; preds = %bb388, %cond_next387 717 br i1 false, label %cond_true392, label %cond_false443 718 719 cond_true392: ; preds = %bb389 720 br label %bb419 721 722 bb402: ; preds = %cond_true425 723 br i1 false, label %cond_true406, label %cond_false412 724 725 cond_true406: ; preds = %bb402 726 br label %cond_next416 727 728 cond_false412: ; preds = %bb402 729 br label %cond_next416 730 731 cond_next416: ; preds = %cond_false412, %cond_true406 732 br label %bb419 733 734 bb419: ; preds = %cond_next416, %cond_true392 735 br i1 false, label %cond_true425, label %cond_false426 736 737 cond_true425: ; preds = %bb419 738 br label %bb402 739 740 cond_false426: ; preds = %bb419 741 br label %bb428 742 743 cond_next427: ; No predecessors! 744 br label %bb428 745 746 bb428: ; preds = %cond_next427, %cond_false426 747 br label %cond_next478 748 749 cond_false443: ; preds = %bb389 750 br label %bb460 751 752 bb450: ; preds = %cond_true466 753 br label %bb460 754 755 bb460: ; preds = %bb450, %cond_false443 756 br i1 false, label %cond_true466, label %cond_false467 757 758 cond_true466: ; preds = %bb460 759 br label %bb450 760 761 cond_false467: ; preds = %bb460 762 br label %bb469 763 764 cond_next468: ; No predecessors! 765 br label %bb469 766 767 bb469: ; preds = %cond_next468, %cond_false467 768 br label %cond_next478 769 770 cond_next478: ; preds = %bb469, %bb428 771 br label %cleanup485 772 773 cleanup485: ; preds = %cond_next478 774 br label %finally484 775 776 finally484: ; preds = %cleanup485 777 br label %cleanup487 778 779 cleanup487: ; preds = %finally484 780 br label %finally486 781 782 finally486: ; preds = %cleanup487 783 br label %cleanup489 784 785 cleanup489: ; preds = %finally486 786 br label %finally488 787 788 finally488: ; preds = %cleanup489 789 br label %bb492 790 791 bb492: ; preds = %finally488, %entry 792 br i1 false, label %cond_true499, label %cond_false500 793 794 cond_true499: ; preds = %bb492 795 br label %bb 796 797 cond_false500: ; preds = %bb492 798 br label %bb502 799 800 cond_next501: ; No predecessors! 801 br label %bb502 802 803 bb502: ; preds = %cond_next501, %cond_false500 804 br label %return 805 806 return: ; preds = %bb502 807 ret void 808 } 809 810 define internal fastcc void @_ZSt26__unguarded_insertion_sortIN9__gnu_cxx17__normal_iteratorIPSsSt6vectorISsSaISsEEEEEvT_S7_() { 811 entry: 812 br label %bb12 813 814 bb: ; preds = %cond_true 815 br label %cleanup 816 817 cleanup: ; preds = %bb 818 br label %finally 819 820 finally: ; preds = %cleanup 821 br label %bb12 822 823 bb12: ; preds = %finally, %entry 824 br i1 false, label %cond_true, label %cond_false 825 826 cond_true: ; preds = %bb12 827 br label %bb 828 829 cond_false: ; preds = %bb12 830 br label %bb14 831 832 cond_next: ; No predecessors! 833 br label %bb14 834 835 bb14: ; preds = %cond_next, %cond_false 836 br label %return 837 838 return: ; preds = %bb14 839 ret void 840 } 841