318 lines · plain
1;RUN: opt < %s -codegenprepare -S -mtriple=x86_64 | FileCheck %s2 3;CHECK: define void @foo()4;CHECK-NEXT: entry:5;CHECK-NEXT: ret void6 7;CHECK: cond_next475:8;CHECK-NEXT: br label %cond_next4759 10 11define void @foo() {12entry:13 br i1 false, label %cond_next31, label %cond_true14 15cond_true: ; preds = %entry16 br i1 false, label %cond_true19, label %cond_next3117 18cond_true19: ; preds = %cond_true19 br i1 false, label %bb510, label %cond_next3120 21cond_next31: ; preds = %cond_true19, %cond_true, %entry22 br i1 false, label %cond_true61, label %cond_next7823 24cond_true61: ; preds = %cond_next3125 br label %cond_next7826 27cond_next78: ; preds = %cond_true61, %cond_next3128 br i1 false, label %cond_true93, label %bb.preheader29 30cond_true93: ; preds = %cond_next7831 br label %bb.preheader32 33bb.preheader: ; preds = %cond_true93, %cond_next7834 %iftmp.11.0.ph.ph = phi i16 [ 0, %cond_true93 ], [ 0, %cond_next78 ] ; <i16> [#uses=1]35 br label %bb36 37bb: ; preds = %cond_next499, %bb.preheader38 %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 %bb49340 41bb148.preheader: ; preds = %bb42 br label %bb14843 44bb148: ; preds = %cond_next475, %bb148.preheader45 br i1 false, label %cond_next175, label %bb18446 47cond_next175: ; preds = %bb14848 br i1 false, label %bb184, label %bb18549 50bb184: ; preds = %cond_next175, %bb14851 br label %bb18552 53bb185: ; preds = %bb184, %cond_next17554 br i1 false, label %bb420.preheader, label %cond_true19855 56bb420.preheader: ; preds = %bb18557 br label %bb42058 59cond_true198: ; preds = %bb18560 br i1 false, label %bb294, label %cond_next20861 62cond_next208: ; preds = %cond_true19863 br i1 false, label %cond_next249, label %cond_true21464 65cond_true214: ; preds = %cond_next20866 br i1 false, label %bb294, label %cond_next26267 68cond_next249: ; preds = %cond_next20869 br i1 false, label %bb294, label %cond_next26270 71cond_next262: ; preds = %cond_next249, %cond_true21472 br label %bb26973 74bb269: ; preds = %cond_next285, %cond_next26275 br i1 false, label %cond_next285, label %cond_true27976 77cond_true279: ; preds = %bb26978 br label %cond_next28579 80cond_next285: ; preds = %cond_true279, %bb26981 br i1 false, label %bb269, label %cond_next446.loopexit82 83bb294: ; preds = %cond_next249, %cond_true214, %cond_true19884 br i1 false, label %cond_next336, label %cond_true30185 86cond_true301: ; preds = %bb29487 br i1 false, label %cond_false398, label %cond_true34488 89cond_next336: ; preds = %bb29490 br i1 false, label %cond_false398, label %cond_true34491 92cond_true344: ; preds = %cond_next336, %cond_true30193 br i1 false, label %cond_false381, label %cond_true35194 95cond_true351: ; preds = %cond_true34496 br label %cond_next38797 98cond_false381: ; preds = %cond_true34499 br label %cond_next387100 101cond_next387: ; preds = %cond_false381, %cond_true351102 br label %cond_next401103 104cond_false398: ; preds = %cond_next336, %cond_true301105 br label %cond_next401106 107cond_next401: ; preds = %cond_false398, %cond_next387108 br i1 false, label %cond_next475, label %cond_true453109 110bb420: ; preds = %cond_next434, %bb420.preheader111 br i1 false, label %cond_next434, label %cond_true428112 113cond_true428: ; preds = %bb420114 br label %cond_next434115 116cond_next434: ; preds = %cond_true428, %bb420117 br i1 false, label %bb420, label %cond_next446.loopexit1118 119cond_next446.loopexit: ; preds = %cond_next285120 br label %cond_next446121 122cond_next446.loopexit1: ; preds = %cond_next434123 br label %cond_next446124 125cond_next446: ; preds = %cond_next446.loopexit1, %cond_next446.loopexit126 br i1 false, label %cond_next475, label %cond_true453127 128cond_true453: ; preds = %cond_next446, %cond_next401129 br i1 false, label %cond_true458, label %cond_next475130 131cond_true458: ; preds = %cond_true453132 br label %cond_next475133 134cond_next475: ; preds = %cond_true458, %cond_true453, %cond_next446, %cond_next401135 br i1 false, label %bb493.loopexit, label %bb148136 137bb493.loopexit: ; preds = %cond_next475138 br label %bb493139 140bb493: ; preds = %bb493.loopexit, %bb141 br i1 false, label %cond_next499, label %bb510.loopexit142 143cond_next499: ; preds = %bb493144 br label %bb145 146bb510.loopexit: ; preds = %bb493147 br label %bb510148 149bb510: ; preds = %bb510.loopexit, %cond_true19150 br i1 false, label %cond_next524, label %cond_true517151 152cond_true517: ; preds = %bb510153 br label %cond_next524154 155cond_next524: ; preds = %cond_true517, %bb510156 br i1 false, label %cond_next540, label %cond_true533157 158cond_true533: ; preds = %cond_next524159 br label %cond_next540160 161cond_next540: ; preds = %cond_true533, %cond_next524162 br i1 false, label %cond_true554, label %cond_next560163 164cond_true554: ; preds = %cond_next540165 br label %cond_next560166 167cond_next560: ; preds = %cond_true554, %cond_next540168 br i1 false, label %cond_true566, label %cond_next572169 170cond_true566: ; preds = %cond_next560171 br label %cond_next572172 173cond_next572: ; preds = %cond_true566, %cond_next560174 br i1 false, label %bb608.preheader, label %bb791.preheader175 176bb608.preheader: ; preds = %cond_next797.us, %cond_next572177 br label %bb608178 179bb608: ; preds = %cond_next771, %bb608.preheader180 br i1 false, label %cond_false627, label %cond_true613181 182cond_true613: ; preds = %bb608183 br label %cond_next640184 185cond_false627: ; preds = %bb608186 br label %cond_next640187 188cond_next640: ; preds = %cond_false627, %cond_true613189 br i1 false, label %cond_true653, label %cond_next671190 191cond_true653: ; preds = %cond_next640192 br label %cond_next671193 194cond_next671: ; preds = %cond_true653, %cond_next640195 br i1 false, label %cond_true683, label %cond_next724196 197cond_true683: ; preds = %cond_next671198 br i1 false, label %cond_next724, label %L1199 200cond_next724: ; preds = %cond_true683, %cond_next671201 br i1 false, label %cond_true735, label %L1202 203cond_true735: ; preds = %cond_next724204 br label %L1205 206L1: ; preds = %cond_true735, %cond_next724, %cond_true683207 br i1 false, label %cond_true745, label %cond_next771208 209cond_true745: ; preds = %L1210 br label %cond_next771211 212cond_next771: ; preds = %cond_true745, %L1213 br i1 false, label %bb608, label %bb791.preheader.loopexit214 215bb791.preheader.loopexit: ; preds = %cond_next771216 br label %bb791.preheader217 218bb791.preheader: ; preds = %bb791.preheader.loopexit, %cond_next572219 br i1 false, label %cond_next797.us, label %bb809.split220 221cond_next797.us: ; preds = %bb791.preheader222 br label %bb608.preheader223 224bb809.split: ; preds = %bb791.preheader225 br i1 false, label %cond_next827, label %cond_true820226 227cond_true820: ; preds = %bb809.split228 br label %cond_next827229 230cond_next827: ; preds = %cond_true820, %bb809.split231 br i1 false, label %cond_true833, label %cond_next840232 233cond_true833: ; preds = %cond_next827234 br label %cond_next840235 236cond_next840: ; preds = %cond_true833, %cond_next827237 br i1 false, label %bb866, label %bb1245238 239bb866: ; preds = %bb1239, %cond_next840240 br i1 false, label %cond_true875, label %bb911241 242cond_true875: ; preds = %bb866243 br label %cond_next1180244 245bb911: ; preds = %bb866246 switch i32 0, label %bb1165 [247 i32 0, label %bb915248 i32 1, label %bb932249 i32 2, label %bb941250 i32 3, label %bb1029251 i32 4, label %bb1036252 i32 5, label %bb1069253 i32 6, label %L3254 ]255 256bb915: ; preds = %cond_next1171, %bb911257 br i1 false, label %cond_next1171, label %cond_next1180258 259bb932: ; preds = %cond_next1171, %bb911260 br label %L1970261 262bb941: ; preds = %cond_next1171, %bb911263 br label %L1970264 265L1970: ; preds = %bb941, %bb932266 br label %bb1165267 268bb1029: ; preds = %cond_next1171, %bb911269 br label %L4270 271bb1036: ; preds = %cond_next1171, %bb911272 br label %L4273 274bb1069: ; preds = %cond_next1171, %bb911275 br i1 false, label %cond_next1121, label %cond_true1108276 277L3: ; preds = %cond_next1171, %bb911278 br i1 false, label %cond_next1121, label %cond_true1108279 280cond_true1108: ; preds = %L3, %bb1069281 br label %L4282 283cond_next1121: ; preds = %L3, %bb1069284 br label %L4285 286L4: ; preds = %cond_next1121, %cond_true1108, %bb1036, %bb1029287 br label %bb1165288 289bb1165: ; preds = %cond_next1171, %L4, %L1970, %bb911290 br i1 false, label %cond_next1171, label %cond_next1180291 292cond_next1171: ; preds = %bb1165, %bb915293 switch i32 0, label %bb1165 [294 i32 0, label %bb915295 i32 1, label %bb932296 i32 2, label %bb941297 i32 3, label %bb1029298 i32 4, label %bb1036299 i32 5, label %bb1069300 i32 6, label %L3301 ]302 303cond_next1180: ; preds = %bb1165, %bb915, %cond_true875304 br label %bb1239305 306bb1239: ; preds = %cond_next1251, %cond_next1180307 br i1 false, label %bb866, label %bb1245308 309bb1245: ; preds = %bb1239, %cond_next840310 br i1 false, label %cond_next1251, label %bb1257311 312cond_next1251: ; preds = %bb1245313 br label %bb1239314 315bb1257: ; preds = %bb1245316 ret void317}318