1 ; RUN: llvm-upgrade < %s | llvm-as | opt -licm -disable-output
4 %struct.alloc_chain = type { sbyte*, %struct.alloc_chain* }
5 %struct.oggpack_buffer = type { int, int, ubyte*, ubyte*, int }
6 %struct.vorbis_block = type { float**, %struct.oggpack_buffer, int, int, int, int, int, int, long, long, %struct.vorbis_dsp_state*, sbyte*, int, int, int, %struct.alloc_chain*, int, int, int, int, sbyte* }
7 %struct.vorbis_dsp_state = type { int, %struct.vorbis_info*, float**, float**, int, int, int, int, int, int, int, int, int, long, long, long, long, long, long, sbyte* }
8 %struct.vorbis_info = type { int, int, int, int, int, int, int, sbyte* }
10 implementation ; Functions:
12 fastcc void %_01forward() {
14 br bool false, label %bb222.preheader, label %bb241
16 cond_true67: ; preds = %cond_true87
19 cond_next80: ; preds = %cond_true87, %cond_true67
22 bb83.preheader: ; preds = %cond_true226
23 br bool false, label %bb83.us.preheader, label %bb83.preheader1
25 bb83.us.preheader: ; preds = %bb83.preheader
28 bb83.us: ; preds = %cond_next80.us, %bb83.us.preheader
29 br bool false, label %cond_true87.us, label %cond_next92.loopexit2
31 cond_next80.us: ; preds = %bb59.loopexit.us, %cond_true67.us
34 cond_true67.us: ; preds = %bb59.loopexit.us
35 br label %cond_next80.us
37 cond_next.us: ; preds = %cond_true56.us, %cond_true38.us
38 br bool false, label %cond_true56.us, label %bb59.loopexit.us
40 cond_true38.us: ; preds = %cond_true56.us
41 br label %cond_next.us
43 cond_true56.us: ; preds = %cond_true87.us, %cond_next.us
44 br bool false, label %cond_true38.us, label %cond_next.us
46 cond_true87.us: ; preds = %bb83.us
47 br label %cond_true56.us
49 bb59.loopexit.us: ; preds = %cond_next.us
50 br bool false, label %cond_true67.us, label %cond_next80.us
52 bb83.preheader1: ; preds = %bb83.preheader
55 bb83: ; preds = %bb83.preheader1, %cond_next80
56 br bool false, label %cond_next92.loopexit, label %cond_true87
58 cond_true87: ; preds = %bb83
59 br bool false, label %cond_true67, label %cond_next80
61 cond_next92.loopexit: ; preds = %bb83
64 cond_next92.loopexit2: ; preds = %bb83.us
67 cond_next92: ; preds = %cond_true226, %cond_next92.loopexit2, %cond_next92.loopexit
68 br bool false, label %cond_true218.loopexit, label %bb222
70 cond_true139: ; preds = %cond_true202
71 br bool false, label %cond_next195, label %cond_true155
73 cond_true155: ; preds = %cond_true139
74 br bool false, label %cond_true249.i.preheader, label %_encodepart.exit
76 cond_true.i: ; preds = %cond_true115.i
77 br bool false, label %bb60.i.preheader, label %cond_next97.i
79 bb60.i.preheader: ; preds = %cond_true.i
82 bb60.i: ; preds = %cond_true63.i, %bb60.i.preheader
83 br bool false, label %cond_true63.i, label %cond_next97.i.loopexit
85 cond_true63.i: ; preds = %bb60.i
86 br bool false, label %bb60.i, label %cond_next97.i.loopexit
88 bb86.i.preheader: ; preds = %cond_true115.i
91 bb86.i: ; preds = %cond_true93.i, %bb86.i.preheader
92 br bool false, label %cond_true93.i, label %cond_next97.i.loopexit3
94 cond_true93.i: ; preds = %bb86.i
95 br bool false, label %cond_next97.i.loopexit3, label %bb86.i
97 cond_next97.i.loopexit: ; preds = %cond_true63.i, %bb60.i
98 br label %cond_next97.i
100 cond_next97.i.loopexit3: ; preds = %cond_true93.i, %bb86.i
101 br label %cond_next97.i
103 cond_next97.i: ; preds = %cond_next97.i.loopexit3, %cond_next97.i.loopexit, %cond_true.i
104 br bool false, label %bb118.i.loopexit, label %cond_true115.i
106 cond_true115.i.preheader: ; preds = %cond_true249.i
107 br label %cond_true115.i
109 cond_true115.i: ; preds = %cond_true115.i.preheader, %cond_next97.i
110 br bool false, label %cond_true.i, label %bb86.i.preheader
112 bb118.i.loopexit: ; preds = %cond_next97.i
115 bb118.i: ; preds = %cond_true249.i, %bb118.i.loopexit
116 br bool false, label %cond_next204.i, label %cond_true128.i
118 cond_true128.i: ; preds = %bb118.i
119 br bool false, label %cond_true199.i.preheader, label %cond_next204.i
121 cond_true199.i.preheader: ; preds = %cond_true128.i
122 br label %cond_true199.i
124 cond_true199.i.us: ; No predecessors!
125 br bool false, label %cond_true167.i.us, label %cond_next187.i.us
127 cond_next187.i.us: ; preds = %bb170.i.loopexit.us, %bb170.i.us.cond_next187.i.us_crit_edge, %cond_true199.i.us
130 bb170.i.us.cond_next187.i.us_crit_edge: ; preds = %bb170.i.loopexit.us
131 br label %cond_next187.i.us
133 cond_true167.i.us: ; preds = %cond_true167.i.us, %cond_true199.i.us
134 br bool false, label %cond_true167.i.us, label %bb170.i.loopexit.us
136 bb170.i.loopexit.us: ; preds = %cond_true167.i.us
137 br bool false, label %cond_next187.i.us, label %bb170.i.us.cond_next187.i.us_crit_edge
139 cond_true199.i: ; preds = %cond_true199.i, %cond_true199.i.preheader
140 br bool false, label %cond_next204.i.loopexit, label %cond_true199.i
142 cond_next204.i.loopexit: ; preds = %cond_true199.i
143 br label %cond_next204.i
145 cond_next204.i: ; preds = %cond_next204.i.loopexit, %cond_true128.i, %bb118.i
148 cond_true230.i: ; No predecessors!
149 %exitcond155 = seteq uint 0, %tmp16.i ; <bool> [#uses=0]
152 bb233.i: ; preds = %cond_next204.i
153 br bool false, label %_encodepart.exit.loopexit, label %cond_true249.i
155 cond_true249.i.preheader: ; preds = %cond_true155
156 br label %cond_true249.i
158 cond_true249.i: ; preds = %cond_true249.i.preheader, %bb233.i
159 %tmp16.i = cast int 0 to uint ; <uint> [#uses=1]
160 br bool false, label %cond_true115.i.preheader, label %bb118.i
162 _encodepart.exit.loopexit: ; preds = %bb233.i
163 br label %_encodepart.exit
165 _encodepart.exit: ; preds = %_encodepart.exit.loopexit, %cond_true155
166 br label %cond_next195
168 cond_next195: ; preds = %cond_true202, %_encodepart.exit, %cond_true139
169 br bool false, label %bb205.loopexit, label %cond_true202
171 cond_true202.preheader: ; preds = %cond_true218
172 br label %cond_true202
174 cond_true202: ; preds = %cond_true202.preheader, %cond_next195
175 br bool false, label %cond_next195, label %cond_true139
177 bb205.loopexit: ; preds = %cond_next195
180 bb205: ; preds = %cond_true218, %bb205.loopexit
181 br bool false, label %cond_true218, label %bb222.outer105.loopexit
183 cond_true218.loopexit: ; preds = %cond_next92
184 br label %cond_true218
186 cond_true218: ; preds = %cond_true218.loopexit, %bb205
187 br bool false, label %cond_true202.preheader, label %bb205
189 bb222.preheader: ; preds = %entry
190 br label %bb222.outer
192 bb222.outer: ; preds = %bb229, %bb222.preheader
193 br label %bb222.outer105
195 bb222.outer105.loopexit: ; preds = %bb205
196 br label %bb222.outer105
198 bb222.outer105: ; preds = %bb222.outer105.loopexit, %bb222.outer
201 bb222: ; preds = %bb222.outer105, %cond_next92
202 br bool false, label %cond_true226, label %bb229
204 cond_true226: ; preds = %bb222
205 br bool false, label %bb83.preheader, label %cond_next92
207 bb229: ; preds = %bb222
208 br bool false, label %bb222.outer, label %bb241.loopexit
210 bb241.loopexit: ; preds = %bb229
213 bb241: ; preds = %bb241.loopexit, %entry