blob: af6767a3088fb98271969f6350d0b2968a02adff [file] [log] [blame]
// RUN: %target-swift-frontend -emit-ir %s | %FileCheck --check-prefix=CHECK --check-prefix=CHECK-%target-runtime %s
sil_stage canonical
import Builtin
sil @anyobject_user : $@convention(thin) (@guaranteed Builtin.AnyObject) -> ()
// CHECK-LABEL: @retain_release_unknown_object
sil [ossa] @retain_release_unknown_object : $@convention(thin) (@guaranteed Builtin.AnyObject) -> () {
entry(%x : @guaranteed $Builtin.AnyObject):
// CHECK-native: swift_retain
// CHECK-objc: swift_unknownObjectRetain
%y = copy_value %x : $Builtin.AnyObject
br bb1
bb1:
%func = function_ref @anyobject_user : $@convention(thin) (@guaranteed Builtin.AnyObject) -> ()
apply %func(%y) : $@convention(thin) (@guaranteed Builtin.AnyObject) -> ()
// CHECK-native: swift_release
// CHECK-objc: swift_unknownObjectRelease
destroy_value %y : $Builtin.AnyObject
return undef : $()
}