1 ; RUN: opt < %s -passes='require<domtree>,break-crit-edges' -disable-output
4 %struct.OggVorbis_File = type { ptr, i32, i64, i64, %struct.ogg_sync_state, i32, ptr, ptr, ptr, ptr, ptr, ptr, i64, i32, i32, i32, double, double, %struct.ogg_stream_state, %struct.vorbis_dsp_state, %struct.vorbis_block, %struct.ov_callbacks }
5 %struct.alloc_chain = type { ptr, ptr }
6 %struct.ogg_stream_state = type { ptr, i32, i32, i32, ptr, ptr, i32, i32, i32, i32, [282 x i8], i32, i32, i32, i32, i32, i64, i64 }
7 %struct.ogg_sync_state = type { ptr, i32, i32, i32, i32, i32, i32 }
8 %struct.oggpack_buffer = type { i32, i32, ptr, ptr, i32 }
9 %struct.ov_callbacks = type { ptr, ptr, ptr, ptr }
10 %struct.vorbis_block = type { ptr, %struct.oggpack_buffer, i32, i32, i32, i32, i32, i32, i64, i64, ptr, ptr, i32, i32, i32, ptr, i32, i32, i32, i32, ptr }
11 %struct.vorbis_comment = type { ptr, ptr, i32, ptr }
12 %struct.vorbis_dsp_state = type { i32, ptr, ptr, ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, ptr }
13 %struct.vorbis_info = type { i32, i32, i32, i32, i32, i32, i32, ptr }
16 define void @ov_read() {
18 br i1 false, label %bb, label %return
20 bb: ; preds = %cond_next22, %entry
21 br i1 false, label %cond_true8, label %cond_next15
23 cond_true8: ; preds = %bb
24 br i1 false, label %cond_next15, label %bb29
26 cond_next15: ; preds = %cond_true8, %bb
27 br i1 false, label %return, label %cond_next22
29 cond_next22: ; preds = %cond_next15
30 br i1 false, label %bb, label %return
32 bb29: ; preds = %cond_true8
33 br i1 false, label %cond_true32, label %return
35 cond_true32: ; preds = %bb29
36 br i1 false, label %cond_false37.i, label %cond_true.i11
38 cond_true.i11: ; preds = %cond_true32
39 br i1 false, label %cond_true8.i, label %ov_info.exit
41 cond_true8.i: ; preds = %cond_true.i11
42 br i1 false, label %cond_true44, label %cond_next48
44 cond_false37.i: ; preds = %cond_true32
45 br label %ov_info.exit
47 ov_info.exit: ; preds = %cond_false37.i, %cond_true.i11
48 br i1 false, label %cond_true44, label %cond_next48
50 cond_true44: ; preds = %ov_info.exit, %cond_true8.i
53 cond_next48: ; preds = %cond_true44, %ov_info.exit, %cond_true8.i
54 br i1 false, label %cond_next53, label %return
56 cond_next53: ; preds = %cond_next48
57 br i1 false, label %cond_true56, label %cond_false97
59 cond_true56: ; preds = %cond_next53
60 br i1 false, label %bb85, label %cond_next304
63 br i1 false, label %cond_next78, label %cond_false73
65 cond_false73: ; preds = %bb63
66 br i1 false, label %cond_true76, label %cond_next78
68 cond_true76: ; preds = %cond_false73
71 cond_next78: ; preds = %cond_true76, %cond_false73, %bb63
74 bb85: ; preds = %bb89, %cond_next78, %cond_true56
75 br i1 false, label %bb63, label %bb89
78 br i1 false, label %bb85, label %cond_next304
80 cond_false97: ; preds = %cond_next53
81 br i1 false, label %cond_true108, label %bb248
83 cond_true108: ; preds = %cond_false97
84 br i1 false, label %bb196, label %bb149
86 bb112: ; preds = %bb149, %bb146
87 br i1 false, label %bb119, label %bb146
89 bb119: ; preds = %cond_next134, %bb112
90 br i1 false, label %cond_next134, label %cond_false129
92 cond_false129: ; preds = %bb119
93 br i1 false, label %cond_true132, label %cond_next134
95 cond_true132: ; preds = %cond_false129
96 br label %cond_next134
98 cond_next134: ; preds = %cond_true132, %cond_false129, %bb119
99 br i1 false, label %bb119, label %bb146
101 bb146: ; preds = %cond_next134, %bb112
102 br i1 false, label %bb112, label %cond_next304
104 bb149: ; preds = %cond_true108
105 br i1 false, label %bb112, label %cond_next304
107 bb155: ; preds = %bb196, %bb193
108 br i1 false, label %bb165, label %bb193
110 bb165: ; preds = %cond_next180, %bb155
111 br i1 false, label %cond_next180, label %cond_false175
113 cond_false175: ; preds = %bb165
114 br i1 false, label %cond_true178, label %cond_next180
116 cond_true178: ; preds = %cond_false175
117 br label %cond_next180
119 cond_next180: ; preds = %cond_true178, %cond_false175, %bb165
120 br i1 false, label %bb165, label %bb193
122 bb193: ; preds = %cond_next180, %bb155
123 br i1 false, label %bb155, label %cond_next304
125 bb196: ; preds = %cond_true108
126 br i1 false, label %bb155, label %cond_next304
128 bb207: ; preds = %bb241
129 br i1 false, label %cond_next225, label %cond_false220
131 cond_false220: ; preds = %bb207
132 br i1 false, label %cond_true223, label %cond_next225
134 cond_true223: ; preds = %cond_false220
135 br label %cond_next225
137 cond_next225: ; preds = %cond_true223, %cond_false220, %bb207
140 bb241: ; preds = %bb248, %bb245, %cond_next225
141 br i1 false, label %bb207, label %bb245
143 bb245: ; preds = %bb241
144 br i1 false, label %bb241, label %cond_next304
146 bb248: ; preds = %cond_false97
147 br i1 false, label %bb241, label %cond_next304
149 bb256: ; preds = %bb290
150 br i1 false, label %cond_next274, label %cond_false269
152 cond_false269: ; preds = %bb256
153 br i1 false, label %cond_true272, label %cond_next274
155 cond_true272: ; preds = %cond_false269
156 br label %cond_next274
158 cond_next274: ; preds = %cond_true272, %cond_false269, %bb256
161 bb290: ; preds = %bb294, %cond_next274
162 br i1 false, label %bb256, label %bb294
164 bb294: ; preds = %bb290
165 br i1 false, label %bb290, label %cond_next304
167 cond_next304: ; preds = %bb294, %bb248, %bb245, %bb196, %bb193, %bb149, %bb146, %bb89, %cond_true56
168 br i1 false, label %cond_next11.i, label %cond_true.i
170 cond_true.i: ; preds = %cond_next304
171 br i1 false, label %vorbis_synthesis_read.exit, label %cond_next11.i
173 cond_next11.i: ; preds = %cond_true.i, %cond_next304
174 br label %vorbis_synthesis_read.exit
176 vorbis_synthesis_read.exit: ; preds = %cond_next11.i, %cond_true.i
177 br i1 false, label %cond_next321, label %cond_true316
179 cond_true316: ; preds = %vorbis_synthesis_read.exit
182 cond_next321: ; preds = %vorbis_synthesis_read.exit
185 return: ; preds = %cond_next48, %bb29, %cond_next22, %cond_next15, %entry