testcase for pr1110
[oota-llvm.git] / test / Analysis / Dominators / 2007-01-14-BreakCritEdges.ll
1 ; RUN: llvm-as < %s | opt -domset -break-crit-edges -domtree -disable-output
2 ; PR1110
3
4         %struct.OggVorbis_File = type { i8*, i32, i64, i64, %struct.ogg_sync_state, i32, i64*, i64*, i32*, i64*, %struct.vorbis_info*, %struct.vorbis_comment*, 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 { i8*, %struct.alloc_chain* }
6         %struct.ogg_stream_state = type { i8*, i32, i32, i32, i32*, i64*, i32, i32, i32, i32, [282 x i8], i32, i32, i32, i32, i32, i64, i64 }
7         %struct.ogg_sync_state = type { i8*, i32, i32, i32, i32, i32, i32 }
8         %struct.oggpack_buffer = type { i32, i32, i8*, i8*, i32 }
9         %struct.ov_callbacks = type { i32 (i8*, i32, i32, i8*)*, i32 (i8*, i64, i32)*, i32 (i8*)*, i32 (i8*)* }
10         %struct.vorbis_block = type { float**, %struct.oggpack_buffer, i32, i32, i32, i32, i32, i32, i64, i64, %struct.vorbis_dsp_state*, i8*, i32, i32, i32, %struct.alloc_chain*, i32, i32, i32, i32, i8* }
11         %struct.vorbis_comment = type { i8**, i32*, i32, i8* }
12         %struct.vorbis_dsp_state = type { i32, %struct.vorbis_info*, float**, float**, i32, i32, i32, i32, i32, i32, i32, i32, i32, i64, i64, i64, i64, i64, i64, i8* }
13         %struct.vorbis_info = type { i32, i32, i32, i32, i32, i32, i32, i8* }
14
15 implementation   ; Functions:
16
17 define void %ov_read() {
18 entry:
19         br i1 false, label %bb, label %return
20
21 bb:             ; preds = %cond_next22, %entry
22         br i1 false, label %cond_true8, label %cond_next15
23
24 cond_true8:             ; preds = %bb
25         br i1 false, label %cond_next15, label %bb29
26
27 cond_next15:            ; preds = %cond_true8, %bb
28         br i1 false, label %return, label %cond_next22
29
30 cond_next22:            ; preds = %cond_next15
31         br i1 false, label %bb, label %return
32
33 bb29:           ; preds = %cond_true8
34         br i1 false, label %cond_true32, label %return
35
36 cond_true32:            ; preds = %bb29
37         br i1 false, label %cond_false37.i, label %cond_true.i11
38
39 cond_true.i11:          ; preds = %cond_true32
40         br i1 false, label %cond_true8.i, label %ov_info.exit
41
42 cond_true8.i:           ; preds = %cond_true.i11
43         br i1 false, label %cond_true44, label %cond_next48
44
45 cond_false37.i:         ; preds = %cond_true32
46         br label %ov_info.exit
47
48 ov_info.exit:           ; preds = %cond_false37.i, %cond_true.i11
49         br i1 false, label %cond_true44, label %cond_next48
50
51 cond_true44:            ; preds = %ov_info.exit, %cond_true8.i
52         br label %cond_next48
53
54 cond_next48:            ; preds = %cond_true44, %ov_info.exit, %cond_true8.i
55         br i1 false, label %cond_next53, label %return
56
57 cond_next53:            ; preds = %cond_next48
58         br i1 false, label %cond_true56, label %cond_false97
59
60 cond_true56:            ; preds = %cond_next53
61         br i1 false, label %bb85, label %cond_next304
62
63 bb63:           ; preds = %bb85
64         br i1 false, label %cond_next78, label %cond_false73
65
66 cond_false73:           ; preds = %bb63
67         br i1 false, label %cond_true76, label %cond_next78
68
69 cond_true76:            ; preds = %cond_false73
70         br label %cond_next78
71
72 cond_next78:            ; preds = %cond_true76, %cond_false73, %bb63
73         br label %bb85
74
75 bb85:           ; preds = %bb89, %cond_next78, %cond_true56
76         br i1 false, label %bb63, label %bb89
77
78 bb89:           ; preds = %bb85
79         br i1 false, label %bb85, label %cond_next304
80
81 cond_false97:           ; preds = %cond_next53
82         br i1 false, label %cond_true108, label %bb248
83
84 cond_true108:           ; preds = %cond_false97
85         br i1 false, label %bb196, label %bb149
86
87 bb112:          ; preds = %bb149, %bb146
88         br i1 false, label %bb119, label %bb146
89
90 bb119:          ; preds = %cond_next134, %bb112
91         br i1 false, label %cond_next134, label %cond_false129
92
93 cond_false129:          ; preds = %bb119
94         br i1 false, label %cond_true132, label %cond_next134
95
96 cond_true132:           ; preds = %cond_false129
97         br label %cond_next134
98
99 cond_next134:           ; preds = %cond_true132, %cond_false129, %bb119
100         br i1 false, label %bb119, label %bb146
101
102 bb146:          ; preds = %cond_next134, %bb112
103         br i1 false, label %bb112, label %cond_next304
104
105 bb149:          ; preds = %cond_true108
106         br i1 false, label %bb112, label %cond_next304
107
108 bb155:          ; preds = %bb196, %bb193
109         br i1 false, label %bb165, label %bb193
110
111 bb165:          ; preds = %cond_next180, %bb155
112         br i1 false, label %cond_next180, label %cond_false175
113
114 cond_false175:          ; preds = %bb165
115         br i1 false, label %cond_true178, label %cond_next180
116
117 cond_true178:           ; preds = %cond_false175
118         br label %cond_next180
119
120 cond_next180:           ; preds = %cond_true178, %cond_false175, %bb165
121         br i1 false, label %bb165, label %bb193
122
123 bb193:          ; preds = %cond_next180, %bb155
124         br i1 false, label %bb155, label %cond_next304
125
126 bb196:          ; preds = %cond_true108
127         br i1 false, label %bb155, label %cond_next304
128
129 bb207:          ; preds = %bb241
130         br i1 false, label %cond_next225, label %cond_false220
131
132 cond_false220:          ; preds = %bb207
133         br i1 false, label %cond_true223, label %cond_next225
134
135 cond_true223:           ; preds = %cond_false220
136         br label %cond_next225
137
138 cond_next225:           ; preds = %cond_true223, %cond_false220, %bb207
139         br label %bb241
140
141 bb241:          ; preds = %bb248, %bb245, %cond_next225
142         br i1 false, label %bb207, label %bb245
143
144 bb245:          ; preds = %bb241
145         br i1 false, label %bb241, label %cond_next304
146
147 bb248:          ; preds = %cond_false97
148         br i1 false, label %bb241, label %cond_next304
149
150 bb256:          ; preds = %bb290
151         br i1 false, label %cond_next274, label %cond_false269
152
153 cond_false269:          ; preds = %bb256
154         br i1 false, label %cond_true272, label %cond_next274
155
156 cond_true272:           ; preds = %cond_false269
157         br label %cond_next274
158
159 cond_next274:           ; preds = %cond_true272, %cond_false269, %bb256
160         br label %bb290
161
162 bb290:          ; preds = %bb294, %cond_next274
163         br i1 false, label %bb256, label %bb294
164
165 bb294:          ; preds = %bb290
166         br i1 false, label %bb290, label %cond_next304
167
168 cond_next304:           ; preds = %bb294, %bb248, %bb245, %bb196, %bb193, %bb149, %bb146, %bb89, %cond_true56
169         br i1 false, label %cond_next11.i, label %cond_true.i
170
171 cond_true.i:            ; preds = %cond_next304
172         br i1 false, label %vorbis_synthesis_read.exit, label %cond_next11.i
173
174 cond_next11.i:          ; preds = %cond_true.i, %cond_next304
175         br label %vorbis_synthesis_read.exit
176
177 vorbis_synthesis_read.exit:             ; preds = %cond_next11.i, %cond_true.i
178         br i1 false, label %cond_next321, label %cond_true316
179
180 cond_true316:           ; preds = %vorbis_synthesis_read.exit
181         ret void
182
183 cond_next321:           ; preds = %vorbis_synthesis_read.exit
184         ret void
185
186 return:         ; preds = %cond_next48, %bb29, %cond_next22, %cond_next15, %entry
187         ret void
188 }