xref: /aosp_15_r20/external/llvm/test/CodeGen/PowerPC/2007-11-04-CoalescerCrash.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=powerpc-apple-darwin
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker	%struct.HDescriptor = type <{ i32, i32 }>
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Workerdeclare void @bcopy(i8*, i8*, i32)
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Workerdefine i32 @main(i32 %argc, i8** %argv) {
8*9880d681SAndroid Build Coastguard Workerentry:
9*9880d681SAndroid Build Coastguard Worker	br i1 false, label %bb31, label %bb
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Workerbb:		; preds = %entry
12*9880d681SAndroid Build Coastguard Worker	ret i32 -6
13*9880d681SAndroid Build Coastguard Worker
14*9880d681SAndroid Build Coastguard Workerbb31:		; preds = %entry
15*9880d681SAndroid Build Coastguard Worker	switch i32 0, label %bb189 [
16*9880d681SAndroid Build Coastguard Worker		 i32 73, label %cond_next209
17*9880d681SAndroid Build Coastguard Worker		 i32 74, label %bb74
18*9880d681SAndroid Build Coastguard Worker		 i32 77, label %bb57
19*9880d681SAndroid Build Coastguard Worker		 i32 78, label %cond_next209
20*9880d681SAndroid Build Coastguard Worker		 i32 85, label %cond_next209
21*9880d681SAndroid Build Coastguard Worker		 i32 97, label %cond_next209
22*9880d681SAndroid Build Coastguard Worker		 i32 100, label %cond_next209
23*9880d681SAndroid Build Coastguard Worker		 i32 107, label %cond_next209
24*9880d681SAndroid Build Coastguard Worker		 i32 109, label %bb57
25*9880d681SAndroid Build Coastguard Worker		 i32 112, label %bb43
26*9880d681SAndroid Build Coastguard Worker		 i32 115, label %cond_next209
27*9880d681SAndroid Build Coastguard Worker		 i32 117, label %bb51
28*9880d681SAndroid Build Coastguard Worker	]
29*9880d681SAndroid Build Coastguard Worker
30*9880d681SAndroid Build Coastguard Workerbb43:		; preds = %bb31
31*9880d681SAndroid Build Coastguard Worker	br i1 false, label %cond_true48, label %cond_true200.critedge2117
32*9880d681SAndroid Build Coastguard Worker
33*9880d681SAndroid Build Coastguard Workercond_true48:		; preds = %bb43
34*9880d681SAndroid Build Coastguard Worker	br i1 false, label %cond_next372, label %AllDone
35*9880d681SAndroid Build Coastguard Worker
36*9880d681SAndroid Build Coastguard Workerbb51:		; preds = %bb31
37*9880d681SAndroid Build Coastguard Worker	ret i32 0
38*9880d681SAndroid Build Coastguard Worker
39*9880d681SAndroid Build Coastguard Workerbb57:		; preds = %bb31, %bb31
40*9880d681SAndroid Build Coastguard Worker	ret i32 0
41*9880d681SAndroid Build Coastguard Worker
42*9880d681SAndroid Build Coastguard Workerbb74:		; preds = %bb31
43*9880d681SAndroid Build Coastguard Worker	ret i32 0
44*9880d681SAndroid Build Coastguard Worker
45*9880d681SAndroid Build Coastguard Workerbb189:		; preds = %bb31
46*9880d681SAndroid Build Coastguard Worker	ret i32 0
47*9880d681SAndroid Build Coastguard Worker
48*9880d681SAndroid Build Coastguard Workercond_true200.critedge2117:		; preds = %bb43
49*9880d681SAndroid Build Coastguard Worker	ret i32 0
50*9880d681SAndroid Build Coastguard Worker
51*9880d681SAndroid Build Coastguard Workercond_next209:		; preds = %bb31, %bb31, %bb31, %bb31, %bb31, %bb31, %bb31
52*9880d681SAndroid Build Coastguard Worker	ret i32 0
53*9880d681SAndroid Build Coastguard Worker
54*9880d681SAndroid Build Coastguard Workercond_next372:		; preds = %cond_true48
55*9880d681SAndroid Build Coastguard Worker	switch i32 0, label %bb1728 [
56*9880d681SAndroid Build Coastguard Worker		 i32 73, label %bb1723
57*9880d681SAndroid Build Coastguard Worker		 i32 74, label %cond_true1700
58*9880d681SAndroid Build Coastguard Worker		 i32 78, label %bb1718
59*9880d681SAndroid Build Coastguard Worker		 i32 85, label %bb1713
60*9880d681SAndroid Build Coastguard Worker		 i32 97, label %bb1620
61*9880d681SAndroid Build Coastguard Worker		 i32 107, label %AllDone
62*9880d681SAndroid Build Coastguard Worker		 i32 112, label %cond_next423
63*9880d681SAndroid Build Coastguard Worker		 i32 117, label %cond_next1453
64*9880d681SAndroid Build Coastguard Worker	]
65*9880d681SAndroid Build Coastguard Worker
66*9880d681SAndroid Build Coastguard Workercond_next423:		; preds = %cond_next372
67*9880d681SAndroid Build Coastguard Worker	switch i16 0, label %cond_next691 [
68*9880d681SAndroid Build Coastguard Worker		 i16 18475, label %cond_next807
69*9880d681SAndroid Build Coastguard Worker		 i16 18520, label %cond_next807
70*9880d681SAndroid Build Coastguard Worker	]
71*9880d681SAndroid Build Coastguard Worker
72*9880d681SAndroid Build Coastguard Workercond_next691:		; preds = %cond_next423
73*9880d681SAndroid Build Coastguard Worker	ret i32 0
74*9880d681SAndroid Build Coastguard Worker
75*9880d681SAndroid Build Coastguard Workercond_next807:		; preds = %cond_next423, %cond_next423
76*9880d681SAndroid Build Coastguard Worker	switch i16 0, label %cond_true1192 [
77*9880d681SAndroid Build Coastguard Worker		 i16 18475, label %cond_next21.i
78*9880d681SAndroid Build Coastguard Worker		 i16 18520, label %cond_next21.i
79*9880d681SAndroid Build Coastguard Worker	]
80*9880d681SAndroid Build Coastguard Worker
81*9880d681SAndroid Build Coastguard Workercond_next21.i:		; preds = %cond_next807, %cond_next807
82*9880d681SAndroid Build Coastguard Worker	br i1 false, label %cond_next934, label %free.i
83*9880d681SAndroid Build Coastguard Worker
84*9880d681SAndroid Build Coastguard Workerfree.i:		; preds = %cond_next21.i
85*9880d681SAndroid Build Coastguard Worker	ret i32 0
86*9880d681SAndroid Build Coastguard Worker
87*9880d681SAndroid Build Coastguard Workercond_next934:		; preds = %bb1005, %cond_next21.i
88*9880d681SAndroid Build Coastguard Worker	%listsize.1 = phi i32 [ 0, %bb1005 ], [ 64, %cond_next21.i ]		; <i32> [#uses=1]
89*9880d681SAndroid Build Coastguard Worker	%catalogExtents.2 = phi %struct.HDescriptor* [ %catalogExtents.1.reg2mem.1, %bb1005 ], [ null, %cond_next21.i ]		; <%struct.HDescriptor*> [#uses=3]
90*9880d681SAndroid Build Coastguard Worker	br i1 false, label %cond_next942, label %Return1020
91*9880d681SAndroid Build Coastguard Worker
92*9880d681SAndroid Build Coastguard Workercond_next942:		; preds = %cond_next934
93*9880d681SAndroid Build Coastguard Worker	br i1 false, label %bb1005, label %bb947
94*9880d681SAndroid Build Coastguard Worker
95*9880d681SAndroid Build Coastguard Workerbb947:		; preds = %cond_next971, %cond_next942
96*9880d681SAndroid Build Coastguard Worker	%indvar = phi i32 [ 0, %cond_next942 ], [ %indvar.next2140, %cond_next971 ]		; <i32> [#uses=2]
97*9880d681SAndroid Build Coastguard Worker	%catalogExtents.1.reg2mem.0 = phi %struct.HDescriptor* [ %catalogExtents.2, %cond_next942 ], [ %tmp977978, %cond_next971 ]		; <%struct.HDescriptor*> [#uses=1]
98*9880d681SAndroid Build Coastguard Worker	%extents.0.reg2mem.0 = phi %struct.HDescriptor* [ null, %cond_next942 ], [ %tmp977978, %cond_next971 ]		; <%struct.HDescriptor*> [#uses=1]
99*9880d681SAndroid Build Coastguard Worker	br i1 false, label %cond_next971, label %Return1020
100*9880d681SAndroid Build Coastguard Worker
101*9880d681SAndroid Build Coastguard Workercond_next971:		; preds = %bb947
102*9880d681SAndroid Build Coastguard Worker	%tmp = shl i32 %indvar, 6		; <i32> [#uses=1]
103*9880d681SAndroid Build Coastguard Worker	%listsize.0.reg2mem.0 = add i32 %tmp, %listsize.1		; <i32> [#uses=1]
104*9880d681SAndroid Build Coastguard Worker	%tmp973 = add i32 %listsize.0.reg2mem.0, 64		; <i32> [#uses=1]
105*9880d681SAndroid Build Coastguard Worker	%tmp974975 = bitcast %struct.HDescriptor* %extents.0.reg2mem.0 to i8*		; <i8*> [#uses=1]
106*9880d681SAndroid Build Coastguard Worker	%tmp977 = call i8* @realloc( i8* %tmp974975, i32 %tmp973 )		; <i8*> [#uses=1]
107*9880d681SAndroid Build Coastguard Worker	%tmp977978 = bitcast i8* %tmp977 to %struct.HDescriptor*		; <%struct.HDescriptor*> [#uses=3]
108*9880d681SAndroid Build Coastguard Worker	call void @bcopy( i8* null, i8* null, i32 64 )
109*9880d681SAndroid Build Coastguard Worker	%indvar.next2140 = add i32 %indvar, 1		; <i32> [#uses=1]
110*9880d681SAndroid Build Coastguard Worker	br i1 false, label %bb1005, label %bb947
111*9880d681SAndroid Build Coastguard Worker
112*9880d681SAndroid Build Coastguard Workerbb1005:		; preds = %cond_next971, %cond_next942
113*9880d681SAndroid Build Coastguard Worker	%catalogExtents.1.reg2mem.1 = phi %struct.HDescriptor* [ %catalogExtents.2, %cond_next942 ], [ %tmp977978, %cond_next971 ]		; <%struct.HDescriptor*> [#uses=2]
114*9880d681SAndroid Build Coastguard Worker	br i1 false, label %Return1020, label %cond_next934
115*9880d681SAndroid Build Coastguard Worker
116*9880d681SAndroid Build Coastguard WorkerReturn1020:		; preds = %bb1005, %bb947, %cond_next934
117*9880d681SAndroid Build Coastguard Worker	%catalogExtents.3 = phi %struct.HDescriptor* [ %catalogExtents.1.reg2mem.0, %bb947 ], [ %catalogExtents.2, %cond_next934 ], [ %catalogExtents.1.reg2mem.1, %bb1005 ]		; <%struct.HDescriptor*> [#uses=0]
118*9880d681SAndroid Build Coastguard Worker	ret i32 0
119*9880d681SAndroid Build Coastguard Worker
120*9880d681SAndroid Build Coastguard Workercond_true1192:		; preds = %cond_next807
121*9880d681SAndroid Build Coastguard Worker	ret i32 0
122*9880d681SAndroid Build Coastguard Worker
123*9880d681SAndroid Build Coastguard Workercond_next1453:		; preds = %cond_next372
124*9880d681SAndroid Build Coastguard Worker	ret i32 0
125*9880d681SAndroid Build Coastguard Worker
126*9880d681SAndroid Build Coastguard Workerbb1620:		; preds = %cond_next372
127*9880d681SAndroid Build Coastguard Worker	ret i32 0
128*9880d681SAndroid Build Coastguard Worker
129*9880d681SAndroid Build Coastguard Workercond_true1700:		; preds = %cond_next372
130*9880d681SAndroid Build Coastguard Worker	ret i32 0
131*9880d681SAndroid Build Coastguard Worker
132*9880d681SAndroid Build Coastguard Workerbb1713:		; preds = %cond_next372
133*9880d681SAndroid Build Coastguard Worker	ret i32 0
134*9880d681SAndroid Build Coastguard Worker
135*9880d681SAndroid Build Coastguard Workerbb1718:		; preds = %cond_next372
136*9880d681SAndroid Build Coastguard Worker	ret i32 0
137*9880d681SAndroid Build Coastguard Worker
138*9880d681SAndroid Build Coastguard Workerbb1723:		; preds = %cond_next372
139*9880d681SAndroid Build Coastguard Worker	ret i32 0
140*9880d681SAndroid Build Coastguard Worker
141*9880d681SAndroid Build Coastguard Workerbb1728:		; preds = %cond_next372
142*9880d681SAndroid Build Coastguard Worker	ret i32 -6
143*9880d681SAndroid Build Coastguard Worker
144*9880d681SAndroid Build Coastguard WorkerAllDone:		; preds = %cond_next372, %cond_true48
145*9880d681SAndroid Build Coastguard Worker	ret i32 0
146*9880d681SAndroid Build Coastguard Worker}
147*9880d681SAndroid Build Coastguard Worker
148*9880d681SAndroid Build Coastguard Workerdeclare i8* @realloc(i8*, i32)
149