1;RUN: opt < %s -codegenprepare -S -mtriple=x86_64 | FileCheck %s 2 3;CHECK: define void @foo() 4;CHECK-NEXT: entry: 5;CHECK-NEXT: ret void 6 7;CHECK: cond_next475: 8;CHECK-NEXT: br label %cond_next475 9 10 11define void @foo() { 12entry: 13 br i1 false, label %cond_next31, label %cond_true 14 15cond_true: ; preds = %entry 16 br i1 false, label %cond_true19, label %cond_next31 17 18cond_true19: ; preds = %cond_true 19 br i1 false, label %bb510, label %cond_next31 20 21cond_next31: ; preds = %cond_true19, %cond_true, %entry 22 br i1 false, label %cond_true61, label %cond_next78 23 24cond_true61: ; preds = %cond_next31 25 br label %cond_next78 26 27cond_next78: ; preds = %cond_true61, %cond_next31 28 br i1 false, label %cond_true93, label %bb.preheader 29 30cond_true93: ; preds = %cond_next78 31 br label %bb.preheader 32 33bb.preheader: ; preds = %cond_true93, %cond_next78 34 %iftmp.11.0.ph.ph = phi i16 [ 0, %cond_true93 ], [ 0, %cond_next78 ] ; <i16> [#uses=1] 35 br label %bb 36 37bb: ; preds = %cond_next499, %bb.preheader 38 %n.1 = phi i16 [ %iftmp.11.0.ph.ph, %cond_next499 ], [ 0, %bb.preheader ] ; <i16> [#uses=0] 39 br i1 false, label %bb148.preheader, label %bb493 40 41bb148.preheader: ; preds = %bb 42 br label %bb148 43 44bb148: ; preds = %cond_next475, %bb148.preheader 45 br i1 false, label %cond_next175, label %bb184 46 47cond_next175: ; preds = %bb148 48 br i1 false, label %bb184, label %bb185 49 50bb184: ; preds = %cond_next175, %bb148 51 br label %bb185 52 53bb185: ; preds = %bb184, %cond_next175 54 br i1 false, label %bb420.preheader, label %cond_true198 55 56bb420.preheader: ; preds = %bb185 57 br label %bb420 58 59cond_true198: ; preds = %bb185 60 br i1 false, label %bb294, label %cond_next208 61 62cond_next208: ; preds = %cond_true198 63 br i1 false, label %cond_next249, label %cond_true214 64 65cond_true214: ; preds = %cond_next208 66 br i1 false, label %bb294, label %cond_next262 67 68cond_next249: ; preds = %cond_next208 69 br i1 false, label %bb294, label %cond_next262 70 71cond_next262: ; preds = %cond_next249, %cond_true214 72 br label %bb269 73 74bb269: ; preds = %cond_next285, %cond_next262 75 br i1 false, label %cond_next285, label %cond_true279 76 77cond_true279: ; preds = %bb269 78 br label %cond_next285 79 80cond_next285: ; preds = %cond_true279, %bb269 81 br i1 false, label %bb269, label %cond_next446.loopexit 82 83bb294: ; preds = %cond_next249, %cond_true214, %cond_true198 84 br i1 false, label %cond_next336, label %cond_true301 85 86cond_true301: ; preds = %bb294 87 br i1 false, label %cond_false398, label %cond_true344 88 89cond_next336: ; preds = %bb294 90 br i1 false, label %cond_false398, label %cond_true344 91 92cond_true344: ; preds = %cond_next336, %cond_true301 93 br i1 false, label %cond_false381, label %cond_true351 94 95cond_true351: ; preds = %cond_true344 96 br label %cond_next387 97 98cond_false381: ; preds = %cond_true344 99 br label %cond_next387 100 101cond_next387: ; preds = %cond_false381, %cond_true351 102 br label %cond_next401 103 104cond_false398: ; preds = %cond_next336, %cond_true301 105 br label %cond_next401 106 107cond_next401: ; preds = %cond_false398, %cond_next387 108 br i1 false, label %cond_next475, label %cond_true453 109 110bb420: ; preds = %cond_next434, %bb420.preheader 111 br i1 false, label %cond_next434, label %cond_true428 112 113cond_true428: ; preds = %bb420 114 br label %cond_next434 115 116cond_next434: ; preds = %cond_true428, %bb420 117 br i1 false, label %bb420, label %cond_next446.loopexit1 118 119cond_next446.loopexit: ; preds = %cond_next285 120 br label %cond_next446 121 122cond_next446.loopexit1: ; preds = %cond_next434 123 br label %cond_next446 124 125cond_next446: ; preds = %cond_next446.loopexit1, %cond_next446.loopexit 126 br i1 false, label %cond_next475, label %cond_true453 127 128cond_true453: ; preds = %cond_next446, %cond_next401 129 br i1 false, label %cond_true458, label %cond_next475 130 131cond_true458: ; preds = %cond_true453 132 br label %cond_next475 133 134cond_next475: ; preds = %cond_true458, %cond_true453, %cond_next446, %cond_next401 135 br i1 false, label %bb493.loopexit, label %bb148 136 137bb493.loopexit: ; preds = %cond_next475 138 br label %bb493 139 140bb493: ; preds = %bb493.loopexit, %bb 141 br i1 false, label %cond_next499, label %bb510.loopexit 142 143cond_next499: ; preds = %bb493 144 br label %bb 145 146bb510.loopexit: ; preds = %bb493 147 br label %bb510 148 149bb510: ; preds = %bb510.loopexit, %cond_true19 150 br i1 false, label %cond_next524, label %cond_true517 151 152cond_true517: ; preds = %bb510 153 br label %cond_next524 154 155cond_next524: ; preds = %cond_true517, %bb510 156 br i1 false, label %cond_next540, label %cond_true533 157 158cond_true533: ; preds = %cond_next524 159 br label %cond_next540 160 161cond_next540: ; preds = %cond_true533, %cond_next524 162 br i1 false, label %cond_true554, label %cond_next560 163 164cond_true554: ; preds = %cond_next540 165 br label %cond_next560 166 167cond_next560: ; preds = %cond_true554, %cond_next540 168 br i1 false, label %cond_true566, label %cond_next572 169 170cond_true566: ; preds = %cond_next560 171 br label %cond_next572 172 173cond_next572: ; preds = %cond_true566, %cond_next560 174 br i1 false, label %bb608.preheader, label %bb791.preheader 175 176bb608.preheader: ; preds = %cond_next797.us, %cond_next572 177 br label %bb608 178 179bb608: ; preds = %cond_next771, %bb608.preheader 180 br i1 false, label %cond_false627, label %cond_true613 181 182cond_true613: ; preds = %bb608 183 br label %cond_next640 184 185cond_false627: ; preds = %bb608 186 br label %cond_next640 187 188cond_next640: ; preds = %cond_false627, %cond_true613 189 br i1 false, label %cond_true653, label %cond_next671 190 191cond_true653: ; preds = %cond_next640 192 br label %cond_next671 193 194cond_next671: ; preds = %cond_true653, %cond_next640 195 br i1 false, label %cond_true683, label %cond_next724 196 197cond_true683: ; preds = %cond_next671 198 br i1 false, label %cond_next724, label %L1 199 200cond_next724: ; preds = %cond_true683, %cond_next671 201 br i1 false, label %cond_true735, label %L1 202 203cond_true735: ; preds = %cond_next724 204 br label %L1 205 206L1: ; preds = %cond_true735, %cond_next724, %cond_true683 207 br i1 false, label %cond_true745, label %cond_next771 208 209cond_true745: ; preds = %L1 210 br label %cond_next771 211 212cond_next771: ; preds = %cond_true745, %L1 213 br i1 false, label %bb608, label %bb791.preheader.loopexit 214 215bb791.preheader.loopexit: ; preds = %cond_next771 216 br label %bb791.preheader 217 218bb791.preheader: ; preds = %bb791.preheader.loopexit, %cond_next572 219 br i1 false, label %cond_next797.us, label %bb809.split 220 221cond_next797.us: ; preds = %bb791.preheader 222 br label %bb608.preheader 223 224bb809.split: ; preds = %bb791.preheader 225 br i1 false, label %cond_next827, label %cond_true820 226 227cond_true820: ; preds = %bb809.split 228 br label %cond_next827 229 230cond_next827: ; preds = %cond_true820, %bb809.split 231 br i1 false, label %cond_true833, label %cond_next840 232 233cond_true833: ; preds = %cond_next827 234 br label %cond_next840 235 236cond_next840: ; preds = %cond_true833, %cond_next827 237 br i1 false, label %bb866, label %bb1245 238 239bb866: ; preds = %bb1239, %cond_next840 240 br i1 false, label %cond_true875, label %bb911 241 242cond_true875: ; preds = %bb866 243 br label %cond_next1180 244 245bb911: ; preds = %bb866 246 switch i32 0, label %bb1165 [ 247 i32 0, label %bb915 248 i32 1, label %bb932 249 i32 2, label %bb941 250 i32 3, label %bb1029 251 i32 4, label %bb1036 252 i32 5, label %bb1069 253 i32 6, label %L3 254 ] 255 256bb915: ; preds = %cond_next1171, %bb911 257 br i1 false, label %cond_next1171, label %cond_next1180 258 259bb932: ; preds = %cond_next1171, %bb911 260 br label %L1970 261 262bb941: ; preds = %cond_next1171, %bb911 263 br label %L1970 264 265L1970: ; preds = %bb941, %bb932 266 br label %bb1165 267 268bb1029: ; preds = %cond_next1171, %bb911 269 br label %L4 270 271bb1036: ; preds = %cond_next1171, %bb911 272 br label %L4 273 274bb1069: ; preds = %cond_next1171, %bb911 275 br i1 false, label %cond_next1121, label %cond_true1108 276 277L3: ; preds = %cond_next1171, %bb911 278 br i1 false, label %cond_next1121, label %cond_true1108 279 280cond_true1108: ; preds = %L3, %bb1069 281 br label %L4 282 283cond_next1121: ; preds = %L3, %bb1069 284 br label %L4 285 286L4: ; preds = %cond_next1121, %cond_true1108, %bb1036, %bb1029 287 br label %bb1165 288 289bb1165: ; preds = %cond_next1171, %L4, %L1970, %bb911 290 br i1 false, label %cond_next1171, label %cond_next1180 291 292cond_next1171: ; preds = %bb1165, %bb915 293 switch i32 0, label %bb1165 [ 294 i32 0, label %bb915 295 i32 1, label %bb932 296 i32 2, label %bb941 297 i32 3, label %bb1029 298 i32 4, label %bb1036 299 i32 5, label %bb1069 300 i32 6, label %L3 301 ] 302 303cond_next1180: ; preds = %bb1165, %bb915, %cond_true875 304 br label %bb1239 305 306bb1239: ; preds = %cond_next1251, %cond_next1180 307 br i1 false, label %bb866, label %bb1245 308 309bb1245: ; preds = %bb1239, %cond_next840 310 br i1 false, label %cond_next1251, label %bb1257 311 312cond_next1251: ; preds = %bb1245 313 br label %bb1239 314 315bb1257: ; preds = %bb1245 316 ret void 317} 318