@@ -672,7 +672,7 @@ func set<Container, Field>(into container: inout Container, at keyPath: Writable
672
672
// CHECK-SAME: [[CONTAINER:%[^,]+]] :
673
673
// CHECK: [[CONTAINER_COPY:%[^,]+]] = copy_value [[CONTAINER]]
674
674
// CHECK: [[SETTER:%[^,]+]] = class_method [[CONTAINER_COPY]]
675
- // CHECK: [[REGISTER_4:%[^,]+]] = apply [[SETTER]]([[VALUE]], [[CONTAINER_COPY]])
675
+ // CHECK: apply [[SETTER]]([[VALUE]], [[CONTAINER_COPY]])
676
676
// CHECK: destroy_value [[CONTAINER_COPY]]
677
677
// CHECK-LABEL: } // end sil function '$s20opaque_values_silgen16FormClassKeyPathyyF1QL_C1qSivpADTk'
678
678
@_silgen_name ( " FormClassKeyPath " )
@@ -782,3 +782,20 @@ func intIntoAnyHashableVar() {
782
782
func intIntoAnyHashableLet( ) {
783
783
let anyHashable : AnyHashable = 0
784
784
}
785
+
786
+ // CHECK-LABEL: sil {{.*}}[ossa] @consumeExprOfOwnedAddrOnlyValue : {{.*}} {
787
+ // CHECK: bb0([[T:%[^,]+]] :
788
+ // CHECK: [[T_LIFETIME:%[^,]+]] = begin_borrow [[T]]
789
+ // CHECK: [[T_COPY:%[^,]+]] = copy_value [[T_LIFETIME]]
790
+ // CHECK: [[T_MOVE:%[^,]+]] = move_value [allows_diagnostics] [[T_COPY]]
791
+ // CHECK: [[SINK:%[^,]+]] = function_ref @sink
792
+ // CHECK: apply [[SINK]]<T>([[T_MOVE]])
793
+ // CHECK: end_borrow [[T_LIFETIME]]
794
+ // CHECK: destroy_value [[T]]
795
+ // CHECK-LABEL: } // end sil function 'consumeExprOfOwnedAddrOnlyValue'
796
+ @_silgen_name ( " consumeExprOfOwnedAddrOnlyValue " )
797
+ func consumeExprOfOwnedAddrOnlyValue< T> ( _ t: __owned T) {
798
+ sink ( consume t)
799
+ }
800
+ @_silgen_name ( " sink " )
801
+ func sink< T> ( _ t: consuming T ) { }
0 commit comments