blob: 39e82c58ed35262a664615f7734b4e04f709c65d [file] [log] [blame]
// RUN: %target-sil-opt -enable-sil-verify-all -generic-specializer %/s | %FileCheck %s
sil_stage canonical
import Builtin
import Swift
sil [ossa] [transparent] @ossaTransparentCallee : $@convention(thin) <T> (@in T) -> () {
bb0(%0 : $*T):
destroy_addr %0 : $*T
%9999 = tuple()
return %9999 : $()
}
// CHECK-LABEL: sil @caller : $@convention(thin) (@owned Builtin.NativeObject) -> () {
// CHECK: [[FUNC:%.*]] = function_ref @ossaTransparentCallee : $@convention(thin) <τ_0_0> (@in τ_0_0) -> ()
// CHECK: apply [[FUNC]]<Builtin.NativeObject>(
// CHECK: } // end sil function 'caller'
sil @caller : $@convention(thin) (@owned Builtin.NativeObject) -> () {
bb0(%0 : $Builtin.NativeObject):
%1 = function_ref @ossaTransparentCallee : $@convention(thin) _0_0> (@in τ_0_0) -> ()
%2 = alloc_stack $Builtin.NativeObject
store %0 to %2 : $*Builtin.NativeObject
apply %1<Builtin.NativeObject>(%2) : $@convention(thin) _0_0> (@in τ_0_0) -> ()
dealloc_stack %2 : $*Builtin.NativeObject
%9999 = tuple()
return %9999 : $()
}