1; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-unknown-linux-gnu
2
3	%struct.HDescriptor = type <{ i32, i32 }>
4
5declare void @bcopy(i8*, i8*, i32)
6
7define i32 @main(i32 %argc, i8** %argv) {
8entry:
9	br i1 false, label %bb31, label %bb
10
11bb:		; preds = %entry
12	ret i32 -6
13
14bb31:		; preds = %entry
15	switch i32 0, label %bb189 [
16		 i32 73, label %cond_next209
17		 i32 74, label %bb74
18		 i32 77, label %bb57
19		 i32 78, label %cond_next209
20		 i32 85, label %cond_next209
21		 i32 97, label %cond_next209
22		 i32 100, label %cond_next209
23		 i32 107, label %cond_next209
24		 i32 109, label %bb57
25		 i32 112, label %bb43
26		 i32 115, label %cond_next209
27		 i32 117, label %bb51
28	]
29
30bb43:		; preds = %bb31
31	br i1 false, label %cond_true48, label %cond_true200.critedge2117
32
33cond_true48:		; preds = %bb43
34	br i1 false, label %cond_next372, label %AllDone
35
36bb51:		; preds = %bb31
37	ret i32 0
38
39bb57:		; preds = %bb31, %bb31
40	ret i32 0
41
42bb74:		; preds = %bb31
43	ret i32 0
44
45bb189:		; preds = %bb31
46	ret i32 0
47
48cond_true200.critedge2117:		; preds = %bb43
49	ret i32 0
50
51cond_next209:		; preds = %bb31, %bb31, %bb31, %bb31, %bb31, %bb31, %bb31
52	ret i32 0
53
54cond_next372:		; preds = %cond_true48
55	switch i32 0, label %bb1728 [
56		 i32 73, label %bb1723
57		 i32 74, label %cond_true1700
58		 i32 78, label %bb1718
59		 i32 85, label %bb1713
60		 i32 97, label %bb1620
61		 i32 107, label %AllDone
62		 i32 112, label %cond_next423
63		 i32 117, label %cond_next1453
64	]
65
66cond_next423:		; preds = %cond_next372
67	switch i16 0, label %cond_next691 [
68		 i16 18475, label %cond_next807
69		 i16 18520, label %cond_next807
70	]
71
72cond_next691:		; preds = %cond_next423
73	ret i32 0
74
75cond_next807:		; preds = %cond_next423, %cond_next423
76	switch i16 0, label %cond_true1192 [
77		 i16 18475, label %cond_next21.i
78		 i16 18520, label %cond_next21.i
79	]
80
81cond_next21.i:		; preds = %cond_next807, %cond_next807
82	br i1 false, label %cond_next934, label %free.i
83
84free.i:		; preds = %cond_next21.i
85	ret i32 0
86
87cond_next934:		; preds = %bb1005, %cond_next21.i
88	%listsize.1 = phi i32 [ 0, %bb1005 ], [ 64, %cond_next21.i ]		; <i32> [#uses=1]
89	%catalogExtents.2 = phi %struct.HDescriptor* [ %catalogExtents.1.reg2mem.1, %bb1005 ], [ null, %cond_next21.i ]		; <%struct.HDescriptor*> [#uses=3]
90	br i1 false, label %cond_next942, label %Return1020
91
92cond_next942:		; preds = %cond_next934
93	br i1 false, label %bb1005, label %bb947
94
95bb947:		; preds = %cond_next971, %cond_next942
96	%indvar = phi i32 [ 0, %cond_next942 ], [ %indvar.next2140, %cond_next971 ]		; <i32> [#uses=2]
97	%catalogExtents.1.reg2mem.0 = phi %struct.HDescriptor* [ %catalogExtents.2, %cond_next942 ], [ %tmp977978, %cond_next971 ]		; <%struct.HDescriptor*> [#uses=1]
98	%extents.0.reg2mem.0 = phi %struct.HDescriptor* [ null, %cond_next942 ], [ %tmp977978, %cond_next971 ]		; <%struct.HDescriptor*> [#uses=1]
99	br i1 false, label %cond_next971, label %Return1020
100
101cond_next971:		; preds = %bb947
102	%tmp = shl i32 %indvar, 6		; <i32> [#uses=1]
103	%listsize.0.reg2mem.0 = add i32 %tmp, %listsize.1		; <i32> [#uses=1]
104	%tmp973 = add i32 %listsize.0.reg2mem.0, 64		; <i32> [#uses=1]
105	%tmp974975 = bitcast %struct.HDescriptor* %extents.0.reg2mem.0 to i8*		; <i8*> [#uses=1]
106	%tmp977 = call i8* @realloc( i8* %tmp974975, i32 %tmp973 )		; <i8*> [#uses=1]
107	%tmp977978 = bitcast i8* %tmp977 to %struct.HDescriptor*		; <%struct.HDescriptor*> [#uses=3]
108	call void @bcopy( i8* null, i8* null, i32 64 )
109	%indvar.next2140 = add i32 %indvar, 1		; <i32> [#uses=1]
110	br i1 false, label %bb1005, label %bb947
111
112bb1005:		; preds = %cond_next971, %cond_next942
113	%catalogExtents.1.reg2mem.1 = phi %struct.HDescriptor* [ %catalogExtents.2, %cond_next942 ], [ %tmp977978, %cond_next971 ]		; <%struct.HDescriptor*> [#uses=2]
114	br i1 false, label %Return1020, label %cond_next934
115
116Return1020:		; preds = %bb1005, %bb947, %cond_next934
117	%catalogExtents.3 = phi %struct.HDescriptor* [ %catalogExtents.1.reg2mem.0, %bb947 ], [ %catalogExtents.2, %cond_next934 ], [ %catalogExtents.1.reg2mem.1, %bb1005 ]		; <%struct.HDescriptor*> [#uses=0]
118	ret i32 0
119
120cond_true1192:		; preds = %cond_next807
121	ret i32 0
122
123cond_next1453:		; preds = %cond_next372
124	ret i32 0
125
126bb1620:		; preds = %cond_next372
127	ret i32 0
128
129cond_true1700:		; preds = %cond_next372
130	ret i32 0
131
132bb1713:		; preds = %cond_next372
133	ret i32 0
134
135bb1718:		; preds = %cond_next372
136	ret i32 0
137
138bb1723:		; preds = %cond_next372
139	ret i32 0
140
141bb1728:		; preds = %cond_next372
142	ret i32 -6
143
144AllDone:		; preds = %cond_next372, %cond_true48
145	ret i32 0
146}
147
148declare i8* @realloc(i8*, i32)
149