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