mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
33 lines
1.6 KiB
Plaintext
33 lines
1.6 KiB
Plaintext
// RUN: %target-swift-frontend(mock-sdk: %clang-importer-sdk) %s -emit-ir | FileCheck %s
|
|
|
|
// REQUIRES: CPU=x86_64
|
|
// REQUIRES: objc_interop
|
|
|
|
// CHECK: [[SWIFT_TYPE:%swift.type]] = type { i64 }
|
|
sil_stage canonical
|
|
|
|
import Builtin
|
|
import Swift
|
|
import Foundation
|
|
|
|
// top_level_code
|
|
sil private @top_level_code : $@convention(thin) () -> () {
|
|
bb0:
|
|
%0 = tuple () // user: %1
|
|
return %0 : $() // id: %1
|
|
}
|
|
|
|
// CHECK-LABEL: define {{.*}} @_TFCSo4HiveCfMS_FT5queenGSQCSo3Bee__S_
|
|
sil @_TFCSo4HiveCfMS_FT5queenGSQCSo3Bee__S_ : $@convention(thin) (@owned ImplicitlyUnwrappedOptional<Bee>, @thick Hive.Type) -> @owned ImplicitlyUnwrappedOptional<Hive> {
|
|
bb0(%0 : $ImplicitlyUnwrappedOptional<Bee>, %1 : $@thick Hive.Type):
|
|
%2 = thick_to_objc_metatype %1 : $@thick Hive.Type to $@objc_metatype Hive.Type // users: %3, %4
|
|
// CHECK: load i8*, i8** @"\01L_selector(hiveWithQueen:)"
|
|
%3 = class_method %2 : $@objc_metatype Hive.Type, #Hive.init!allocator.1.foreign : (Hive.Type) -> (queen: ImplicitlyUnwrappedOptional<Bee>) -> Hive! , $@convention(objc_method) (ImplicitlyUnwrappedOptional<Bee>, @objc_metatype Hive.Type) -> @autoreleased ImplicitlyUnwrappedOptional<Hive> // user: %4
|
|
// CHECK: call {{.*}} @objc_msgSend
|
|
%4 = apply %3(%0, %2) : $@convention(objc_method) (ImplicitlyUnwrappedOptional<Bee>, @objc_metatype Hive.Type) -> @autoreleased ImplicitlyUnwrappedOptional<Hive> // users: %5, %6
|
|
// CHECK: call {{.*}} @objc_autorelease
|
|
autorelease_value %4 : $ImplicitlyUnwrappedOptional<Hive>
|
|
return %4 : $ImplicitlyUnwrappedOptional<Hive>
|
|
}
|
|
|