1; Just a test case for a crash reported in 2; https://bugs.llvm.org/show_bug.cgi?id=33636 3; RUN: llc -mtriple=powerpc64le-unknown-unknown -mcpu=pwr8 < %s | FileCheck %s 4@g_225 = external unnamed_addr global i16, align 2 5@g_756 = external global [6 x i32], align 4 6@g_3456 = external global i32, align 4 7@g_3708 = external global [9 x i32], align 4 8@g_1252 = external global i8*, align 8 9@g_3043 = external global float*, align 8 10 11; Function Attrs: nounwind 12define void @main() { 13 br i1 undef, label %1, label %4 14 15; <label>:1: ; preds = %0 16 br i1 undef, label %2, label %3 17 18; <label>:2: ; preds = %1 19 br label %3 20 21; <label>:3: ; preds = %2, %1 22 br label %4 23 24; <label>:4: ; preds = %3, %0 25 br label %5 26 27; <label>:5: ; preds = %5, %4 28 br i1 undef, label %6, label %5 29 30; <label>:6: ; preds = %5 31 br i1 undef, label %7, label %8 32 33; <label>:7: ; preds = %6 34 br i1 undef, label %70, label %69 35 36; <label>:8: ; preds = %6 37 br i1 undef, label %9, label %50 38 39; <label>:9: ; preds = %8 40 br label %11 41 42; <label>:10: ; preds = %28 43 br i1 undef, label %11, label %12 44 45; <label>:11: ; preds = %10, %9 46 br label %13 47 48; <label>:12: ; preds = %10 49 br label %30 50 51; <label>:13: ; preds = %23, %11 52 br i1 undef, label %17, label %14 53 54; <label>:14: ; preds = %13 55 br i1 undef, label %16, label %15 56 57; <label>:15: ; preds = %14 58 br label %22 59 60; <label>:16: ; preds = %14 61 br label %17 62 63; <label>:17: ; preds = %16, %13 64 br i1 undef, label %18, label %19 65 66; <label>:18: ; preds = %17 67 br label %19 68 69; <label>:19: ; preds = %18, %17 70 br i1 undef, label %48, label %20 71 72; <label>:20: ; preds = %19 73 br i1 undef, label %48, label %21 74 75; <label>:21: ; preds = %20 76 br label %22 77 78; <label>:22: ; preds = %21, %15 79 br i1 undef, label %23, label %24 80 81; <label>:23: ; preds = %22 82 br label %13 83 84; <label>:24: ; preds = %22 85 br i1 undef, label %28, label %25 86 87; <label>:25: ; preds = %24 88 br label %26 89 90; <label>:26: ; preds = %26, %25 91 br i1 undef, label %26, label %27 92 93; <label>:27: ; preds = %26 94 br label %48 95 96; <label>:28: ; preds = %24 97 br i1 undef, label %29, label %10 98 99; <label>:29: ; preds = %28 100 br label %48 101 102; <label>:30: ; preds = %33, %12 103 br i1 undef, label %32, label %33 104 105; <label>:31: ; preds = %33 106 br label %34 107 108; <label>:32: ; preds = %30 109 br label %33 110 111; <label>:33: ; preds = %32, %30 112 br i1 undef, label %30, label %31 113 114; <label>:34: ; preds = %47, %31 115 br i1 undef, label %35, label %36 116 117; <label>:35: ; preds = %34 118 br label %36 119 120; <label>:36: ; preds = %35, %34 121 br label %37 122 123; <label>:37: ; preds = %45, %36 124 br i1 undef, label %40, label %38 125 126; <label>:38: ; preds = %37 127 br i1 undef, label %39, label %46 128 129; <label>:39: ; preds = %38 130 br label %41 131 132; <label>:40: ; preds = %37 133 br label %41 134 135; <label>:41: ; preds = %40, %39 136 br label %42 137 138; <label>:42: ; preds = %44, %41 139 br i1 undef, label %43, label %44 140 141; <label>:43: ; preds = %42 142 br label %44 143 144; <label>:44: ; preds = %43, %42 145 br i1 undef, label %42, label %45 146 147; <label>:45: ; preds = %44 148 br i1 undef, label %37, label %47 149 150; <label>:46: ; preds = %38 151 br label %48 152 153; <label>:47: ; preds = %45 154 br i1 undef, label %34, label %49 155 156; <label>:48: ; preds = %46, %29, %27, %20, %19 157 br label %65 158 159; <label>:49: ; preds = %47 160 br label %58 161 162; <label>:50: ; preds = %8 163 br i1 undef, label %52, label %51 164 165; <label>:51: ; preds = %50 166 br label %57 167 168; <label>:52: ; preds = %50 169 br label %53 170 171; <label>:53: ; preds = %56, %52 172 br i1 undef, label %54, label %59 173 174; <label>:54: ; preds = %53 175 br i1 undef, label %60, label %59 176 177; <label>:55: ; preds = %64 178 br label %56 179 180; <label>:56: ; preds = %64, %55 181 br i1 undef, label %57, label %53 182 183; <label>:57: ; preds = %56, %51 184 br label %58 185 186; <label>:58: ; preds = %57, %49 187 br label %65 188 189; <label>:59: ; preds = %63, %62, %61, %60, %54, %53 190 br label %65 191 192; <label>:60: ; preds = %54 193 br i1 undef, label %61, label %59 194 195; <label>:61: ; preds = %60 196 br i1 undef, label %62, label %59 197 198; <label>:62: ; preds = %61 199 br i1 undef, label %63, label %59 200 201; <label>:63: ; preds = %62 202 br i1 undef, label %64, label %59 203 204; <label>:64: ; preds = %63 205 br i1 undef, label %55, label %56 206 207; <label>:65: ; preds = %59, %58, %48 208 br i1 undef, label %66, label %67 209 210; <label>:66: ; preds = %65 211 br label %67 212 213; <label>:67: ; preds = %66, %65 214 br i1 undef, label %68, label %92 215 216; <label>:68: ; preds = %67 217 br label %92 218 219; <label>:69: ; preds = %7 220 br label %70 221 222; <label>:70: ; preds = %69, %7 223 br i1 undef, label %72, label %71 224 225; <label>:71: ; preds = %70 226 br label %72 227 228; <label>:72: ; preds = %71, %70 229 br i1 undef, label %73, label %74 230 231; <label>:73: ; preds = %72 232 br label %74 233 234; <label>:74: ; preds = %73, %72 235 br i1 undef, label %85, label %75 236 237; <label>:75: ; preds = %74 238 br i1 undef, label %84, label %76 239 240; <label>:76: ; preds = %75 241 br i1 undef, label %78, label %77 242 243; <label>:77: ; preds = %77, %76 244 br i1 undef, label %84, label %77 245 246; <label>:78: ; preds = %76 247 br label %79 248 249; <label>:79: ; preds = %83, %78 250 br i1 undef, label %83, label %80 251 252; <label>:80: ; preds = %79 253 br i1 undef, label %81, label %82 254 255; <label>:81: ; preds = %80 256 br label %83 257 258; <label>:82: ; preds = %80 259 br label %83 260 261; <label>:83: ; preds = %82, %81, %79 262 br i1 undef, label %90, label %79 263 264; <label>:84: ; preds = %77, %75 265 br label %92 266 267; <label>:85: ; preds = %74 268 br i1 undef, label %86, label %88 269 270; <label>:86: ; preds = %85 271 br i1 undef, label %89, label %87 272 273; <label>:87: ; preds = %86 274 br i1 undef, label %89, label %88 275 276; <label>:88: ; preds = %87, %85 277 br label %89 278 279; <label>:89: ; preds = %88, %87, %86 280 br label %92 281 282; <label>:90: ; preds = %83 283 br i1 undef, label %92, label %91 284 285; <label>:91: ; preds = %90 286 br label %92 287 288; <label>:92: ; preds = %91, %90, %89, %84, %68, %67 289 br label %93 290 291; <label>:93: ; preds = %100, %92 292 br label %94 293 294; <label>:94: ; preds = %98, %93 295 br label %95 296 297; <label>:95: ; preds = %97, %94 298 br i1 undef, label %96, label %97 299 300; <label>:96: ; preds = %95 301 br label %97 302 303; <label>:97: ; preds = %96, %95 304 br i1 undef, label %95, label %98 305 306; <label>:98: ; preds = %97 307 store i32 7, i32* getelementptr inbounds ([9 x i32], [9 x i32]* @g_3708, i64 0, i64 7), align 4 308 %99 = load volatile i32, i32* @g_3456, align 4 309 br i1 undef, label %94, label %100 310 311; <label>:100: ; preds = %98 312 br i1 undef, label %93, label %101 313 314; <label>:101: ; preds = %100 315 br label %102 316 317; <label>:102: ; preds = %117, %101 318 br label %103 319 320; <label>:103: ; preds = %109, %102 321 store i8** @g_1252, i8*** undef, align 8 322 br i1 undef, label %105, label %104 323 324; <label>:104: ; preds = %103 325 br label %105 326 327; <label>:105: ; preds = %104, %103 328 %106 = icmp eq i32 0, 0 329 br i1 %106, label %107, label %116 330 331; <label>:107: ; preds = %105 332 br i1 icmp ne (i32* getelementptr inbounds ([6 x i32], [6 x i32]* @g_756, i64 0, i64 0), i32* getelementptr inbounds ([9 x i32], [9 x i32]* @g_3708, i64 0, i64 4)), label %109, label %108 333 334; <label>:108: ; preds = %107 335 br label %109 336 337; <label>:109: ; preds = %108, %107 338 %110 = phi i32 [ sdiv (i32 32, i32 zext (i1 icmp eq (i32* getelementptr inbounds ([6 x i32], [6 x i32]* @g_756, i64 0, i64 0), i32* getelementptr inbounds ([9 x i32], [9 x i32]* @g_3708, i64 0, i64 4)) to i32)), %108 ], [ 32, %107 ] 339 %111 = trunc i32 %110 to i8 340 %112 = icmp ne i8 %111, 0 341 %113 = and i1 %112, icmp eq (i32* getelementptr inbounds ([6 x i32], [6 x i32]* @g_756, i64 0, i64 0), i32* getelementptr inbounds ([9 x i32], [9 x i32]* @g_3708, i64 0, i64 4)) 342 %114 = zext i1 %113 to i16 343 store i16 %114, i16* @g_225, align 2 344 %115 = load volatile float*, float** @g_3043, align 8 345 br i1 undef, label %103, label %117 346 347; <label>:116: ; preds = %105 348 br label %119 349 350; <label>:117: ; preds = %109 351 br i1 undef, label %102, label %118 352 353; <label>:118: ; preds = %117 354 br label %119 355 356; <label>:119: ; preds = %118, %116 357 br i1 undef, label %120, label %231 358 359; <label>:120: ; preds = %119 360 br label %232 361 362; <label>:121: ; preds = %230 363 br label %122 364 365; <label>:122: ; preds = %230, %121 366 br i1 undef, label %124, label %123 367 368; <label>:123: ; preds = %122 369 br label %124 370 371; <label>:124: ; preds = %123, %122 372 br i1 undef, label %228, label %225 373 374; <label>:125: ; preds = %218 375 br label %127 376 377; <label>:126: ; preds = %218 378 br label %127 379 380; <label>:127: ; preds = %216, %126, %125 381 br i1 undef, label %204, label %128 382 383; <label>:128: ; preds = %127 384 br label %205 385 386; <label>:129: ; preds = %216 387 br i1 undef, label %131, label %130 388 389; <label>:130: ; preds = %129 390 br label %131 391 392; <label>:131: ; preds = %130, %129 393 br i1 undef, label %133, label %132 394 395; <label>:132: ; preds = %131 396 br label %133 397 398; <label>:133: ; preds = %132, %131 399 br label %134 400 401; <label>:134: ; preds = %203, %133 402 br i1 undef, label %193, label %135 403 404; <label>:135: ; preds = %134 405 br label %194 406 407; <label>:136: ; preds = %203 408 br i1 undef, label %138, label %137 409 410; <label>:137: ; preds = %136 411 br label %138 412 413; <label>:138: ; preds = %137, %136 414 br i1 undef, label %192, label %139 415 416; <label>:139: ; preds = %138 417 br label %191 418 419; <label>:140: ; preds = %191, %190 420 br i1 undef, label %180, label %141 421 422; <label>:141: ; preds = %140 423 br label %181 424 425; <label>:142: ; preds = %190 426 br i1 undef, label %143, label %178 427 428; <label>:143: ; preds = %142 429 br label %179 430 431; <label>:144: ; preds = %179 432 br label %176 433 434; <label>:145: ; preds = %179 435 br label %176 436 437; <label>:146: ; preds = %177, %175, %174 438 br i1 undef, label %165, label %147 439 440; <label>:147: ; preds = %146 441 br label %166 442 443; <label>:148: ; preds = %174 444 br label %149 445 446; <label>:149: ; preds = %164, %148 447 br i1 undef, label %154, label %150 448 449; <label>:150: ; preds = %149 450 br label %155 451 452; <label>:151: ; preds = %164 453 br i1 undef, label %153, label %152 454 455; <label>:152: ; preds = %151 456 br label %153 457 458; <label>:153: ; preds = %152, %151 459 ret void 460 461; <label>:154: ; preds = %149 462 br label %155 463 464; <label>:155: ; preds = %154, %150 465 br i1 undef, label %157, label %156 466 467; <label>:156: ; preds = %155 468 br label %158 469 470; <label>:157: ; preds = %155 471 br label %158 472 473; <label>:158: ; preds = %157, %156 474 br i1 undef, label %160, label %159 475 476; <label>:159: ; preds = %158 477 br label %161 478 479; <label>:160: ; preds = %158 480 br label %161 481 482; <label>:161: ; preds = %160, %159 483 br i1 undef, label %163, label %162 484 485; <label>:162: ; preds = %161 486 br label %164 487 488; <label>:163: ; preds = %161 489 br label %164 490 491; <label>:164: ; preds = %163, %162 492 br i1 undef, label %151, label %149 493 494; <label>:165: ; preds = %146 495 br label %166 496 497; <label>:166: ; preds = %165, %147 498 br i1 undef, label %168, label %167 499 500; <label>:167: ; preds = %166 501 br label %169 502 503; <label>:168: ; preds = %166 504 br label %169 505 506; <label>:169: ; preds = %168, %167 507 br i1 undef, label %171, label %170 508 509; <label>:170: ; preds = %169 510 br label %172 511 512; <label>:171: ; preds = %169 513 br label %172 514 515; <label>:172: ; preds = %171, %170 516 br i1 undef, label %174, label %173 517 518; <label>:173: ; preds = %172 519 br label %174 520 521; <label>:174: ; preds = %173, %172 522 br i1 undef, label %148, label %146 523 524; <label>:175: ; preds = %176 525 br label %146 526 527; <label>:176: ; preds = %145, %144 528 br i1 undef, label %177, label %175 529 530; <label>:177: ; preds = %176 531 br label %146 532 533; <label>:178: ; preds = %142 534 br label %179 535 536; <label>:179: ; preds = %178, %143 537 br i1 undef, label %145, label %144 538 539; <label>:180: ; preds = %140 540 br label %181 541 542; <label>:181: ; preds = %180, %141 543 br i1 undef, label %183, label %182 544 545; <label>:182: ; preds = %181 546 br label %184 547 548; <label>:183: ; preds = %181 549 br label %184 550 551; <label>:184: ; preds = %183, %182 552 br i1 undef, label %186, label %185 553 554; <label>:185: ; preds = %184 555 br label %187 556 557; <label>:186: ; preds = %184 558 br label %187 559 560; <label>:187: ; preds = %186, %185 561 br i1 undef, label %189, label %188 562 563; <label>:188: ; preds = %187 564 br label %190 565 566; <label>:189: ; preds = %187 567 br label %190 568 569; <label>:190: ; preds = %189, %188 570 br i1 undef, label %142, label %140 571 572; <label>:191: ; preds = %192, %139 573 br label %140 574 575; <label>:192: ; preds = %138 576 br label %191 577 578; <label>:193: ; preds = %134 579 br label %194 580 581; <label>:194: ; preds = %193, %135 582 br i1 undef, label %196, label %195 583 584; <label>:195: ; preds = %194 585 br label %197 586 587; <label>:196: ; preds = %194 588 br label %197 589 590; <label>:197: ; preds = %196, %195 591 br i1 undef, label %199, label %198 592 593; <label>:198: ; preds = %197 594 br label %200 595 596; <label>:199: ; preds = %197 597 br label %200 598 599; <label>:200: ; preds = %199, %198 600 br i1 undef, label %202, label %201 601 602; <label>:201: ; preds = %200 603 br label %203 604 605; <label>:202: ; preds = %200 606 br label %203 607 608; <label>:203: ; preds = %202, %201 609 br i1 undef, label %136, label %134 610 611; <label>:204: ; preds = %127 612 br label %205 613 614; <label>:205: ; preds = %204, %128 615 br i1 undef, label %207, label %206 616 617; <label>:206: ; preds = %205 618 br label %208 619 620; <label>:207: ; preds = %205 621 br label %208 622 623; <label>:208: ; preds = %207, %206 624 br i1 undef, label %210, label %209 625 626; <label>:209: ; preds = %208 627 br label %211 628 629; <label>:210: ; preds = %208 630 br label %211 631 632; <label>:211: ; preds = %210, %209 633 br i1 undef, label %213, label %212 634 635; <label>:212: ; preds = %211 636 br label %214 637 638; <label>:213: ; preds = %211 639 br label %214 640 641; <label>:214: ; preds = %213, %212 642 br i1 undef, label %216, label %215 643 644; <label>:215: ; preds = %214 645 br label %216 646 647; <label>:216: ; preds = %215, %214 648 br i1 undef, label %129, label %127 649 650; <label>:217: ; preds = %220 651 br label %218 652 653; <label>:218: ; preds = %221, %217 654 br i1 undef, label %126, label %125 655 656; <label>:219: ; preds = %223 657 br label %220 658 659; <label>:220: ; preds = %224, %219 660 br i1 undef, label %221, label %217 661 662; <label>:221: ; preds = %220 663 br label %218 664 665; <label>:222: ; preds = %226 666 br label %223 667 668; <label>:223: ; preds = %227, %222 669 br i1 undef, label %224, label %219 670 671; <label>:224: ; preds = %223 672 br label %220 673 674; <label>:225: ; preds = %124 675 br label %226 676 677; <label>:226: ; preds = %228, %225 678 br i1 undef, label %227, label %222 679 680; <label>:227: ; preds = %226 681 br label %223 682 683; <label>:228: ; preds = %124 684 br label %226 685 686; <label>:229: ; preds = %232 687 br label %230 688 689; <label>:230: ; preds = %233, %229 690 br i1 undef, label %122, label %121 691 692; <label>:231: ; preds = %119 693 br label %232 694 695; <label>:232: ; preds = %231, %120 696 br i1 undef, label %233, label %229 697 698; <label>:233: ; preds = %232 699 br label %230 700 701; CHECK: blr 702} 703