@@ -1254,11 +1254,12 @@ bb0(%0 : $*Builtin.NativeObject):
1254
1254
}
1255
1255
1256
1256
// CHECK-LABEL: sil [ossa] @unchecked_addr_cast_forwarding : $@convention(thin) (@inout Builtin.NativeObject) -> Builtin.Word {
1257
- // XHECK: bb0([[INPUT_PTR:%[0-9]+]] : $*Builtin.NativeObject):
1258
- // XHECK-NEXT: [[ADDR_CAST:%[0-9]+]] = unchecked_addr_cast [[INPUT_PTR]] : $*Builtin.NativeObject to $*Builtin.Word
1259
- // XHECK-NEXT: debug_value [[ADDR_CAST]]
1260
- // XHECK-NEXT: [[RETURN_VALUE:%[0-9]+]] = load [trivial] [[ADDR_CAST]] : $*Builtin.Word
1261
- // XHECK-NEXT: return [[RETURN_VALUE]]
1257
+ // CHECK: bb0([[INPUT_PTR:%[0-9]+]] : $*Builtin.NativeObject):
1258
+ // CHECK-NEXT: [[ADDR_CAST:%[0-9]+]] = unchecked_addr_cast [[INPUT_PTR]] : $*Builtin.NativeObject to $*Builtin.Word
1259
+ // CHECK-NEXT: debug_value [[ADDR_CAST]]
1260
+ // CHECK-NEXT: [[RETURN_VALUE:%[0-9]+]] = load [trivial] [[ADDR_CAST]] : $*Builtin.Word
1261
+ // CHECK-NEXT: return [[RETURN_VALUE]]
1262
+ // CHECK: } // end sil function 'unchecked_addr_cast_forwarding'
1262
1263
sil [ossa] @unchecked_addr_cast_forwarding : $@convention(thin) (@inout Builtin.NativeObject) -> Builtin.Word {
1263
1264
bb0(%0 : $*Builtin.NativeObject):
1264
1265
%1 = unchecked_addr_cast %0 : $*Builtin.NativeObject to $*Builtin.RawPointer
@@ -1434,6 +1435,7 @@ bb0(%0 : $*@callee_owned (@in ()) -> @out AnotherClass, %1 : $*AnotherClass):
1434
1435
// XHECK-NEXT: upcast
1435
1436
// XHECK-NEXT: store
1436
1437
// XHECK-NEXT: return
1438
+ // CHECK: } // end sil function 'upcast_formation'
1437
1439
sil [ossa] @upcast_formation : $@convention(thin) (@inout E, @owned E, @inout B) -> @owned B {
1438
1440
bb0(%0 : $*E, %1 : @owned $E, %2 : $*B):
1439
1441
%3 = unchecked_addr_cast %0 : $*E to $*B
@@ -1444,10 +1446,13 @@ bb0(%0 : $*E, %1 : @owned $E, %2 : $*B):
1444
1446
}
1445
1447
1446
1448
// CHECK-LABEL: sil [ossa] @dont_form_upcast_when_casts_are_identity : $@convention(thin) (@inout E, @owned E, @inout E) -> @owned E {
1447
- // XHECK: bb0
1448
- // XHECK-NEXT: load
1449
- // XHECK-NEXT: store
1450
- // XHECK-NEXT: return
1449
+ // CHECK: bb0
1450
+ // CHECK-NEXT: copy_value
1451
+ // CHECK-NEXT: destroy_value
1452
+ // CHECK-NEXT: load
1453
+ // CHECK-NEXT: store
1454
+ // CHECK-NEXT: return
1455
+ // CHECK: } // end sil function 'dont_form_upcast_when_casts_are_identity'
1451
1456
sil [ossa] @dont_form_upcast_when_casts_are_identity : $@convention(thin) (@inout E, @owned E, @inout E) -> @owned E {
1452
1457
bb0(%0 : $*E, %1 : @owned $E, %2 : $*E):
1453
1458
%3 = unchecked_addr_cast %0 : $*E to $*E
0 commit comments