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