Revision 42e827e6e7247224c068a9dce8f6eabd2ab892ba authored by Devin Coughlin on 21 January 2016, 00:12:56 UTC, committed by Devin Coughlin on 21 January 2016, 01:22:15 UTC
This reverts commit f6dd24bb68b35292c3663c92c74508e97f247e53.
1 parent ac1f5a6
optional_metatype.sil
// RUN: rm -rf %t && mkdir %t
// RUN: %build-irgen-test-overlays
// RUN: %target-swift-frontend -sdk %S/Inputs -I %t -emit-ir %s | FileCheck %s --check-prefix=%target-cpu
// REQUIRES: objc_interop
import Builtin
import Swift
import gizmo
// x86_64-LABEL: define void @optional_objc_metatype(i64)
// x86_64: icmp eq i64 %0, 0
// i386-LABEL: define void @optional_objc_metatype(i32)
// i386: icmp eq i32 %0, 0
// arm64-LABEL: define void @optional_objc_metatype(i64)
// arm64: icmp eq i64 %0, 0
// armv7-LABEL: define void @optional_objc_metatype(i32)
// armv7: icmp eq i32 %0, 0
// armv7k-LABEL: define void @optional_objc_metatype(i32)
// armv7k: icmp eq i32 %0, 0
sil @optional_objc_metatype : $@convention(thin) (Optional<@objc_metatype Gizmo.Type>) -> () {
bb0(%0 : $Optional<@objc_metatype Gizmo.Type>):
switch_enum %0 : $Optional<@objc_metatype Gizmo.Type>, case #Optional.Some!enumelt.1: some, case #Optional.None!enumelt: none
some(%m : $@objc_metatype Gizmo.Type):
br cont
none:
br cont
cont:
return undef : $()
}
// x86_64-LABEL: define void @optional_swift_metatype(i64)
// x86_64: icmp eq i64 %0, 0
// i386-LABEL: define void @optional_swift_metatype(i32)
// i386: icmp eq i32 %0, 0
// arm64-LABEL: define void @optional_swift_metatype(i64)
// arm64: icmp eq i64 %0, 0
// armv7-LABEL: define void @optional_swift_metatype(i32)
// armv7: icmp eq i32 %0, 0
// armv7k-LABEL: define void @optional_swift_metatype(i32)
// armv7k: icmp eq i32 %0, 0
sil @optional_swift_metatype : $@convention(thin) (Optional<@thick Gizmo.Type>) -> () {
bb0(%0 : $Optional<@thick Gizmo.Type>):
switch_enum %0 : $Optional<@thick Gizmo.Type>, case #Optional.Some!enumelt.1: some, case #Optional.None!enumelt: none
some(%m : $@thick Gizmo.Type):
br cont
none:
br cont
cont:
return undef : $()
}
Computing file changes ...