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