@@ -1329,9 +1329,6 @@ bb0(%0 : @owned $E):
1329
1329
return %2 : $Builtin.NativeObject
1330
1330
}
1331
1331
1332
- // NOTE: We currently promote the switch_enum, but we do not handle the
1333
- // unchecked_take_enum_data_addr yet.
1334
- //
1335
1332
// CHECK-LABEL: sil [ossa] @unchecked_take_enum_data_addr_promotion : $@convention(thin) (@inout FakeOptional<B>) -> @owned B {
1336
1333
// XHECK: bb0(%0 : $*FakeOptional<B>):
1337
1334
// XHECK-NEXT: [[BORROW:%.*]] = load_borrow
@@ -2257,13 +2254,12 @@ struct FakeInt32 {
2257
2254
var val : Builtin.Int32
2258
2255
}
2259
2256
2260
- // CHECK-LABEL: sil [ossa] @loadable_switchenumaddr_promotion_trivial : $@convention(thin) (@in FakeOptional<Builtin.RawPointer>) -> () {
2261
- // CHECK-NOT: switch_enum_addr
2262
- // CHECK: load [trivial]
2263
- // CHECK-NEXT: switch_enum
2264
- // CHECK-NOT: switch_enum_addr
2265
- // CHECK: } // end sil function 'loadable_switchenumaddr_promotion_trivial'
2266
- sil [ossa] @loadable_switchenumaddr_promotion_trivial : $@convention(thin) (@in FakeOptional<Builtin.RawPointer>) -> () {
2257
+ // CHECK-LABEL: sil [ossa] @loadable_switchenumaddr_promotion : $@convention(thin) (@in FakeOptional<Builtin.RawPointer>) -> () {
2258
+ // XHECK-NOT: switch_enum_addr
2259
+ // XHECK: load
2260
+ // XHECK-NEXT: switch_enum
2261
+ // XHECK-NOT: switch_enum_addr
2262
+ sil [ossa] @loadable_switchenumaddr_promotion : $@convention(thin) (@in FakeOptional<Builtin.RawPointer>) -> () {
2267
2263
bb0(%0 : $*FakeOptional<Builtin.RawPointer>):
2268
2264
switch_enum_addr %0 : $*FakeOptional<Builtin.RawPointer>, case #FakeOptional.some!enumelt: bb1, case #FakeOptional.none!enumelt: bb2
2269
2265
@@ -2278,75 +2274,11 @@ bb3:
2278
2274
return %2 : $()
2279
2275
}
2280
2276
2281
- // CHECK-LABEL: sil [ossa] @loadable_switchenumaddr_promotion_nontrivial : $@convention(thin) (@in_guaranteed FakeOptional<Builtin.NativeObject>) -> () {
2282
- // CHECK-NOT: switch_enum_addr
2283
- // CHECK: load_borrow
2284
- // CHECK-NEXT: switch_enum
2285
- // CHECK-NOT: switch_enum_addr
2286
- // CHECK: } // end sil function 'loadable_switchenumaddr_promotion_nontrivial'
2287
- sil [ossa] @loadable_switchenumaddr_promotion_nontrivial : $@convention(thin) (@in_guaranteed FakeOptional<Builtin.NativeObject>) -> () {
2288
- bb0(%0 : $*FakeOptional<Builtin.NativeObject>):
2289
- switch_enum_addr %0 : $*FakeOptional<Builtin.NativeObject>, case #FakeOptional.some!enumelt: bb1, case #FakeOptional.none!enumelt: bb2
2290
-
2291
- bb1:
2292
- br bb3
2293
-
2294
- bb2:
2295
- br bb3
2296
-
2297
- bb3:
2298
- %2 = tuple()
2299
- return %2 : $()
2300
- }
2301
-
2302
- // CHECK-LABEL: sil [ossa] @loadable_switchenumaddr_promotion_trivial_default : $@convention(thin) (@in FakeOptional<Builtin.RawPointer>) -> () {
2303
- // CHECK-NOT: switch_enum_addr
2304
- // CHECK: load [trivial]
2305
- // CHECK-NEXT: switch_enum
2306
- // CHECK-NOT: switch_enum_addr
2307
- // CHECK: } // end sil function 'loadable_switchenumaddr_promotion_trivial_default'
2308
- sil [ossa] @loadable_switchenumaddr_promotion_trivial_default : $@convention(thin) (@in FakeOptional<Builtin.RawPointer>) -> () {
2309
- bb0(%0 : $*FakeOptional<Builtin.RawPointer>):
2310
- switch_enum_addr %0 : $*FakeOptional<Builtin.RawPointer>, case #FakeOptional.some!enumelt: bb1, default bb2
2311
-
2312
- bb1:
2313
- br bb3
2314
-
2315
- bb2:
2316
- br bb3
2317
-
2318
- bb3:
2319
- %2 = tuple()
2320
- return %2 : $()
2321
- }
2322
-
2323
- // CHECK-LABEL: sil [ossa] @loadable_switchenumaddr_promotion_nontrivial_default : $@convention(thin) (@in_guaranteed FakeOptional<Builtin.NativeObject>) -> () {
2324
- // CHECK-NOT: switch_enum_addr
2325
- // CHECK: load_borrow
2326
- // CHECK-NEXT: switch_enum
2327
- // CHECK-NOT: switch_enum_addr
2328
- // CHECK: } // end sil function 'loadable_switchenumaddr_promotion_nontrivial_default'
2329
- sil [ossa] @loadable_switchenumaddr_promotion_nontrivial_default : $@convention(thin) (@in_guaranteed FakeOptional<Builtin.NativeObject>) -> () {
2330
- bb0(%0 : $*FakeOptional<Builtin.NativeObject>):
2331
- switch_enum_addr %0 : $*FakeOptional<Builtin.NativeObject>, case #FakeOptional.some!enumelt: bb1, default bb2
2332
-
2333
- bb1:
2334
- br bb3
2335
-
2336
- bb2:
2337
- br bb3
2338
-
2339
- bb3:
2340
- %2 = tuple()
2341
- return %2 : $()
2342
- }
2343
-
2344
- // CHECK-LABEL: sil [ossa] @resilient_enum_case_propagation :
2345
- // CHECK: bb0:
2346
- // CHECK: br bb2
2347
- // CHECK: bb1:
2348
- // CHECK: return
2349
- // CHECK: } // end sil function 'resilient_enum_case_propagation'
2277
+ // CHECK-LABEL: sil [ossa] @resilient_enum_case_propagation
2278
+ // XHECK: bb0:
2279
+ // XHECK: br bb2
2280
+ // XHECK: bb1:
2281
+ // XHECK: return
2350
2282
sil [ossa] @resilient_enum_case_propagation : $@convention(thin) () -> Builtin.Int64 {
2351
2283
bb0:
2352
2284
%0 = alloc_stack $FloatingPointRoundingRule
0 commit comments