Merge pull request #19388 from eeckstein/mangling-prefix

change mangling prefix from $S to $s
This commit is contained in:
eeckstein
2018-09-20 09:16:30 -07:00
committed by GitHub
895 changed files with 10839 additions and 10839 deletions

View File

@@ -17,7 +17,7 @@
#define MANGLE_AS_STRING(M) STRINGIFY_MANGLING(M)
/// The mangling prefix for the new mangling.
#define MANGLING_PREFIX $S
#define MANGLING_PREFIX $s
#define MANGLING_PREFIX_STR MANGLE_AS_STRING(MANGLING_PREFIX)

View File

@@ -1,10 +1,10 @@
// RUN: %empty-directory(%t)
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-ast-typechecked -source-filename %s -swift-version 4 -find-mangled '$SSo11SomeCStructV' | %FileCheck -check-prefix=CHECK-TOP-ALIAS-4 %s
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-ast-typechecked -source-filename %s -swift-version 5 -find-mangled '$SSo11SomeCStructV' | %FileCheck -check-prefix=CHECK-TOP-ALIAS-5 %s
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-ast-typechecked -source-filename %s -swift-version 4 -find-mangled '$sSo11SomeCStructV' | %FileCheck -check-prefix=CHECK-TOP-ALIAS-4 %s
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-ast-typechecked -source-filename %s -swift-version 5 -find-mangled '$sSo11SomeCStructV' | %FileCheck -check-prefix=CHECK-TOP-ALIAS-5 %s
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-ast-typechecked -source-filename %s -swift-version 4 -find-mangled '$SSo13InnerInSwift5V' | %FileCheck -check-prefix=CHECK-NESTED-ALIAS-4 %s
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-ast-typechecked -source-filename %s -swift-version 5 -find-mangled '$SSo13InnerInSwift5V' | %FileCheck -check-prefix=CHECK-NESTED-ALIAS-5 %s
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-ast-typechecked -source-filename %s -swift-version 4 -find-mangled '$sSo13InnerInSwift5V' | %FileCheck -check-prefix=CHECK-NESTED-ALIAS-4 %s
// RUN: %target-swift-ide-test -F %S/Inputs/custom-frameworks -print-ast-typechecked -source-filename %s -swift-version 5 -find-mangled '$sSo13InnerInSwift5V' | %FileCheck -check-prefix=CHECK-NESTED-ALIAS-5 %s
import APINotesFrameworkTest

View File

@@ -251,14 +251,14 @@ func testRenamedOptionyEnum() {
#if !swift(>=5)
func useSwift4Name(_: ImportantCStruct) {}
// CHECK-SILGEN-4: sil hidden @$S9versioned13useSwift4NameyySo11SomeCStructVF
// CHECK-SILGEN-4: sil hidden @$s9versioned13useSwift4NameyySo11SomeCStructVF
func useNewlyNested(_: InnerInSwift5) {}
// CHECK-SILGEN-4: sil hidden @$S9versioned14useNewlyNestedyySo13InnerInSwift5VF
// CHECK-SILGEN-4: sil hidden @$s9versioned14useNewlyNestedyySo13InnerInSwift5VF
#endif
func useSwift5Name(_: VeryImportantCStruct) {}
// CHECK-SILGEN: sil hidden @$S9versioned13useSwift5NameyySo11SomeCStructVF
// CHECK-SILGEN: sil hidden @$s9versioned13useSwift5NameyySo11SomeCStructVF

View File

@@ -1,7 +1,7 @@
// RUN: %target-swift-frontend -emit-ir -primary-file %s %S/Inputs/forward-declarations-other.swift -import-objc-header %S/Inputs/forward-declarations.h -enable-objc-interop -disable-objc-attr-requires-foundation-module -module-name main | %FileCheck %s
class Sub: Base {
// CHECK-LABEL: define{{.*}} void @"$S4main3SubC4testyyF"
// CHECK-LABEL: define{{.*}} void @"$s4main3SubC4testyyF"
func test() {
// CHECK: [[BASE_SELF:%.+]] = bitcast %T4main3SubC* %0 to %TSo4BaseC*
// CHECK: [[SELECTOR:%.+]] = load i8*, i8** @"\01L_selector(getClassInstanceWithoutMentioningItsName)"

View File

@@ -91,17 +91,17 @@ public func testTopLevel() {
#endif
}
// CHECK-LABEL: define linkonce_odr hidden swiftcc %swift.metadata_response @"$SSo10PrivFooSubCMa{{.*}} {
// CHECK-LABEL: define linkonce_odr hidden swiftcc %swift.metadata_response @"$sSo10PrivFooSubCMa{{.*}} {
// CHECK: %objc_class** @"\01l_OBJC_CLASS_REF_$_PrivFooSub"
// CHECK: }
// CHECK-LABEL: define linkonce_odr hidden {{.+}} @"$SSo3BarC8__noArgsABSgyt_tcfcTO"
// CHECK-LABEL: define linkonce_odr hidden {{.+}} @"$sSo3BarC8__noArgsABSgyt_tcfcTO"
// CHECK: @"\01L_selector(initWithNoArgs)"
// CHECK-LABEL: define linkonce_odr hidden {{.+}} @"$SSo3BarC8__oneArgABSgs5Int32V_tcfcTO"
// CHECK-LABEL: define linkonce_odr hidden {{.+}} @"$sSo3BarC8__oneArgABSgs5Int32V_tcfcTO"
// CHECK: @"\01L_selector(initWithOneArg:)"
// CHECK-LABEL: define linkonce_odr hidden {{.+}} @"$SSo3BarC9__twoArgs5otherABSgs5Int32V_AGtcfcTO"
// CHECK-LABEL: define linkonce_odr hidden {{.+}} @"$sSo3BarC9__twoArgs5otherABSgs5Int32V_AGtcfcTO"
// CHECK: @"\01L_selector(initWithTwoArgs:other:)"
// CHECK-LABEL: define linkonce_odr hidden {{.+}} @"$SSo3BarC2__ABSgs5Int32V_tcfcTO"
// CHECK-LABEL: define linkonce_odr hidden {{.+}} @"$sSo3BarC2__ABSgs5Int32V_tcfcTO"
// CHECK: @"\01L_selector(init:)"
_ = __PrivAnonymousA

View File

@@ -4,19 +4,19 @@
import ctypes
// CHECK-LABEL: define hidden swiftcc void @"$S9ctypes_ir9testColoryyF"
// CHECK-LABEL: define hidden swiftcc void @"$s9ctypes_ir9testColoryyF"
func testColor() {
// CHECK: store i32 1
var c : Color = green
}
// CHECK-LABEL: define hidden swiftcc void @"$S9ctypes_ir12testAnonEnumyyF"
// CHECK-LABEL: define hidden swiftcc void @"$s9ctypes_ir12testAnonEnumyyF"
func testAnonEnum() {
// CHECK: store i64 30064771073
var a = AnonConst2
}
// CHECK-LABEL: define hidden swiftcc void @"$S9ctypes_ir17testAnonEnumSmallyyF"
// CHECK-LABEL: define hidden swiftcc void @"$s9ctypes_ir17testAnonEnumSmallyyF"
func testAnonEnumSmall() {
// CHECK: store i64 17
var a = AnonConstSmall2
@@ -27,7 +27,7 @@ func testStructWithFlexibleArray(_ s : StructWithFlexibleArray) {
}
// Make sure flexible array struct member isn't represented in IR function signature as i0 (or at all). rdar://problem/18510461
// CHECK-LABEL: define hidden swiftcc void @"$S9ctypes_ir27testStructWithFlexibleArrayyySo0defG0aF"(i32)
// CHECK-LABEL: define hidden swiftcc void @"$s9ctypes_ir27testStructWithFlexibleArrayyySo0defG0aF"(i32)
typealias EightUp = (Int8, Int8, Int8, Int8, Int8, Int8, Int8, Int8)

View File

@@ -30,7 +30,7 @@ func testDiags() {
#endif
// CHECK-LABEL: %TSo6SR2511V = type <{ %Ts5Int32V, %Ts6UInt32V, %Ts5Int32V }>
// CHECK-LABEL: define{{.*}} i32 @"$S4main6testIR1xs5Int32VSPySo6SR2511VG_tF"(
// CHECK-LABEL: define{{.*}} i32 @"$s4main6testIR1xs5Int32VSPySo6SR2511VG_tF"(
public func testIR(x: UnsafePointer<SR2511>) -> CInt {
// CHECK: store i32 1, i32* getelementptr inbounds (%Ts6UInt32V, %Ts6UInt32V* bitcast (i32* @global to %Ts6UInt32V*), i32 0, i32 0), align 4
global = VarConstant2

View File

@@ -228,5 +228,5 @@ let _: UnknownOptionsThanksToAPINotes = .first // expected-error {{has no member
let _ = UnknownEnumThanksToAPINotesFirst
let _ = UnknownOptionsThanksToAPINotesFirst
// CHECK-IR: $S4enum12testMangling2e12e22e3ySo9EnumByTagV_So0gH7TypedefaSo0gH4BothVtF
// CHECK-IR: $s4enum12testMangling2e12e22e3ySo9EnumByTagV_So0gH7TypedefaSo0gH4BothVtF
func testMangling(e1: EnumByTag, e2: EnumByTypedef, e3: EnumByBoth) {}

View File

@@ -9,7 +9,7 @@ import nullability
import Foundation
// null_resettable properties.
// CHECK-LABEL: sil hidden @$S18nullability_silgen18testNullResettable{{[_0-9a-zA-Z]*}}F
// CHECK-LABEL: sil hidden @$s18nullability_silgen18testNullResettable{{[_0-9a-zA-Z]*}}F
func testNullResettable(_ sc: SomeClass) {
sc.defaultedProperty = nil
sc.defaultedProperty = "hello"

View File

@@ -20,7 +20,7 @@ import objc_generics
// CHECK: @"\01L_selector_data(method:separateExtMethod:)" = private global [26 x i8] c"method:separateExtMethod:\00", section "__TEXT,__objc_methname,cstring_literals"
// Instance method invocation
// CHECK-LABEL: define hidden swiftcc void @"$S7objc_ir15instanceMethodsyySo1BCF"(%TSo1BC*
// CHECK-LABEL: define hidden swiftcc void @"$s7objc_ir15instanceMethodsyySo1BCF"(%TSo1BC*
func instanceMethods(_ b: B) {
// CHECK: load i8*, i8** @"\01L_selector(method:withFloat:)"
// CHECK: call i32 bitcast (void ()* @objc_msgSend to i32
@@ -30,7 +30,7 @@ func instanceMethods(_ b: B) {
i = i + b.method(1, with: 2.5 as Double)
}
// CHECK-LABEL: define hidden swiftcc void @"$S7objc_ir16extensionMethods1bySo1BC_tF"
// CHECK-LABEL: define hidden swiftcc void @"$s7objc_ir16extensionMethods1bySo1BC_tF"
func extensionMethods(b b: B) {
// CHECK: load i8*, i8** @"\01L_selector(method:separateExtMethod:)", align 8
// CHECK: [[T0:%.*]] = call i8* bitcast (void ()* @objc_msgSend to i8*
@@ -40,18 +40,18 @@ func extensionMethods(b b: B) {
b.method(1, separateExtMethod:1.5)
}
// CHECK-LABEL: define hidden swiftcc void @"$S7objc_ir19initCallToAllocInit1iys5Int32V_tF"
// CHECK-LABEL: define hidden swiftcc void @"$s7objc_ir19initCallToAllocInit1iys5Int32V_tF"
func initCallToAllocInit(i i: CInt) {
// CHECK: call {{.*}} @"$SSo1BC3intABSgs5Int32V_tcfC"
// CHECK: call {{.*}} @"$sSo1BC3intABSgs5Int32V_tcfC"
B(int: i)
}
// CHECK-LABEL: linkonce_odr hidden {{.*}} @"$SSo1BC3intABSgs5Int32V_tcfC"
// CHECK-LABEL: linkonce_odr hidden {{.*}} @"$sSo1BC3intABSgs5Int32V_tcfC"
// CHECK: call [[OPAQUE:%.*]]* @objc_allocWithZone
// Indexed subscripting
// CHECK-LABEL: define hidden swiftcc void @"$S7objc_ir19indexedSubscripting1b3idx1aySo1BC_SiSo1ACtF"
// CHECK-LABEL: define hidden swiftcc void @"$s7objc_ir19indexedSubscripting1b3idx1aySo1BC_SiSo1ACtF"
func indexedSubscripting(b b: B, idx: Int, a: A) {
// CHECK: load i8*, i8** @"\01L_selector(setObject:atIndexedSubscript:)", align 8
b[idx] = a
@@ -60,7 +60,7 @@ func indexedSubscripting(b b: B, idx: Int, a: A) {
var a2 = b[idx] as! A
}
// CHECK-LABEL: define hidden swiftcc void @"$S7objc_ir17keyedSubscripting1b3idx1aySo1BC_So1ACAItF"
// CHECK-LABEL: define hidden swiftcc void @"$s7objc_ir17keyedSubscripting1b3idx1aySo1BC_So1ACAItF"
func keyedSubscripting(b b: B, idx: A, a: A) {
// CHECK: load i8*, i8** @"\01L_selector(setObject:forKeyedSubscript:)"
b[a] = a
@@ -68,7 +68,7 @@ func keyedSubscripting(b b: B, idx: A, a: A) {
var a2 = b[a] as! A
}
// CHECK-LABEL: define hidden swiftcc void @"$S7objc_ir14propertyAccess1bySo1BC_tF"
// CHECK-LABEL: define hidden swiftcc void @"$s7objc_ir14propertyAccess1bySo1BC_tF"
func propertyAccess(b b: B) {
// CHECK: load i8*, i8** @"\01L_selector(counter)"
// CHECK: load i8*, i8** @"\01L_selector(setCounter:)"
@@ -80,7 +80,7 @@ func propertyAccess(b b: B) {
B.sharedCounter = B.sharedCounter + 1
}
// CHECK-LABEL: define hidden swiftcc %TSo1BC* @"$S7objc_ir8downcast1aSo1BCSo1AC_tF"(
// CHECK-LABEL: define hidden swiftcc %TSo1BC* @"$s7objc_ir8downcast1aSo1BCSo1AC_tF"(
func downcast(a a: A) -> B {
// CHECK: [[CLASS:%.*]] = load %objc_class*, %objc_class** @"\01l_OBJC_CLASS_REF_$_B"
// CHECK: [[T0:%.*]] = call %objc_class* @swift_getInitializedObjCClass(%objc_class* [[CLASS]])
@@ -89,12 +89,12 @@ func downcast(a a: A) -> B {
return a as! B
}
// CHECK-LABEL: define hidden swiftcc void @"$S7objc_ir19almostSubscriptable3as11aySo06AlmostD0C_So1ACtF"
// CHECK-LABEL: define hidden swiftcc void @"$s7objc_ir19almostSubscriptable3as11aySo06AlmostD0C_So1ACtF"
func almostSubscriptable(as1 as1: AlmostSubscriptable, a: A) {
as1.objectForKeyedSubscript(a)
}
// CHECK-LABEL: define hidden swiftcc void @"$S7objc_ir13protocolTypes1a1bySo7NSMinceC_So9NSRuncing_ptF"(%TSo7NSMinceC*, %objc_object*) {{.*}} {
// CHECK-LABEL: define hidden swiftcc void @"$s7objc_ir13protocolTypes1a1bySo7NSMinceC_So9NSRuncing_ptF"(%TSo7NSMinceC*, %objc_object*) {{.*}} {
func protocolTypes(a a: NSMince, b: NSRuncing) {
// - (void)eatWith:(id <NSRuncing>)runcer;
a.eat(with: b)
@@ -102,7 +102,7 @@ func protocolTypes(a a: NSMince, b: NSRuncing) {
// CHECK: call void bitcast (void ()* @objc_msgSend to void ([[OPAQUE:%.*]]*, i8*, i8*)*)([[OPAQUE:%.*]]* {{%.*}}, i8* [[SEL]], i8* {{%.*}})
}
// CHECK-LABEL: define hidden swiftcc void @"$S7objc_ir6getset1pySo8FooProto_p_tF"(%objc_object*) {{.*}} {
// CHECK-LABEL: define hidden swiftcc void @"$s7objc_ir6getset1pySo8FooProto_p_tF"(%objc_object*) {{.*}} {
func getset(p p: FooProto) {
// CHECK: load i8*, i8** @"\01L_selector(bar)"
// CHECK: load i8*, i8** @"\01L_selector(setBar:)"
@@ -110,7 +110,7 @@ func getset(p p: FooProto) {
p.bar = prop
}
// CHECK-LABEL: define hidden swiftcc %swift.type* @"$S7objc_ir16protocolMetatype1pSo8FooProto_pXpSoAD_p_tF"(%objc_object*) {{.*}} {
// CHECK-LABEL: define hidden swiftcc %swift.type* @"$s7objc_ir16protocolMetatype1pSo8FooProto_pXpSoAD_p_tF"(%objc_object*) {{.*}} {
func protocolMetatype(p: FooProto) -> FooProto.Type {
// CHECK: = call %swift.type* @swift_getObjectType(%objc_object* %0)
// CHECK-NOT: {{retain|release}}
@@ -127,7 +127,7 @@ class Impl: FooProto, AnotherProto {
@objc var bar: Int32 = 0
}
// CHECK-LABEL: define hidden swiftcc %swift.type* @"$S7objc_ir27protocolCompositionMetatype1pSo12AnotherProto_So03FooG0pXpAA4ImplC_tF"(%T7objc_ir4ImplC*) {{.*}} {
// CHECK-LABEL: define hidden swiftcc %swift.type* @"$s7objc_ir27protocolCompositionMetatype1pSo12AnotherProto_So03FooG0pXpAA4ImplC_tF"(%T7objc_ir4ImplC*) {{.*}} {
func protocolCompositionMetatype(p: Impl) -> (FooProto & AnotherProto).Type {
// CHECK: = getelementptr inbounds %T7objc_ir4ImplC, %T7objc_ir4ImplC* %0, i32 0, i32 0, i32 0
// CHECK-NOT: {{retain|release}}
@@ -140,7 +140,7 @@ func protocolCompositionMetatype(p: Impl) -> (FooProto & AnotherProto).Type {
return type
} // CHECK: }
// CHECK-LABEL: define hidden swiftcc %swift.type* @"$S7objc_ir28protocolCompositionMetatype21pSo12AnotherProto_So03FooG0pXpAA4ImplC_tF"(%T7objc_ir4ImplC*) {{.*}} {
// CHECK-LABEL: define hidden swiftcc %swift.type* @"$s7objc_ir28protocolCompositionMetatype21pSo12AnotherProto_So03FooG0pXpAA4ImplC_tF"(%T7objc_ir4ImplC*) {{.*}} {
func protocolCompositionMetatype2(p: Impl) -> (FooProto & AnotherProto).Type {
// CHECK: = getelementptr inbounds %T7objc_ir4ImplC, %T7objc_ir4ImplC* %0, i32 0, i32 0, i32 0
// CHECK-NOT: {{retain|release}}
@@ -153,7 +153,7 @@ func protocolCompositionMetatype2(p: Impl) -> (FooProto & AnotherProto).Type {
return type
} // CHECK: }
// CHECK-LABEL: define hidden swiftcc void @"$S7objc_ir17pointerPropertiesyySo14PointerWrapperCF"(%TSo14PointerWrapperC*) {{.*}} {
// CHECK-LABEL: define hidden swiftcc void @"$s7objc_ir17pointerPropertiesyySo14PointerWrapperCF"(%TSo14PointerWrapperC*) {{.*}} {
func pointerProperties(_ obj: PointerWrapper) {
// CHECK: load i8*, i8** @"\01L_selector(setVoidPtr:)"
// CHECK: load i8*, i8** @"\01L_selector(setIntPtr:)"
@@ -163,17 +163,17 @@ func pointerProperties(_ obj: PointerWrapper) {
obj.idPtr = nil as AutoreleasingUnsafeMutablePointer?
}
// CHECK-LABEL: define hidden swiftcc void @"$S7objc_ir16strangeSelectorsyySo13SwiftNameTestCF"(%TSo13SwiftNameTestC*) {{.*}} {
// CHECK-LABEL: define hidden swiftcc void @"$s7objc_ir16strangeSelectorsyySo13SwiftNameTestCF"(%TSo13SwiftNameTestC*) {{.*}} {
func strangeSelectors(_ obj: SwiftNameTest) {
// CHECK: load i8*, i8** @"\01L_selector(:b:)"
obj.empty(a: 0, b: 0)
}
// CHECK-LABEL: define hidden swiftcc void @"$S7objc_ir20customFactoryMethodsyyF"() {{.*}} {
// CHECK-LABEL: define hidden swiftcc void @"$s7objc_ir20customFactoryMethodsyyF"() {{.*}} {
func customFactoryMethods() {
// CHECK: call swiftcc %TSo13SwiftNameTestC* @"$SSo13SwiftNameTestC10dummyParamAByt_tcfCTO"
// CHECK: call swiftcc %TSo13SwiftNameTestC* @"$SSo13SwiftNameTestC2ccABypSg_tcfCTO"
// CHECK: call swiftcc %TSo13SwiftNameTestC* @"$SSo13SwiftNameTestC5emptyABs5Int32V_tcfCTO"
// CHECK: call swiftcc %TSo13SwiftNameTestC* @"$sSo13SwiftNameTestC10dummyParamAByt_tcfCTO"
// CHECK: call swiftcc %TSo13SwiftNameTestC* @"$sSo13SwiftNameTestC2ccABypSg_tcfCTO"
// CHECK: call swiftcc %TSo13SwiftNameTestC* @"$sSo13SwiftNameTestC5emptyABs5Int32V_tcfCTO"
_ = SwiftNameTest(dummyParam: ())
_ = SwiftNameTest(cc: nil)
_ = SwiftNameTest(empty: 0)
@@ -188,13 +188,13 @@ func customFactoryMethods() {
_ = SwiftNameTest.empty(1, 2)
do {
// CHECK: call swiftcc %TSo18SwiftNameTestErrorC* @"$SSo18SwiftNameTestErrorC5errorAByt_tKcfCTO"
// CHECK: call swiftcc %TSo18SwiftNameTestErrorC* @"$SSo18SwiftNameTestErrorC2aa5errorABypSg_yttKcfCTO"
// CHECK: call swiftcc %TSo18SwiftNameTestErrorC* @"$SSo18SwiftNameTestErrorC2aa5error5blockABypSg_ytyyctKcfCTO"
// CHECK: call swiftcc %TSo18SwiftNameTestErrorC* @"$SSo18SwiftNameTestErrorC5error5blockAByt_yyctKcfCTO"
// CHECK: call swiftcc %TSo18SwiftNameTestErrorC* @"$SSo18SwiftNameTestErrorC2aaABypSg_tKcfCTO"
// CHECK: call swiftcc %TSo18SwiftNameTestErrorC* @"$SSo18SwiftNameTestErrorC2aa5blockABypSg_yyctKcfCTO"
// CHECK: call swiftcc %TSo18SwiftNameTestErrorC* @"$SSo18SwiftNameTestErrorC5blockAByyc_tKcfCTO"
// CHECK: call swiftcc %TSo18SwiftNameTestErrorC* @"$sSo18SwiftNameTestErrorC5errorAByt_tKcfCTO"
// CHECK: call swiftcc %TSo18SwiftNameTestErrorC* @"$sSo18SwiftNameTestErrorC2aa5errorABypSg_yttKcfCTO"
// CHECK: call swiftcc %TSo18SwiftNameTestErrorC* @"$sSo18SwiftNameTestErrorC2aa5error5blockABypSg_ytyyctKcfCTO"
// CHECK: call swiftcc %TSo18SwiftNameTestErrorC* @"$sSo18SwiftNameTestErrorC5error5blockAByt_yyctKcfCTO"
// CHECK: call swiftcc %TSo18SwiftNameTestErrorC* @"$sSo18SwiftNameTestErrorC2aaABypSg_tKcfCTO"
// CHECK: call swiftcc %TSo18SwiftNameTestErrorC* @"$sSo18SwiftNameTestErrorC2aa5blockABypSg_yyctKcfCTO"
// CHECK: call swiftcc %TSo18SwiftNameTestErrorC* @"$sSo18SwiftNameTestErrorC5blockAByyc_tKcfCTO"
_ = try SwiftNameTestError(error: ())
_ = try SwiftNameTestError(aa: nil, error: ())
_ = try SwiftNameTestError(aa: nil, error: (), block: {})
@@ -216,46 +216,46 @@ func customFactoryMethods() {
}
}
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo13SwiftNameTestC* @"$SSo13SwiftNameTestC10dummyParamAByt_tcfCTO"
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo13SwiftNameTestC* @"$sSo13SwiftNameTestC10dummyParamAByt_tcfCTO"
// CHECK: load i8*, i8** @"\01L_selector(b)"
// CHECK: }
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo13SwiftNameTestC* @"$SSo13SwiftNameTestC2ccABypSg_tcfCTO"
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo13SwiftNameTestC* @"$sSo13SwiftNameTestC2ccABypSg_tcfCTO"
// CHECK: load i8*, i8** @"\01L_selector(c:)"
// CHECK: }
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo18SwiftNameTestErrorC* @"$SSo18SwiftNameTestErrorC5errorAByt_tKcfCTO"
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo18SwiftNameTestErrorC* @"$sSo18SwiftNameTestErrorC5errorAByt_tKcfCTO"
// CHECK: load i8*, i8** @"\01L_selector(err1:)"
// CHECK: }
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo18SwiftNameTestErrorC* @"$SSo18SwiftNameTestErrorC2aa5errorABypSg_yttKcfCTO"
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo18SwiftNameTestErrorC* @"$sSo18SwiftNameTestErrorC2aa5errorABypSg_yttKcfCTO"
// CHECK: load i8*, i8** @"\01L_selector(err2:error:)"
// CHECK: }
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo18SwiftNameTestErrorC* @"$SSo18SwiftNameTestErrorC2aa5error5blockABypSg_ytyyctKcfCTO"
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo18SwiftNameTestErrorC* @"$sSo18SwiftNameTestErrorC2aa5error5blockABypSg_ytyyctKcfCTO"
// CHECK: load i8*, i8** @"\01L_selector(err3:error:callback:)"
// CHECK: }
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo18SwiftNameTestErrorC* @"$SSo18SwiftNameTestErrorC5error5blockAByt_yyctKcfCTO"
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo18SwiftNameTestErrorC* @"$sSo18SwiftNameTestErrorC5error5blockAByt_yyctKcfCTO"
// CHECK: load i8*, i8** @"\01L_selector(err4:callback:)"
// CHECK: }
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo18SwiftNameTestErrorC* @"$SSo18SwiftNameTestErrorC2aaABypSg_tKcfCTO"
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo18SwiftNameTestErrorC* @"$sSo18SwiftNameTestErrorC2aaABypSg_tKcfCTO"
// CHECK: load i8*, i8** @"\01L_selector(err5:error:)"
// CHECK: }
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo18SwiftNameTestErrorC* @"$SSo18SwiftNameTestErrorC2aa5blockABypSg_yyctKcfCTO"
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo18SwiftNameTestErrorC* @"$sSo18SwiftNameTestErrorC2aa5blockABypSg_yyctKcfCTO"
// CHECK: load i8*, i8** @"\01L_selector(err6:error:callback:)"
// CHECK: }
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo18SwiftNameTestErrorC* @"$SSo18SwiftNameTestErrorC5blockAByyc_tKcfCTO"
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo18SwiftNameTestErrorC* @"$sSo18SwiftNameTestErrorC5blockAByyc_tKcfCTO"
// CHECK: load i8*, i8** @"\01L_selector(err7:callback:)"
// CHECK: }
// CHECK-LABEL: define hidden swiftcc void @"$S7objc_ir29customFactoryMethodsInheritedyyF"() {{.*}} {
// CHECK-LABEL: define hidden swiftcc void @"$s7objc_ir29customFactoryMethodsInheritedyyF"() {{.*}} {
func customFactoryMethodsInherited() {
// CHECK: call swiftcc %TSo16SwiftNameTestSubC* @"$SSo16SwiftNameTestSubC10dummyParamAByt_tcfCTO"
// CHECK: call swiftcc %TSo16SwiftNameTestSubC* @"$SSo16SwiftNameTestSubC2ccABypSg_tcfCTO"
// CHECK: call swiftcc %TSo16SwiftNameTestSubC* @"$sSo16SwiftNameTestSubC10dummyParamAByt_tcfCTO"
// CHECK: call swiftcc %TSo16SwiftNameTestSubC* @"$sSo16SwiftNameTestSubC2ccABypSg_tcfCTO"
_ = SwiftNameTestSub(dummyParam: ())
_ = SwiftNameTestSub(cc: nil)
@@ -267,13 +267,13 @@ func customFactoryMethodsInherited() {
_ = SwiftNameTestSub.xx(nil, bb: nil)
do {
// CHECK: call swiftcc %TSo21SwiftNameTestErrorSubC* @"$SSo21SwiftNameTestErrorSubC5errorAByt_tKcfCTO"
// CHECK: call swiftcc %TSo21SwiftNameTestErrorSubC* @"$SSo21SwiftNameTestErrorSubC2aa5errorABypSg_yttKcfCTO"
// CHECK: call swiftcc %TSo21SwiftNameTestErrorSubC* @"$SSo21SwiftNameTestErrorSubC2aa5error5blockABypSg_ytyyctKcfCTO"
// CHECK: call swiftcc %TSo21SwiftNameTestErrorSubC* @"$SSo21SwiftNameTestErrorSubC5error5blockAByt_yyctKcfCTO"
// CHECK: call swiftcc %TSo21SwiftNameTestErrorSubC* @"$SSo21SwiftNameTestErrorSubC2aaABypSg_tKcfCTO"
// CHECK: call swiftcc %TSo21SwiftNameTestErrorSubC* @"$SSo21SwiftNameTestErrorSubC2aa5blockABypSg_yyctKcfCTO"
// CHECK: call swiftcc %TSo21SwiftNameTestErrorSubC* @"$SSo21SwiftNameTestErrorSubC5blockAByyc_tKcfCTO"
// CHECK: call swiftcc %TSo21SwiftNameTestErrorSubC* @"$sSo21SwiftNameTestErrorSubC5errorAByt_tKcfCTO"
// CHECK: call swiftcc %TSo21SwiftNameTestErrorSubC* @"$sSo21SwiftNameTestErrorSubC2aa5errorABypSg_yttKcfCTO"
// CHECK: call swiftcc %TSo21SwiftNameTestErrorSubC* @"$sSo21SwiftNameTestErrorSubC2aa5error5blockABypSg_ytyyctKcfCTO"
// CHECK: call swiftcc %TSo21SwiftNameTestErrorSubC* @"$sSo21SwiftNameTestErrorSubC5error5blockAByt_yyctKcfCTO"
// CHECK: call swiftcc %TSo21SwiftNameTestErrorSubC* @"$sSo21SwiftNameTestErrorSubC2aaABypSg_tKcfCTO"
// CHECK: call swiftcc %TSo21SwiftNameTestErrorSubC* @"$sSo21SwiftNameTestErrorSubC2aa5blockABypSg_yyctKcfCTO"
// CHECK: call swiftcc %TSo21SwiftNameTestErrorSubC* @"$sSo21SwiftNameTestErrorSubC5blockAByyc_tKcfCTO"
_ = try SwiftNameTestErrorSub(error: ())
_ = try SwiftNameTestErrorSub(aa: nil, error: ())
_ = try SwiftNameTestErrorSub(aa: nil, error: (), block: {})
@@ -295,44 +295,44 @@ func customFactoryMethodsInherited() {
}
}
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo16SwiftNameTestSubC* @"$SSo16SwiftNameTestSubC10dummyParamAByt_tcfCTO"
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo16SwiftNameTestSubC* @"$sSo16SwiftNameTestSubC10dummyParamAByt_tcfCTO"
// CHECK: load i8*, i8** @"\01L_selector(b)"
// CHECK: }
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo16SwiftNameTestSubC* @"$SSo16SwiftNameTestSubC2ccABypSg_tcfCTO"
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo16SwiftNameTestSubC* @"$sSo16SwiftNameTestSubC2ccABypSg_tcfCTO"
// CHECK: load i8*, i8** @"\01L_selector(c:)"
// CHECK: }
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo21SwiftNameTestErrorSubC* @"$SSo21SwiftNameTestErrorSubC5errorAByt_tKcfCTO"
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo21SwiftNameTestErrorSubC* @"$sSo21SwiftNameTestErrorSubC5errorAByt_tKcfCTO"
// CHECK: load i8*, i8** @"\01L_selector(err1:)"
// CHECK: }
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo21SwiftNameTestErrorSubC* @"$SSo21SwiftNameTestErrorSubC2aa5errorABypSg_yttKcfCTO"
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo21SwiftNameTestErrorSubC* @"$sSo21SwiftNameTestErrorSubC2aa5errorABypSg_yttKcfCTO"
// CHECK: load i8*, i8** @"\01L_selector(err2:error:)"
// CHECK: }
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo21SwiftNameTestErrorSubC* @"$SSo21SwiftNameTestErrorSubC2aa5error5blockABypSg_ytyyctKcfCTO"
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo21SwiftNameTestErrorSubC* @"$sSo21SwiftNameTestErrorSubC2aa5error5blockABypSg_ytyyctKcfCTO"
// CHECK: load i8*, i8** @"\01L_selector(err3:error:callback:)"
// CHECK: }
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo21SwiftNameTestErrorSubC* @"$SSo21SwiftNameTestErrorSubC5error5blockAByt_yyctKcfCTO"
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo21SwiftNameTestErrorSubC* @"$sSo21SwiftNameTestErrorSubC5error5blockAByt_yyctKcfCTO"
// CHECK: load i8*, i8** @"\01L_selector(err4:callback:)"
// CHECK: }
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo21SwiftNameTestErrorSubC* @"$SSo21SwiftNameTestErrorSubC2aaABypSg_tKcfCTO"
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo21SwiftNameTestErrorSubC* @"$sSo21SwiftNameTestErrorSubC2aaABypSg_tKcfCTO"
// CHECK: load i8*, i8** @"\01L_selector(err5:error:)"
// CHECK: }
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo21SwiftNameTestErrorSubC* @"$SSo21SwiftNameTestErrorSubC2aa5blockABypSg_yyctKcfCTO"
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo21SwiftNameTestErrorSubC* @"$sSo21SwiftNameTestErrorSubC2aa5blockABypSg_yyctKcfCTO"
// CHECK: load i8*, i8** @"\01L_selector(err6:error:callback:)"
// CHECK: }
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo21SwiftNameTestErrorSubC* @"$SSo21SwiftNameTestErrorSubC5blockAByyc_tKcfCTO"
// CHECK-LABEL: define linkonce_odr hidden swiftcc %TSo21SwiftNameTestErrorSubC* @"$sSo21SwiftNameTestErrorSubC5blockAByyc_tKcfCTO"
// CHECK: load i8*, i8** @"\01L_selector(err7:callback:)"
// CHECK: }
// CHECK-LABEL: define hidden swiftcc void @"$S7objc_ir30testCompatibilityAliasMangling3objySo13SwiftNameTestC_tF"
// CHECK-LABEL: define hidden swiftcc void @"$s7objc_ir30testCompatibilityAliasMangling3objySo13SwiftNameTestC_tF"
func testCompatibilityAliasMangling(obj: SwiftNameAlias) {
// CHECK: call void @llvm.dbg.declare(metadata %TSo13SwiftNameTestC** {{%.+}}, metadata ![[SWIFT_NAME_ALIAS_VAR:[0-9]+]], metadata !DIExpression())
}
@@ -345,14 +345,14 @@ func testConstrGenericCompatibilityAliasMangling(constr_generic_obj: SwiftConstr
// CHECK: call void @llvm.dbg.declare(metadata %TSo26SwiftConstrGenericNameTestCySo8NSNumberCG** {{%.+}}, metadata ![[SWIFT_CONSTR_GENERIC_NAME_ALIAS_VAR:[0-9]+]], metadata !DIExpression())
}
// CHECK-LABEL: S7objc_ir22testBlocksWithGenerics3hbaypSo13HasBlockArrayC_tF
// CHECK-LABEL: s7objc_ir22testBlocksWithGenerics3hbaypSo13HasBlockArrayC_tF
func testBlocksWithGenerics(hba: HasBlockArray) -> Any {
// CHECK: {{call swiftcc.*SSo13HasBlockArrayC05blockC0SayyyXBGyFTcTO}}
// CHECK: {{call swiftcc.*sSo13HasBlockArrayC05blockC0SayyyXBGyFTcTO}}
let _ = hba.blockPointerType()
return hba.blockArray
}
// CHECK: linkonce_odr hidden {{.*}} @"$SSo1BC3intABSgs5Int32V_tcfcTO"
// CHECK: linkonce_odr hidden {{.*}} @"$sSo1BC3intABSgs5Int32V_tcfcTO"
// CHECK: load i8*, i8** @"\01L_selector(initWithInt:)"
// CHECK: call [[OPAQUE:%.*]]* bitcast (void ()* @objc_msgSend
@@ -360,10 +360,10 @@ func testBlocksWithGenerics(hba: HasBlockArray) -> Any {
// CHECK: attributes [[NOUNWIND]] = { nounwind }
// CHECK: ![[SWIFT_NAME_ALIAS_VAR]] = !DILocalVariable(name: "obj", arg: 1, scope: !{{[0-9]+}}, file: !{{[0-9]+}}, line: {{[0-9]+}}, type: ![[SWIFT_NAME_ALIAS_TYPE:[0-9]+]])
// CHECK: ![[SWIFT_NAME_ALIAS_TYPE]] = !DIDerivedType(tag: DW_TAG_typedef, name: "$SSo14SwiftNameAliasaD", scope: !{{[0-9]+}}, file: !{{[0-9]+}}, baseType: !{{[0-9]+}})
// CHECK: ![[SWIFT_NAME_ALIAS_TYPE]] = !DIDerivedType(tag: DW_TAG_typedef, name: "$sSo14SwiftNameAliasaD", scope: !{{[0-9]+}}, file: !{{[0-9]+}}, baseType: !{{[0-9]+}})
// CHECK: ![[SWIFT_GENERIC_NAME_ALIAS_VAR]] = !DILocalVariable(name: "generic_obj", arg: 1, scope: !{{[0-9]+}}, file: !{{[0-9]+}}, line: {{[0-9]+}}, type: ![[SWIFT_GENERIC_NAME_ALIAS_TYPE:[0-9]+]])
// CHECK: ![[SWIFT_GENERIC_NAME_ALIAS_TYPE]] = !DIDerivedType(tag: DW_TAG_typedef, name: "$SSo21SwiftGenericNameAliasaySo8NSNumberCGD", scope: !{{[0-9]+}}, file: !{{[0-9]+}}, baseType: !{{[0-9]+}})
// CHECK: ![[SWIFT_GENERIC_NAME_ALIAS_TYPE]] = !DIDerivedType(tag: DW_TAG_typedef, name: "$sSo21SwiftGenericNameAliasaySo8NSNumberCGD", scope: !{{[0-9]+}}, file: !{{[0-9]+}}, baseType: !{{[0-9]+}})
// CHECK: ![[SWIFT_CONSTR_GENERIC_NAME_ALIAS_VAR]] = !DILocalVariable(name: "constr_generic_obj", arg: 1, scope: !{{[0-9]+}}, file: !{{[0-9]+}}, line: {{[0-9]+}}, type: ![[SWIFT_CONSTR_GENERIC_NAME_ALIAS_TYPE:[0-9]+]])
// CHECK: ![[SWIFT_CONSTR_GENERIC_NAME_ALIAS_TYPE]] = !DIDerivedType(tag: DW_TAG_typedef, name: "$SSo27SwiftConstrGenericNameAliasaySo8NSNumberCGD", scope: !{{[0-9]+}}, file: !{{[0-9]+}}, baseType: !{{[0-9]+}})
// CHECK: ![[SWIFT_CONSTR_GENERIC_NAME_ALIAS_TYPE]] = !DIDerivedType(tag: DW_TAG_typedef, name: "$sSo27SwiftConstrGenericNameAliasaySo8NSNumberCGD", scope: !{{[0-9]+}}, file: !{{[0-9]+}}, baseType: !{{[0-9]+}})

View File

@@ -12,11 +12,11 @@ class A {
@objc func foo() -> String? {
return ""
}
// CHECK-LABEL: sil hidden [thunk] @$S8optional1AC3fooSSSgyFTo : $@convention(objc_method) (A) -> @autoreleased Optional<NSString>
// CHECK-LABEL: sil hidden [thunk] @$s8optional1AC3fooSSSgyFTo : $@convention(objc_method) (A) -> @autoreleased Optional<NSString>
// CHECK: bb0([[SELF:%.*]] : @unowned $A):
// CHECK: [[SELF_COPY:%.*]] = copy_value [[SELF]]
// CHECK: [[BORROWED_SELF_COPY:%.*]] = begin_borrow [[SELF_COPY]]
// CHECK: [[T0:%.*]] = function_ref @$S8optional1AC3fooSSSgyF
// CHECK: [[T0:%.*]] = function_ref @$s8optional1AC3fooSSSgyF
// CHECK-NEXT: [[T1:%.*]] = apply [[T0]]([[BORROWED_SELF_COPY]])
// CHECK-NEXT: end_borrow [[BORROWED_SELF_COPY]]
// CHECK-NEXT: destroy_value [[SELF_COPY]]
@@ -24,7 +24,7 @@ class A {
//
// Something branch: project value, translate, inject into result.
// CHECK: [[SOME_BB]]([[STR:%.*]] : @owned $String):
// CHECK: [[T0:%.*]] = function_ref @$SSS10FoundationE19_bridgeToObjectiveCSo8NSStringCyF
// CHECK: [[T0:%.*]] = function_ref @$sSS10FoundationE19_bridgeToObjectiveCSo8NSStringCyF
// CHECK-NEXT: [[BORROWED_STR:%.*]] = begin_borrow [[STR]]
// CHECK-NEXT: [[T1:%.*]] = apply [[T0]]([[BORROWED_STR]])
// CHECK-NEXT: enum $Optional<NSString>, #Optional.some!enumelt.1, [[T1]]
@@ -41,7 +41,7 @@ class A {
// CHECK-NEXT: return [[T0]]
@objc func bar(x x : String?) {}
// CHECK-LABEL: sil hidden [thunk] @$S8optional1AC3bar1xySSSg_tFTo : $@convention(objc_method) (Optional<NSString>, A) -> ()
// CHECK-LABEL: sil hidden [thunk] @$s8optional1AC3bar1xySSSg_tFTo : $@convention(objc_method) (Optional<NSString>, A) -> ()
// CHECK: bb0([[ARG:%.*]] : @unowned $Optional<NSString>, [[SELF:%.*]] : @unowned $A):
// CHECK: [[ARG_COPY:%.*]] = copy_value [[ARG]]
// CHECK: [[SELF_COPY:%.*]] = copy_value [[SELF]]
@@ -49,7 +49,7 @@ class A {
//
// Something branch: project value, translate, inject into result.
// CHECK: [[SOME_BB]]([[NSSTR:%.*]] : @owned $NSString):
// CHECK: [[T0:%.*]] = function_ref @$SSS10FoundationE36_unconditionallyBridgeFromObjectiveCySSSo8NSStringCSgFZ
// CHECK: [[T0:%.*]] = function_ref @$sSS10FoundationE36_unconditionallyBridgeFromObjectiveCySSSo8NSStringCSgFZ
// Make a temporary initialized string that we're going to clobber as part of the conversion process (?).
// CHECK-NEXT: [[NSSTR_BOX:%.*]] = enum $Optional<NSString>, #Optional.some!enumelt.1, [[NSSTR]] : $NSString
// CHECK-NEXT: [[STRING_META:%.*]] = metatype $@thin String.Type
@@ -66,7 +66,7 @@ class A {
// CHECK: bb3([[T0:%.*]] : @owned $Optional<String>):
// CHECK: [[BORROWED_T0:%.*]] = begin_borrow [[T0]]
// CHECK: [[BORROWED_SELF_COPY:%.*]] = begin_borrow [[SELF_COPY]]
// CHECK: [[T1:%.*]] = function_ref @$S8optional1AC3bar1xySSSg_tF
// CHECK: [[T1:%.*]] = function_ref @$s8optional1AC3bar1xySSSg_tF
// CHECK-NEXT: [[T2:%.*]] = apply [[T1]]([[BORROWED_T0]], [[BORROWED_SELF_COPY]])
// CHECK-NEXT: end_borrow [[BORROWED_SELF_COPY]]
// CHECK-NEXT: end_borrow [[BORROWED_T0]]

View File

@@ -1,20 +1,20 @@
// RUN: %empty-directory(%t)
// RUN: %target-swift-frontend -emit-module-path %t/Test.swiftmodule -emit-sil -o /dev/null -module-name Test %s -sdk "" -import-objc-header %S/Inputs/serialization-sil.h -enable-sil-ownership
// RUN: %target-sil-func-extractor %t/Test.swiftmodule -sil-print-debuginfo -func='$S4Test16testPartialApplyyySoAA_pF' -o - | %FileCheck %s
// RUN: %target-sil-func-extractor %t/Test.swiftmodule -sil-print-debuginfo -func='$s4Test16testPartialApplyyySoAA_pF' -o - | %FileCheck %s
// REQUIRES: objc_interop
// @_transparent to force serialization.
@_transparent
public func testPartialApply(_ obj: Test) {
// CHECK-LABEL: @$S4Test16testPartialApplyyySoAA_pF : $@convention(thin) (@guaranteed Test) -> () {
// CHECK-LABEL: @$s4Test16testPartialApplyyySoAA_pF : $@convention(thin) (@guaranteed Test) -> () {
if let curried1 = obj.normalObject {
// CHECK: dynamic_method_br [[CURRIED1_OBJ:%.+]] : $@opened([[CURRIED1_EXISTENTIAL:.+]]) Test, #Test.normalObject!1.foreign, [[CURRIED1_TRUE:[^,]+]], [[CURRIED1_FALSE:[^,]+]]
// CHECK: [[CURRIED1_FALSE]]:
// CHECK: [[CURRIED1_TRUE]]([[CURRIED1_METHOD:%.+]] : $@convention(objc_method) (@opened([[CURRIED1_EXISTENTIAL]]) Test) -> @autoreleased AnyObject):
// CHECK: [[CURRIED1_PARTIAL:%.+]] = partial_apply [callee_guaranteed] [[CURRIED1_METHOD]]([[CURRIED1_OBJ]]) : $@convention(objc_method) (@opened([[CURRIED1_EXISTENTIAL]]) Test) -> @autoreleased AnyObject
// CHECK: [[CURRIED1_THUNK:%.+]] = function_ref @$SyXlIego_ypIegr_TR : $@convention(thin) (@guaranteed @callee_guaranteed () -> @owned AnyObject) -> @out Any
// CHECK: [[CURRIED1_THUNK:%.+]] = function_ref @$syXlIego_ypIegr_TR : $@convention(thin) (@guaranteed @callee_guaranteed () -> @owned AnyObject) -> @out Any
// CHECK: = partial_apply [callee_guaranteed] [[CURRIED1_THUNK]]([[CURRIED1_PARTIAL]])
curried1()
}
@@ -41,4 +41,4 @@ public func testPartialApply(_ obj: Test) {
// CHECK: = apply [[PROP2_PARTIAL]]() : $@callee_guaranteed () -> UnsafeMutableRawPointer
_ = prop2
}
} // CHECK: // end sil function '$S4Test16testPartialApplyyySoAA_pF'
} // CHECK: // end sil function '$s4Test16testPartialApplyyySoAA_pF'

View File

@@ -8,7 +8,7 @@
// CHECK: sil shared [serializable] [clang c_inline_func] @c_inline_func : $@convention(c) (Int32) -> Int32
// CHECK-IR-LABEL: define{{.*}} i32 @"$S13static_inline6testit1xs5Int32VAE_tF"(i32)
// CHECK-IR-LABEL: define{{.*}} i32 @"$s13static_inline6testit1xs5Int32VAE_tF"(i32)
// CHECK-IR: = add {{.*}}, 27
// CHECK-IR: ret

View File

@@ -8,7 +8,7 @@
// CHECK: sil shared_external [clang c_inline_func] @c_inline_func : $@convention(c) (Int32) -> Int32
// CHECK-IR-LABEL: define{{.*}} i32 @"$S4test6mytest1xs5Int32VAE_tF"(i32)
// CHECK-IR-LABEL: define{{.*}} i32 @"$s4test6mytest1xs5Int32VAE_tF"(i32)
// CHECK-IR: = add {{.*}}, 27
// CHECK-IR: ret

View File

@@ -9,10 +9,10 @@ class Sub : Base {
lazy override var foo: Int = 1
lazy override var bar: Int = 1
func test() -> Int {
// CHECK-LABEL: sil {{.*}}@$S18attr_override_lazy3SubC4testSiyF
// CHECK-LABEL: sil {{.*}}@$s18attr_override_lazy3SubC4testSiyF
// CHECK: class_method %0 : $Sub, #Sub.foo!getter.1
// CHECK: class_method %0 : $Sub, #Sub.bar!getter.1
// CHECK: // end sil function '$S18attr_override_lazy3SubC4testSiyF'
// CHECK: // end sil function '$s18attr_override_lazy3SubC4testSiyF'
return foo + bar // no ambiguity error here
}
}

View File

@@ -30,13 +30,13 @@ func genericOverload<T>(_: T?) {}
func genericOptional<T>(_: T?) {}
func genericNoOptional<T>(_: T) {}
// CHECK-LABEL: sil hidden @$S7ranking22propertyVersusFunctionyyAA1P_p_xtAaCRzlF
// CHECK-LABEL: sil hidden @$s7ranking22propertyVersusFunctionyyAA1P_p_xtAaCRzlF
func propertyVersusFunction<T : P>(_ p: P, _ t: T) {
// CHECK: witness_method $@opened("{{.*}}") P, #P.p!getter.1
let _ = p.p
// CHECK: witness_method $@opened("{{.*}}") P, #P.p!getter.1
let _: P = p.p
// CHECK: function_ref @$S7ranking1PP1pyyAaB_pFTc
// CHECK: function_ref @$s7ranking1PP1pyyAaB_pFTc
let _: (P) -> () = p.p
// CHECK: witness_method $@opened("{{.*}}") P, #P.p!getter.1
let _: P? = p.p
@@ -46,29 +46,29 @@ func propertyVersusFunction<T : P>(_ p: P, _ t: T) {
let _: Any? = p.p
// CHECK: witness_method $@opened("{{.*}}") P, #P.p!getter.1
// CHECK: function_ref @$S7ranking15genericOverloadyyxlF
// CHECK: function_ref @$s7ranking15genericOverloadyyxlF
genericOverload(p.p)
// CHECK: witness_method $@opened("{{.*}}") P, #P.q!getter.1
// CHECK: function_ref @$S7ranking15genericOverloadyyxSglF
// CHECK: function_ref @$s7ranking15genericOverloadyyxSglF
genericOverload(p.q)
// CHECK: witness_method $@opened("{{.*}}") P, #P.p!getter.1
// CHECK: function_ref @$S7ranking15genericOptionalyyxSglF
// CHECK: function_ref @$s7ranking15genericOptionalyyxSglF
genericOptional(p.p)
// CHECK: witness_method $@opened("{{.*}}") P, #P.q!getter.1
// CHECK: function_ref @$S7ranking15genericOptionalyyxSglF
// CHECK: function_ref @$s7ranking15genericOptionalyyxSglF
genericOptional(p.q)
// CHECK: witness_method $@opened("{{.*}}") P, #P.p!getter.1
// CHECK: function_ref @$S7ranking17genericNoOptionalyyxlF
// CHECK: function_ref @$s7ranking17genericNoOptionalyyxlF
genericNoOptional(p.p)
// CHECK: witness_method $@opened("{{.*}}") P, #P.q!getter.1
// CHECK: function_ref @$S7ranking17genericNoOptionalyyxlF
// CHECK: function_ref @$s7ranking17genericNoOptionalyyxlF
genericNoOptional(p.q)
// CHECK: witness_method $T, #P.p!getter.1
let _ = t.p
// CHECK: witness_method $T, #P.p!getter.1
let _: P = t.p
// CHECK: function_ref @$S7ranking1PP1pyyAaB_pFTc
// CHECK: function_ref @$s7ranking1PP1pyyAaB_pFTc
let _: (P) -> () = t.p
// CHECK: witness_method $T, #P.p!getter.1
let _: P? = t.p
@@ -78,22 +78,22 @@ func propertyVersusFunction<T : P>(_ p: P, _ t: T) {
let _: Any? = t.p
// CHECK: witness_method $T, #P.p!getter.1
// CHECK: function_ref @$S7ranking15genericOverloadyyxlF
// CHECK: function_ref @$s7ranking15genericOverloadyyxlF
genericOverload(t.p)
// CHECK: witness_method $T, #P.q!getter.1
// CHECK: function_ref @$S7ranking15genericOverloadyyxSglF
// CHECK: function_ref @$s7ranking15genericOverloadyyxSglF
genericOverload(t.q)
// CHECK: witness_method $T, #P.p!getter.1
// CHECK: function_ref @$S7ranking15genericOptionalyyxSglF
// CHECK: function_ref @$s7ranking15genericOptionalyyxSglF
genericOptional(t.p)
// CHECK: witness_method $T, #P.q!getter.1
// CHECK: function_ref @$S7ranking15genericOptionalyyxSglF
// CHECK: function_ref @$s7ranking15genericOptionalyyxSglF
genericOptional(t.q)
// CHECK: witness_method $T, #P.p!getter.1
// CHECK: function_ref @$S7ranking17genericNoOptionalyyxlF
// CHECK: function_ref @$s7ranking17genericNoOptionalyyxlF
genericNoOptional(t.p)
// CHECK: witness_method $T, #P.q!getter.1
// CHECK: function_ref @$S7ranking17genericNoOptionalyyxlF
// CHECK: function_ref @$s7ranking17genericNoOptionalyyxlF
genericNoOptional(t.q)
}
@@ -103,7 +103,7 @@ extension P {
let _ = self.p
// CHECK: witness_method $Self, #P.p!getter.1
let _: P = self.p
// CHECK: function_ref @$S7ranking1PP1pyyAaB_pFTc
// CHECK: function_ref @$s7ranking1PP1pyyAaB_pFTc
let _: (P) -> () = self.p
// CHECK: witness_method $Self, #P.p!getter.1
let _: P? = self.p
@@ -113,22 +113,22 @@ extension P {
let _: Any? = self.p
// CHECK: witness_method $Self, #P.p!getter.1
// CHECK: function_ref @$S7ranking15genericOverloadyyxlF
// CHECK: function_ref @$s7ranking15genericOverloadyyxlF
genericOverload(self.p)
// CHECK: witness_method $Self, #P.q!getter.1
// CHECK: function_ref @$S7ranking15genericOverloadyyxSglF
// CHECK: function_ref @$s7ranking15genericOverloadyyxSglF
genericOverload(self.q)
// CHECK: witness_method $Self, #P.p!getter.1
// CHECK: function_ref @$S7ranking15genericOptionalyyxSglF
// CHECK: function_ref @$s7ranking15genericOptionalyyxSglF
genericOptional(self.p)
// CHECK: witness_method $Self, #P.q!getter.1
// CHECK: function_ref @$S7ranking15genericOptionalyyxSglF
// CHECK: function_ref @$s7ranking15genericOptionalyyxSglF
genericOptional(self.q)
// CHECK: witness_method $Self, #P.p!getter.1
// CHECK: function_ref @$S7ranking17genericNoOptionalyyxlF
// CHECK: function_ref @$s7ranking17genericNoOptionalyyxlF
genericNoOptional(self.p)
// CHECK: witness_method $Self, #P.q!getter.1
// CHECK: function_ref @$S7ranking17genericNoOptionalyyxlF
// CHECK: function_ref @$s7ranking17genericNoOptionalyyxlF
genericNoOptional(self.q)
}
}
@@ -149,11 +149,11 @@ func f1(_ a: A) -> A { return a }
func f1(_ b: B) -> B { return b }
func testDerived(b: B) {
// CHECK-LABEL: sil hidden @$S7ranking11testDerived1byAA1BC_tF
// CHECK: function_ref @$S7ranking2f1yAA1BCADF
// CHECK: function_ref @$S7ranking2f0yyxlF
// CHECK-LABEL: sil hidden @$s7ranking11testDerived1byAA1BC_tF
// CHECK: function_ref @$s7ranking2f1yAA1BCADF
// CHECK: function_ref @$s7ranking2f0yyxlF
f0(f1(b))
// CHECK: end sil function '$S7ranking11testDerived1byAA1BC_tF'
// CHECK: end sil function '$s7ranking11testDerived1byAA1BC_tF'
}
protocol X {
@@ -191,81 +191,81 @@ extension GenericClass {
// Make sure we favour the class implementation over the protocol requirement.
// CHECK-LABEL: sil hidden @$S7ranking32testGenericPropertyProtocolClassyyxAA1YCRbzAA1XRzlF
// CHECK-LABEL: sil hidden @$s7ranking32testGenericPropertyProtocolClassyyxAA1YCRbzAA1XRzlF
func testGenericPropertyProtocolClass<T : X & Y>(_ t: T) {
_ = t.foo // CHECK: class_method {{%.*}} : $Y, #Y.foo!getter.1
_ = t.bar // CHECK: function_ref @$S7ranking1YC3barSivg
_ = t.bar // CHECK: function_ref @$s7ranking1YC3barSivg
_ = t.baz() // CHECK: class_method {{%.*}} : $Y, #Y.baz
_ = t[""] // CHECK: class_method {{%.*}} : $Y, #Y.subscript!getter.1
}
// CHECK-LABEL: sil hidden @$S7ranking36testExistentialPropertyProtocolClassyyAA1X_AA1YCXcF
// CHECK-LABEL: sil hidden @$s7ranking36testExistentialPropertyProtocolClassyyAA1X_AA1YCXcF
func testExistentialPropertyProtocolClass(_ t: X & Y) {
_ = t.foo // CHECK: class_method {{%.*}} : $Y, #Y.foo!getter.1
_ = t.bar // CHECK: function_ref @$S7ranking1YC3barSivg
_ = t.bar // CHECK: function_ref @$s7ranking1YC3barSivg
_ = t.baz() // CHECK: class_method {{%.*}} : $Y, #Y.baz
_ = t[""] // CHECK: class_method {{%.*}} : $Y, #Y.subscript!getter.1
}
// CHECK-LABEL: sil hidden @$S7ranking46testGenericPropertySubclassConstrainedProtocolyyxAA1ZRzlF
// CHECK-LABEL: sil hidden @$s7ranking46testGenericPropertySubclassConstrainedProtocolyyxAA1ZRzlF
func testGenericPropertySubclassConstrainedProtocol<T : Z>(_ t: T) {
_ = t.foo // CHECK: class_method {{%.*}} : $Y, #Y.foo!getter.1
_ = t.bar // CHECK: function_ref @$S7ranking1YC3barSivg
_ = t.bar // CHECK: function_ref @$s7ranking1YC3barSivg
_ = t.baz() // CHECK: class_method {{%.*}} : $Y, #Y.baz
_ = t[""] // CHECK: class_method {{%.*}} : $Y, #Y.subscript!getter.1
}
// CHECK-LABEL: sil hidden @$S7ranking50testExistentialPropertySubclassConstrainedProtocolyyAA1Z_pF
// CHECK-LABEL: sil hidden @$s7ranking50testExistentialPropertySubclassConstrainedProtocolyyAA1Z_pF
func testExistentialPropertySubclassConstrainedProtocol(_ t: Z) {
_ = t.foo // CHECK: class_method {{%.*}} : $Y, #Y.foo!getter.1
_ = t.bar // CHECK: function_ref @$S7ranking1YC3barSivg
_ = t.bar // CHECK: function_ref @$s7ranking1YC3barSivg
_ = t.baz() // CHECK: class_method {{%.*}} : $Y, #Y.baz
_ = t[""] // CHECK: class_method {{%.*}} : $Y, #Y.subscript!getter.1
}
// CHECK-LABEL: sil hidden @$S7ranking43testExistentialPropertyProtocolGenericClassyyAA1X_AA0fG0CySiGXcF
// CHECK-LABEL: sil hidden @$s7ranking43testExistentialPropertyProtocolGenericClassyyAA1X_AA0fG0CySiGXcF
func testExistentialPropertyProtocolGenericClass(_ t: GenericClass<Int> & X) {
_ = t.foo // CHECK: class_method {{%.*}} : $GenericClass<Int>, #GenericClass.foo!getter.1
_ = t.bar // CHECK: function_ref @$S7ranking12GenericClassC3barxvg
_ = t.bar // CHECK: function_ref @$s7ranking12GenericClassC3barxvg
_ = t.baz() // CHECK: class_method {{%.*}} : $GenericClass<Int>, #GenericClass.baz
_ = t[""] // CHECK: function_ref @$S7ranking12GenericClassCySiSScig
_ = t[""] // CHECK: function_ref @$s7ranking12GenericClassCySiSScig
}
// CHECK-LABEL: sil hidden @$S7ranking43testExistentialPropertyProtocolGenericClassyyAA1X_AA0fG0CySSGXcF
// CHECK-LABEL: sil hidden @$s7ranking43testExistentialPropertyProtocolGenericClassyyAA1X_AA0fG0CySSGXcF
func testExistentialPropertyProtocolGenericClass(_ t: GenericClass<String> & X) {
_ = t.foo // CHECK: class_method {{%.*}} : $GenericClass<String>, #GenericClass.foo!getter.1
_ = t.bar // CHECK: function_ref @$S7ranking12GenericClassC3barxvg
_ = t.bar // CHECK: function_ref @$s7ranking12GenericClassC3barxvg
_ = t.baz() // CHECK: class_method {{%.*}} : $GenericClass<String>, #GenericClass.baz
_ = t[""] // CHECK: function_ref @$S7ranking12GenericClassCySiSScig
_ = t[""] // CHECK: function_ref @$s7ranking12GenericClassCySiSScig
}
extension X where Self : Y {
// CHECK-LABEL: sil hidden @$S7ranking1XPA2A1YCRbzrlE32testGenericPropertyProtocolClassyyxF
// CHECK-LABEL: sil hidden @$s7ranking1XPA2A1YCRbzrlE32testGenericPropertyProtocolClassyyxF
func testGenericPropertyProtocolClass(_ x: Self) {
_ = self.foo // CHECK: class_method {{%.*}} : $Y, #Y.foo!getter.1
_ = self.bar // CHECK: function_ref @$S7ranking1YC3barSivg
_ = self.bar // CHECK: function_ref @$s7ranking1YC3barSivg
_ = self.baz() // CHECK: class_method {{%.*}} : $Y, #Y.baz
_ = self[""] // CHECK: class_method {{%.*}} : $Y, #Y.subscript!getter.1
}
}
extension X where Self : GenericClass<Int> {
// CHECK-LABEL: sil hidden @$S7ranking1XPA2A12GenericClassCySiGRbzrlE04testb16PropertyProtocolbC0yyxF
// CHECK-LABEL: sil hidden @$s7ranking1XPA2A12GenericClassCySiGRbzrlE04testb16PropertyProtocolbC0yyxF
func testGenericPropertyProtocolGenericClass(_ x: Self) {
_ = self.foo // CHECK: class_method {{%.*}} : $GenericClass<Int>, #GenericClass.foo!getter.1
_ = self.bar // CHECK: function_ref @$S7ranking12GenericClassC3barxvg
_ = self.bar // CHECK: function_ref @$s7ranking12GenericClassC3barxvg
_ = self.baz() // CHECK: class_method {{%.*}} : $GenericClass<Int>, #GenericClass.baz
_ = self[""] // CHECK: function_ref @$S7ranking12GenericClassCySiSScig
_ = self[""] // CHECK: function_ref @$s7ranking12GenericClassCySiSScig
}
}
extension X where Self : GenericClass<String> {
// CHECK-LABEL: sil hidden @$S7ranking1XPA2A12GenericClassCySSGRbzrlE04testb16PropertyProtocolbC0yyxF
// CHECK-LABEL: sil hidden @$s7ranking1XPA2A12GenericClassCySSGRbzrlE04testb16PropertyProtocolbC0yyxF
func testGenericPropertyProtocolGenericClass(_ x: Self) {
_ = self.foo // CHECK: class_method {{%.*}} : $GenericClass<String>, #GenericClass.foo!getter.1
_ = self.bar // CHECK: function_ref @$S7ranking12GenericClassC3barxvg
_ = self.bar // CHECK: function_ref @$s7ranking12GenericClassC3barxvg
_ = self.baz() // CHECK: class_method {{%.*}} : $GenericClass<String>, #GenericClass.baz
_ = self[""] // CHECK: function_ref @$S7ranking12GenericClassCySiSScig
_ = self[""] // CHECK: function_ref @$s7ranking12GenericClassCySiSScig
}
}
@@ -274,16 +274,16 @@ extension X where Self : GenericClass<String> {
//--------------------------------------------------------------------
struct UnsafePointerStruct {
// CHECK-LABEL: sil hidden @$S7ranking19UnsafePointerStructVyACSPyxGSgclufC : $@convention(method) <U> (Optional<UnsafePointer<U>>, @thin UnsafePointerStruct.Type) -> UnsafePointerStruct
// CHECK-LABEL: sil hidden @$s7ranking19UnsafePointerStructVyACSPyxGSgclufC : $@convention(method) <U> (Optional<UnsafePointer<U>>, @thin UnsafePointerStruct.Type) -> UnsafePointerStruct
init<U>(_ from: UnsafePointer<U>) {}
init<U>(_ from: UnsafePointer<U>?) {
// CHECK: function_ref @$S7ranking19UnsafePointerStructVyACSPyxGclufC : $@convention(method) <τ_0_0> (UnsafePointer<τ_0_0>, @thin UnsafePointerStruct.Type) -> UnsafePointerStruct
// CHECK: function_ref @$s7ranking19UnsafePointerStructVyACSPyxGclufC : $@convention(method) <τ_0_0> (UnsafePointer<τ_0_0>, @thin UnsafePointerStruct.Type) -> UnsafePointerStruct
self.init(from!)
}
}
// CHECK-LABEL: sil hidden @$S7ranking22useUnsafePointerStructyySPyxGlF : $@convention(thin) <U> (UnsafePointer<U>) -> ()
// CHECK-LABEL: sil hidden @$s7ranking22useUnsafePointerStructyySPyxGlF : $@convention(thin) <U> (UnsafePointer<U>) -> ()
func useUnsafePointerStruct<U>(_ ptr: UnsafePointer<U>) {
// CHECK: function_ref @$S7ranking19UnsafePointerStructVyACSPyxGclufC : $@convention(method) <τ_0_0> (UnsafePointer<τ_0_0>, @thin UnsafePointerStruct.Type) -> UnsafePointerStruct
// CHECK: function_ref @$s7ranking19UnsafePointerStructVyACSPyxGclufC : $@convention(method) <τ_0_0> (UnsafePointer<τ_0_0>, @thin UnsafePointerStruct.Type) -> UnsafePointerStruct
let _: UnsafePointerStruct = UnsafePointerStruct(ptr)
}

View File

@@ -8,5 +8,5 @@ func foo(_ a: (Int) -> (Int)) -> Int {
return 42
}
// CHECK: function_ref @$S12rdar351421213fooyS3iXEF : $@convention(thin) (@noescape @callee_guaranteed (Int) -> Int) -> Int
// CHECK: function_ref @$s12rdar351421213fooyS3iXEF : $@convention(thin) (@noescape @callee_guaranteed (Int) -> Int) -> Int
let _ = foo({ (a: Int) -> Int in a + 1 })

View File

@@ -3,11 +3,11 @@
func foo(a: Int) {}
func foo(q: String = "", a: Int) {}
// CHECK: function_ref @$S12rdar362268743foo1aySi_tF : $@convention(thin) (Int) -> ()
// CHECK: function_ref @$s12rdar362268743foo1aySi_tF : $@convention(thin) (Int) -> ()
foo(a: 42)
func bar(a: Int, c: Int) {}
func bar(a: Int, b: Int = 0, c: Int) {}
// CHECK: function_ref @$S12rdar362268743bar1a1cySi_SitF : $@convention(thin) (Int, Int) -> ()
// CHECK: function_ref @$s12rdar362268743bar1a1cySi_SitF : $@convention(thin) (Int, Int) -> ()
bar(a: 0, c: 42)

View File

@@ -10,12 +10,12 @@ func baz(a1: @autoclosure () -> Int,
a2: () -> Int,
b1: () throws -> Int,
b2: () -> Int) {
// CHECK: function_ref @$S12rdar371606793fooyySiyXKF
// CHECK: function_ref @$s12rdar371606793fooyySiyXKF
foo(a1)
// CHECK: function_ref @$S12rdar371606793fooyySiyXEF
// CHECK: function_ref @$s12rdar371606793fooyySiyXEF
foo(a2)
// CHECK: function_ref @$S12rdar371606793baryySiyKXEF
// CHECK: function_ref @$s12rdar371606793baryySiyKXEF
bar(b1)
// CHECK: function_ref @$S12rdar371606793baryySiyXEF
// CHECK: function_ref @$s12rdar371606793baryySiyXEF
bar(b2)
}

View File

@@ -7,5 +7,5 @@ func foo<T>(_: Any?) -> T {
fatalError()
}
// CHECK: function_ref @$S12rdar386258243fooyxyplF : $@convention(thin) <τ_0_0> (@in_guaranteed Any) -> @out τ_0_0
// CHECK: function_ref @$s12rdar386258243fooyxyplF : $@convention(thin) <τ_0_0> (@in_guaranteed Any) -> @out τ_0_0
var _: String = foo("hello")

View File

@@ -1,7 +1,7 @@
// RUN: %target-swift-frontend %s -emit-ir -g -o - | %FileCheck %s
struct Foo {
// Allocating constructor - should have no line table info.
// CHECK: !DISubprogram(name: "init", linkageName: "$S12Constructors3FooV1xACs5Int64V_tcfC",
// CHECK: !DISubprogram(name: "init", linkageName: "$s12Constructors3FooV1xACs5Int64V_tcfC",
// CHECK-SAME: line: [[@LINE+3]]
// CHECK-NOT: scopeLine: 0
// CHECK-SAME: isDefinition: true

View File

@@ -1,7 +1,7 @@
// RUN: %target-swift-frontend %s -emit-ir -g -o - | %FileCheck %s
public class Foo {
// CHECK: !DISubprogram(name: "deinit", linkageName: "$S11Destructors3FooCfD"
// CHECK: !DISubprogram(name: "deinit", linkageName: "$s11Destructors3FooCfD"
// CHECK-SAME: line: [[@LINE-2]]
// CHECK-SAME: isDefinition: true
var x : Int64

View File

@@ -10,11 +10,11 @@ class C {
extension C {
class func Factory() -> Self {
// Currently we emit the static type C for r.
// CHECK: ![[BASE:.*]] = !DICompositeType({{.*}}identifier: "$S11DynamicSelf1CCD"
// CHECK: ![[BASE:.*]] = !DICompositeType({{.*}}identifier: "$s11DynamicSelf1CCD"
// CHECK: !DILocalVariable(name: "r",
// CHECK-SAME: line: [[@LINE+4]], type: ![[SELFTY:[0-9]+]])
// CHECK: ![[SELFTY]] = !DIDerivedType(tag: DW_TAG_typedef,
// CHECK-SAME: name: "$S11DynamicSelf1CCXDD",
// CHECK-SAME: name: "$s11DynamicSelf1CCXDD",
// CHECK-SAME: baseType: ![[BASE]])
let r = self.init(number: 0)
return r

View File

@@ -5,7 +5,7 @@ public class C<T>
func c(_ i : T)
{
// Ensure that the type metadata for T is eagerly loaded at -Onone.
// CHECK: define {{.*}} @"$S17EagerTypeMetadata1CC1cyyxF"
// CHECK: define {{.*}} @"$s17EagerTypeMetadata1CC1cyyxF"
// CHECK: %T = load %swift.type*, %swift.type**
// CHECK-SAME: !dbg ![[LOC:[0-9]+]], !invariant.load
// CHECK: ![[LOC]] = !DILocation(line: 0,

View File

@@ -11,10 +11,10 @@ enum MyError : Error {
// thrown error we create a shadow stack location holding the address of the
// location that holds the pointer to the error instead.
func simple(_ placeholder: Int64) throws -> () {
// CHECK: define {{.*}}void @"$S8ErrorVar6simpleyys5Int64VKF"(i64, %swift.refcounted* swiftself, %swift.error** noalias nocapture dereferenceable(4))
// CHECK: define {{.*}}void @"$s8ErrorVar6simpleyys5Int64VKF"(i64, %swift.refcounted* swiftself, %swift.error** noalias nocapture dereferenceable(4))
// CHECK: call void @llvm.dbg.declare
// CHECK: call void @llvm.dbg.declare({{.*}}, metadata ![[ERROR:[0-9]+]], metadata !DIExpression(DW_OP_deref))
// CHECK: ![[ERRTY:.*]] = !DICompositeType({{.*}}identifier: "$Ss5Error_pD"
// CHECK: ![[ERRTY:.*]] = !DICompositeType({{.*}}identifier: "$ss5Error_pD"
// CHECK: ![[ERROR]] = !DILocalVariable(name: "$error", arg: 2,
// CHECK-SAME: type: ![[ERRTY]],
// CHECK-SAME: flags: DIFlagArtificial)

View File

@@ -46,4 +46,4 @@ struct h<i>{
}
}
// CHECK: define linkonce_odr hidden %swift.opaque* @"$S4main1mVwCP"
// CHECK: define linkonce_odr hidden %swift.opaque* @"$s4main1mVwCP"

View File

@@ -11,7 +11,7 @@ class AClass : AProtocol {
init() { x = 0xDEADBEEF }
func print() { markUsed("x = \(x)")}
}
// CHECK: define hidden {{.*}}void @"$S17ProtocolContainer3foo{{[_0-9a-zA-Z]*}}F"
// CHECK: define hidden {{.*}}void @"$s17ProtocolContainer3foo{{[_0-9a-zA-Z]*}}F"
// CHECK-NEXT: entry:
// CHECK: %[[X:.*]] = alloca %T17ProtocolContainer9AProtocolP, align {{(4|8)}}
// CHECK: call void @llvm.dbg.declare(metadata %T17ProtocolContainer9AProtocolP* %[[X]], metadata ![[XMD:.*]], metadata !DIExpression())

View File

@@ -5,7 +5,7 @@ class A {
class B { }
// CHECK: define {{.*}} @"$S11WeakCapture8functionyyF"()
// CHECK: define {{.*}} @"$s11WeakCapture8functionyyF"()
func function() {
let b = B()

View File

@@ -16,12 +16,12 @@
// CHECK-DWARF-NEXT: AT_name ("main")
// CHECK-DWARF: TAG_structure_type
// CHECK-DWARF-NEXT: AT_name ("foo")
// CHECK-DWARF-NEXT: AT_linkage_name ("$S4main3fooCD")
// CHECK-DWARF-NEXT: AT_linkage_name ("$s4main3fooCD")
// Verify the IR interface:
// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "foo"
// CHECK-SAME: line: [[@LINE+2]]
// CHECK-SAME: identifier: "$S4main3fooCD"
// CHECK-SAME: identifier: "$s4main3fooCD"
class foo {
var x : Int64 = 1
}

View File

@@ -10,7 +10,7 @@ protocol RandomAccessIndex : IntegerArithmetic {
}
// archetype.ExistentialTuple <A : RandomAccessIndex, B>(x : A, y : A) -> B
// CHECK: !DISubprogram(name: "ExistentialTuple", linkageName: "$S9archetype16ExistentialTuple
// CHECK: !DISubprogram(name: "ExistentialTuple", linkageName: "$s9archetype16ExistentialTuple
// CHECK-SAME: line: [[@LINE+2]]
// CHECK-SAME: isDefinition: true
func ExistentialTuple<T: RandomAccessIndex>(_ x: T, y: T) -> T.Distance {
@@ -22,5 +22,5 @@ func ExistentialTuple<T: RandomAccessIndex>(_ x: T, y: T) -> T.Distance {
return _overflowChecked((tmp.0, tmp.1))
}
// CHECK: ![[TT]] = !DICompositeType(tag: DW_TAG_structure_type,
// CHECK-SAME: name: "$S8DistanceQz_SbtD"
// CHECK-SAME: name: "$s8DistanceQz_SbtD"

View File

@@ -3,7 +3,7 @@
func markUsed<T>(_ t: T) {}
class C<A> {
// CHECK: ![[A:.*]] = !DICompositeType(tag: DW_TAG_structure_type,{{.*}}identifier: "$SxD"
// CHECK: ![[A:.*]] = !DICompositeType(tag: DW_TAG_structure_type,{{.*}}identifier: "$sxD"
// CHECK: !DILocalVariable(name: "x", arg: 1,
// CHECK-SAME: line: [[@LINE+7]],
// CHECK-SAME: type: ![[A]]
@@ -11,7 +11,7 @@ class C<A> {
// CHECK-SAME: line: [[@LINE+4]],
// CHECK-SAME: type: ![[B:[0-9]+]]
// CHECK: ![[B]] = !DICompositeType(tag: DW_TAG_structure_type,
// CHECK-SAME: identifier: "$Sqd__D"
// CHECK-SAME: identifier: "$sqd__D"
func foo<B>(_ x: A, y :B) {
markUsed("hello world")
}

View File

@@ -24,9 +24,9 @@ class SwiftClass {
var strongRef0 : ObjCClass
var strongRef1 : SwiftClass = SwiftClass()
// CHECK-DAG: !DIDerivedType(tag: DW_TAG_typedef, name: "$S10attributes10SwiftClassCSgXwD"
// CHECK-DAG: !DIDerivedType(tag: DW_TAG_typedef, name: "$s10attributes10SwiftClassCSgXwD"
weak var weakRef1 : SwiftClass? = strongRef1
// CHECK-DAG: !DIDerivedType(tag: DW_TAG_typedef, name: "$S10attributes10SwiftClassCXoD"
// CHECK-DAG: !DIDerivedType(tag: DW_TAG_typedef, name: "$s10attributes10SwiftClassCXoD"
unowned var unownedRef1 : SwiftClass
protocol Protocol1 : class {

View File

@@ -1,6 +1,6 @@
// RUN: %target-swift-frontend %s -emit-ir -g -o - | %FileCheck %s
// CHECK: define{{.*}}@"$S11autoclosure7call_meyys5Int64VF"
// CHECK: define{{.*}}@"$s11autoclosure7call_meyys5Int64VF"
// CHECK-NOT: ret void
// CHECK: call void @llvm.dbg.declare{{.*}}, !dbg
// CHECK-NOT: ret void
@@ -21,7 +21,7 @@ func &&&&&(lhs: Bool, rhs: @autoclosure () -> Bool) -> Bool {
func call_me(_ input: Int64) -> Void {
// rdar://problem/14627460
// An autoclosure should have a line number in the debug info and a scope line of 0.
// CHECK-DAG: !DISubprogram({{.*}}linkageName: "$S11autoclosure7call_meyys5Int64VFSbyXKfu_",{{.*}} isLocal: true, isDefinition: true
// CHECK-DAG: !DISubprogram({{.*}}linkageName: "$s11autoclosure7call_meyys5Int64VFSbyXKfu_",{{.*}} isLocal: true, isDefinition: true
// But not in the line table.
// CHECK-DAG: ![[DBG]] = !DILocation(line: [[@LINE+1]],
if input != 0 &&&&& ( get_truth (input * 2 + 1) > 0 ) {

View File

@@ -78,7 +78,7 @@ func foo(_ a: Int64, _ b: Int64) -> Int64 {
// Function type for foo.
// CHECK-DAG: ![[FOOTYPE]] = !DISubroutineType(types: ![[PARAMTYPES:[0-9]+]])
// CHECK-DAG: ![[INT64:.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "Int64", {{.*}}, identifier: "$Ss5Int64VD")
// CHECK-DAG: ![[INT64:.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "Int64", {{.*}}, identifier: "$ss5Int64VD")
// CHECK-DAG: ![[PARAMTYPES]] = !{![[INT64]], ![[INT64]], ![[INT64]]}
// Import of the main module with the implicit name.
// CHECK-DAG: !DIImportedEntity(tag: DW_TAG_imported_module, scope: ![[MAINFILE]], entity: ![[MAINMODULE:[0-9]+]], file: ![[MAINFILE]])

View File

@@ -5,7 +5,7 @@
func markUsed<T>(_ t: T) {}
// Int1 uses 1 bit, but is aligned at 8 bits.
// CHECK: !DIBasicType(name: "$SBi1_D", size: 1, encoding: DW_ATE_unsigned)
// CHECK: !DIBasicType(name: "$sBi1_D", size: 1, encoding: DW_ATE_unsigned)
// Bool has a fixed layout with a storage size of 1 byte and 7 "spare" bits.
// CHECK_G: !DICompositeType(tag: DW_TAG_structure_type, name: "Bool",
// CHECK_G-SAME: size: 8

View File

@@ -11,5 +11,5 @@ func dispatch_queue_create() -> dispatch_queue_t! {
// CHECK: !DIGlobalVariable(name: "queue",
// CHECK-SAME: line: [[@LINE+3]], type: ![[T:[0-9]+]]
// CHECK: ![[T]] = !DICompositeType(
// CHECK-SAME: identifier: "$S4main16dispatch_queue_taSgD"
// CHECK-SAME: identifier: "$s4main16dispatch_queue_taSgD"
public var queue = dispatch_queue_create()

View File

@@ -8,7 +8,7 @@ func makeIncrementor(_ inc : Int64) -> () -> Int64
// CHECK: call void @llvm.dbg.declare(metadata %Ts5Int64V**
// CHECK-SAME: metadata ![[SUM_CAPTURE:[0-9]+]],
// CHECK-SAME: metadata !DIExpression(DW_OP_deref))
// CHECK: ![[INOUTTY:[0-9]+]] = !DICompositeType({{.*}}identifier: "$Ss5Int64VD"
// CHECK: ![[INOUTTY:[0-9]+]] = !DICompositeType({{.*}}identifier: "$ss5Int64VD"
// CHECK: ![[SUM_CAPTURE]] = !DILocalVariable(name: "sum", arg: 1,
// CHECK-SAME: line: [[@LINE-8]], type: ![[INOUTTY]]
sum += inc

View File

@@ -3,7 +3,7 @@ class C {
func withClosure(_ : () -> ()) -> () {}
func f() {
// CHECK: define{{.*}}$S11capturelist1CC1fyyFyyXEfU_
// CHECK: define{{.*}}$s11capturelist1CC1fyyFyyXEfU_
// There should not be a local weak variable "self" shadowing the
// implicit self argument.
// let self

View File

@@ -6,7 +6,7 @@ public class NSCoder : NSObject {}
public class AClass : NSObject {
// Ensure that the call to the type metadata accessor has a line number.
// CHECK: call swiftcc %swift.metadata_response @"$S11cleanupskip7NSCoderCMa"
// CHECK: call swiftcc %swift.metadata_response @"$s11cleanupskip7NSCoderCMa"
// CHECK-SAME: !dbg ![[LINEZ:[0-9]+]]
// CHECK: ![[LINEZ]] = {{.*}}line: 0
public required init?(coder aDecoder: NSCoder) {

View File

@@ -3,7 +3,7 @@
public class C {
// Test that curry thunks don't have line table entries.
// CHECK: define {{.*}}@"$S4main1CC11someHandleryyFTc"(%T4main1CC*)
// CHECK: define {{.*}}@"$s4main1CC11someHandleryyFTc"(%T4main1CC*)
// CHECK-SAME: !dbg ![[CURRY_THUNK:[0-9]+]]
// CHECK-NOT: ret {{.*}},
// CHECK: {{.*}}, !dbg ![[DBG:[0-9]+]]

View File

@@ -10,7 +10,7 @@ func main() -> Void
var out_only = 2013
var backward_ptr =
// CHECK: define internal {{.*}} i1 @"$S4mainAAyyFSbSS_SStcfU_"(
// CHECK: define internal {{.*}} i1 @"$s4mainAAyyFSbSS_SStcfU_"(
// CHECK: %[[RANDOM_STR_ADDR:.*]] = alloca %TSS*, align {{(4|8)}}
// FIXME(TODO: JIRA): i386 String is temporarily larger, and that causes the

View File

@@ -40,4 +40,4 @@ demo()
// CHECK-O0-NOT: DW_OP_bit_piece
// CHECK-O0: !DILocalVariable(name: "b", arg: 2{{.*}} line: 18,
// CHECK-O0-NOT: DW_OP_bit_piece
// CHECK-O0: !DISubprogram(linkageName: "$SS2SSbs5Error_pIgggdzo_S2SSbsAA_pIegnndzo_TR",
// CHECK-O0: !DISubprogram(linkageName: "$sS2SSbs5Error_pIgggdzo_S2SSbsAA_pIegnndzo_TR",

View File

@@ -14,7 +14,7 @@ func foldl1<T>(_ list: [T], _ function: (_ a: T, _ b: T) -> T) -> T {
var a = [Int64](repeating: 0, count: 10)
for i in 0..<10 { a[i] = Int64(i) }
// A closure is not an artificial function (the last i32 0).
// CHECK: !DISubprogram({{.*}}linkageName: "$S7closures5Int64VAC_ACtXEfU_",{{.*}} line: 20,{{.*}} scopeLine: 20,
// CHECK: !DISubprogram({{.*}}linkageName: "$s7closures5Int64VAC_ACtXEfU_",{{.*}} line: 20,{{.*}} scopeLine: 20,
// CHECK: !DILocalVariable(name: "$0", arg: 1{{.*}} line: [[@LINE+2]],
// CHECK: !DILocalVariable(name: "$1", arg: 2{{.*}} line: [[@LINE+1]],
var sum:Int64 = foldl1(a, { $0 + $1 })

View File

@@ -16,7 +16,7 @@ public class M {
// Verify that definite initialization doesn't create a bogus description of
// self pointing to the liveness bitvector.
// CHECK: sil @$S4main1MC4fromAcA12WithDelegate_p_tKcfc
// CHECK: sil @$s4main1MC4fromAcA12WithDelegate_p_tKcfc
// CHECK: bb0
// CHECK-NEXT: %2 = alloc_stack $Builtin.Int2
// CHECK-NOT: let

View File

@@ -4,10 +4,10 @@
// Verify that -Onone shadow copies are emitted for debug_value_addr
// instructions.
// CHECK-SIL: sil hidden @$S16debug_value_addr4testyyxlF
// CHECK-SIL: sil hidden @$s16debug_value_addr4testyyxlF
// CHECK-SIL: debug_value_addr %0 : $*T, let, name "t"
// CHECK: define {{.*}}$S16debug_value_addr4testyyxlF
// CHECK: define {{.*}}$s16debug_value_addr4testyyxlF
// CHECK: entry:
// CHECK-NEXT: %[[TADDR:.*]] = alloca
// CHECK-NEXT: call void @llvm.dbg.declare({{.*}}%[[TADDR]]

View File

@@ -12,26 +12,26 @@ enum Either {
// CHECK-SAME: size: {{328|168}},
}
// CHECK: ![[EMPTY:.*]] = !{}
// DWARF: ![[INT:.*]] = !DICompositeType({{.*}}identifier: "$SSiD"
// DWARF: ![[INT:.*]] = !DICompositeType({{.*}}identifier: "$sSiD"
let E : Either = .Neither;
// CHECK: !DICompositeType({{.*}}name: "Color",
// CHECK-SAME: line: [[@LINE+3]]
// CHECK-SAME: size: 8,
// CHECK-SAME: identifier: "$S4enum5ColorOD"
// CHECK-SAME: identifier: "$s4enum5ColorOD"
enum Color : UInt64 {
// This is effectively a 2-bit bitfield:
// DWARF: !DIDerivedType(tag: DW_TAG_member, name: "Red"
// DWARF-SAME: baseType: ![[UINT64:[0-9]+]]
// DWARF-SAME: size: 8{{[,)]}}
// DWARF: ![[UINT64]] = !DICompositeType({{.*}}identifier: "$Ss6UInt64VD"
// DWARF: ![[UINT64]] = !DICompositeType({{.*}}identifier: "$ss6UInt64VD"
case Red, Green, Blue
}
// CHECK: !DICompositeType({{.*}}name: "MaybeIntPair",
// CHECK-SAME: line: [[@LINE+3]],
// CHECK-SAME: size: 136{{[,)]}}
// CHECK-SAME: identifier: "$S4enum12MaybeIntPairOD"
// CHECK-SAME: identifier: "$s4enum12MaybeIntPairOD"
enum MaybeIntPair {
// DWARF: !DIDerivedType(tag: DW_TAG_member, name: "none"
// DWARF-SAME: baseType: ![[INT]]{{[,)]}}
@@ -39,7 +39,7 @@ enum MaybeIntPair {
// DWARF: !DIDerivedType(tag: DW_TAG_member, name: "just"
// DWARF-SAME: baseType: ![[INTTUP:[0-9]+]]
// DWARF-SAME: size: 128{{[,)]}}
// DWARF: ![[INTTUP]] = !DICompositeType({{.*}}identifier: "$Ss5Int64V_ABtD"
// DWARF: ![[INTTUP]] = !DICompositeType({{.*}}identifier: "$ss5Int64V_ABtD"
case just(Int64, Int64)
}
@@ -53,7 +53,7 @@ let c = MaybeIntPair.just(74, 75)
// CHECK: !DICompositeType({{.*}}name: "Maybe",
// CHECK-SAME: line: [[@LINE-8]],
// CHECK-SAME: size: 8{{[,)]}}
// CHECK-SAME: identifier: "$S4enum5MaybeOyAA5ColorOGD"
// CHECK-SAME: identifier: "$s4enum5MaybeOyAA5ColorOGD"
let movie : Maybe<Color> = .none
public enum Nothing { }
@@ -61,26 +61,26 @@ public func foo(_ empty : Nothing) { }
// CHECK: !DICompositeType({{.*}}name: "Nothing", {{.*}}elements: ![[EMPTY]]
// CHECK: !DICompositeType({{.*}}name: "Rose", {{.*}}elements: ![[ELTS:[0-9]+]],
// CHECK-SAME: {{.*}}identifier: "$S4enum4RoseOyxG{{z?}}D")
// CHECK-SAME: {{.*}}identifier: "$s4enum4RoseOyxG{{z?}}D")
enum Rose<A> {
case MkRose(() -> A, () -> [Rose<A>])
// DWARF: !DICompositeType({{.*}}name: "Rose",{{.*}}identifier: "$S4enum4RoseOyxGD")
// DWARF: !DICompositeType({{.*}}name: "Rose",{{.*}}identifier: "$s4enum4RoseOyxGD")
case IORose(() -> Rose<A>)
}
func foo<T>(_ x : Rose<T>) -> Rose<T> { return x }
// CHECK: !DICompositeType({{.*}}name: "Tuple", {{.*}}elements: ![[ELTS:[0-9]+]], {{.*}}identifier: "$S4enum5TupleOyxGD")
// CHECK: !DICompositeType({{.*}}name: "Tuple", {{.*}}elements: ![[ELTS:[0-9]+]], {{.*}}identifier: "$s4enum5TupleOyxGD")
// DWARF: !DICompositeType({{.*}}name: "Tuple", {{.*}}elements: ![[ELTS:[0-9]+]],
// DWARF-SAME: {{.*}}identifier: "$S4enum5TupleOyxG{{z?}}D")
// DWARF-SAME: {{.*}}identifier: "$s4enum5TupleOyxG{{z?}}D")
public enum Tuple<P> {
// DWARF: !DICompositeType({{.*}}name: "Tuple",{{.*}}identifier: "$S4enum5TupleOyxGD")
// DWARF: !DICompositeType({{.*}}name: "Tuple",{{.*}}identifier: "$s4enum5TupleOyxGD")
case C(P, () -> Tuple)
}
func bar<T>(_ x : Tuple<T>) -> Tuple<T> { return x }
// CHECK: ![[LIST:.*]] = !DICompositeType({{.*}}identifier: "$S4enum4ListOyxGD"
// CHECK: ![[LIST:.*]] = !DICompositeType({{.*}}identifier: "$s4enum4ListOyxGD"
// CHECK: !DILocalVariable(name: "self", arg: 1, {{.*}} line: [[@LINE+4]], type: ![[LIST]], flags: DIFlagArtificial)
public enum List<T> {
indirect case Tail(List, T)

View File

@@ -3,14 +3,14 @@
// CHECK-DAG: ![[SINODE:.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "Int64",{{.*}} identifier: [[SI:.*]])
// CHECK-DAG: ![[SFNODE:.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "Float",{{.*}} identifier: [[SF:.*]])
// CHECK-DAG: ![[VOIDNODE:.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "$SytD",{{.*}} identifier: [[VOID:.*]])
// CHECK-DAG: ![[VOIDNODE:.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "$sytD",{{.*}} identifier: [[VOID:.*]])
func bar() {}
func baz(_ i: Float) -> Int64 { return 0; }
func barz(_ i: Float, _ j: Float) -> Int64 { return 0; }
func main() -> Int64 {
// CHECK-DAG: !DILocalVariable(name: "bar_fnptr",{{.*}} line: [[@LINE+3]],{{.*}} type: ![[BARPT:[0-9]+]]
// AST-DAG: !DILocalVariable(name: "bar_fnptr",{{.*}} line: [[@LINE+2]],{{.*}} type: ![[BAR_T:[0-9]+]]
// AST-DAG: ![[BAR_T]] = !DICompositeType({{.*}}, identifier: "$SIeg_D")
// AST-DAG: ![[BAR_T]] = !DICompositeType({{.*}}, identifier: "$sIeg_D")
var bar_fnptr = bar
// CHECK-DAG: ![[BARPT]] = !DICompositeType(tag: DW_TAG_structure_type, {{.*}} elements: ![[BARMEMBERS:[0-9]+]]
// CHECK-DAG: ![[BARMEMBERS]] = !{![[BARMEMBER:.*]], {{.*}}}
@@ -18,26 +18,26 @@ func main() -> Int64 {
// CHECK-DAG: ![[BARPTR]] = !DIDerivedType(tag: DW_TAG_pointer_type,{{.*}} baseType: ![[BART:[0-9]+]]
// CHECK-DAG: ![[BART]] = !DISubroutineType(types: ![[BARARGS:[0-9]+]])
// CHECK-DAG: ![[BARARGS]] = !{![[VOID:.*]]}
// CHECK-DAG: ![[VOID]] = {{.*}}identifier: "$SytD"
// CHECK-DAG: ![[VOID]] = {{.*}}identifier: "$sytD"
bar_fnptr();
// CHECK-DAG: !DILocalVariable(name: "baz_fnptr",{{.*}} type: ![[BAZPT:[0-9]+]]
// AST-DAG: !DILocalVariable(name: "baz_fnptr",{{.*}} type: ![[BAZ_T:[0-9]+]]
// AST-DAG: ![[BAZ_T]] = !DICompositeType({{.*}}, identifier: "$SSfs5Int64VIegyd_D")
// AST-DAG: ![[BAZ_T]] = !DICompositeType({{.*}}, identifier: "$sSfs5Int64VIegyd_D")
// CHECK-DAG: ![[BAZPT]] = !DICompositeType(tag: DW_TAG_structure_type, {{.*}} elements: ![[BAZMEMBERS:[0-9]+]]
// CHECK-DAG: ![[BAZMEMBERS]] = !{![[BAZMEMBER:.*]], {{.*}}}
// CHECK-DAG: ![[BAZMEMBER]] = !DIDerivedType(tag: DW_TAG_member,{{.*}} baseType: ![[BAZPTR:[0-9]+]]
// CHECK-DAG: ![[BAZPTR]] = !DIDerivedType(tag: DW_TAG_pointer_type,{{.*}} baseType: ![[BAZT:[0-9]+]]
// CHECK-DAG: ![[BAZT]] = !DISubroutineType(types: ![[BAZARGS:.*]])
// CHECK-DAG: ![[BAZARGS]] = !{![[INT:.*]], ![[FLOAT:.*]]}
// CHECK-DAG: ![[INT]] = {{.*}}identifier: "$Ss5Int64VD"
// CHECK-DAG: ![[FLOAT]] = {{.*}}identifier: "$SSfD"
// CHECK-DAG: ![[INT]] = {{.*}}identifier: "$ss5Int64VD"
// CHECK-DAG: ![[FLOAT]] = {{.*}}identifier: "$sSfD"
var baz_fnptr = baz
baz_fnptr(2.89)
// CHECK-DAG: !DILocalVariable(name: "barz_fnptr",{{.*}} type: ![[BARZPT:[0-9]+]]
// AST_DAG: !DILocalVariable(name: "barz_fnptr",{{.*}} type: ![[BARZ_T:[0-9]+]]
// AST-DAG: ![[BARZ_T:[0-9]+]] = !DICompositeType({{.*}}, identifier: "$SS2fs5Int64VIegyyd_D")
// AST-DAG: ![[BARZ_T:[0-9]+]] = !DICompositeType({{.*}}, identifier: "$sS2fs5Int64VIegyyd_D")
// CHECK-DAG: ![[BARZPT]] = !DICompositeType(tag: DW_TAG_structure_type,{{.*}} elements: ![[BARZMEMBERS:[0-9]+]]
// CHECK-DAG: ![[BARZMEMBERS]] = !{![[BARZMEMBER:.*]], {{.*}}}
// CHECK-DAG: ![[BARZMEMBER]] = !DIDerivedType(tag: DW_TAG_member,{{.*}} baseType: ![[BARZPTR:[0-9]+]]

View File

@@ -1,7 +1,7 @@
// RUN: %target-swift-frontend %s -emit-ir -g -o - | %FileCheck %s
import StdlibUnittest
func foo<T>(_ x: T) -> () {
// CHECK: define {{.*}} @"$S11generic_arg3fooyyxlF"
// CHECK: define {{.*}} @"$s11generic_arg3fooyyxlF"
// CHECK: %[[T:.*]] = alloca %swift.type*
// CHECK: call void @llvm.dbg.declare(metadata %swift.type** %[[T]],
// CHECK-SAME: metadata ![[T1:.*]], metadata !DIExpression())
@@ -14,7 +14,7 @@ func foo<T>(_ x: T) -> () {
// CHECK-SAME: flags: DIFlagArtificial)
// CHECK: ![[X1]] = !DILocalVariable(name: "x", arg: 1,
// CHECK-SAME: line: 3, type: ![[TY:.*]])
// CHECK: ![[TY]] = !DICompositeType({{.*}}identifier: "$SxD")
// CHECK: ![[TY]] = !DICompositeType({{.*}}identifier: "$sxD")
_blackHole(x)
}

View File

@@ -1,6 +1,6 @@
// RUN: %target-swift-frontend %s -emit-ir -g -o - | %FileCheck %s
// CHECK: define hidden swiftcc void @"$S12generic_arg25ClassC3foo{{.*}}, %swift.type* %U
// CHECK: define hidden swiftcc void @"$s12generic_arg25ClassC3foo{{.*}}, %swift.type* %U
// CHECK: call void @llvm.dbg.declare(metadata %swift.opaque** %y.debug, metadata ![[U:.*]], metadata !DIExpression())
// Make sure there is no conflicting dbg.value for this variable.x
// CHECK-NOT: dbg.value{{.*}}metadata ![[U]]

View File

@@ -4,12 +4,12 @@ func apply<Type>(_ T : Type, fn: (Type) -> Type) -> Type { return fn(T) }
public func f<Type>(_ value : Type)
{
// CHECK: define {{.*}}$S12generic_arg31fyyxlFxxXEfU_
// CHECK: define {{.*}}$s12generic_arg31fyyxlFxxXEfU_
// CHECK: call void @llvm.dbg.declare(metadata %swift.opaque** %[[ALLOCA:[^,]+]],
// CHECK-SAME: metadata ![[ARG:.*]], metadata !DIExpression())
// CHECK: store %swift.opaque* %1, %swift.opaque** %[[ALLOCA]], align
// No deref here.
// CHECK: ![[TY:.*]] = !DICompositeType({{.*}}identifier: "$SxD"
// CHECK: ![[TY:.*]] = !DICompositeType({{.*}}identifier: "$sxD"
// CHECK: ![[ARG]] = !DILocalVariable(name: "arg", arg: 1,
// CHECK-SAME: line: [[@LINE+1]], type: ![[TY]])
apply(value) { arg in return arg }

View File

@@ -3,13 +3,13 @@
public struct Q<T> {
let x: T
}
// CHECK: define {{.*}}$S12generic_arg43fooyySayAA1QVyxGGlF
// CHECK: define {{.*}}$s12generic_arg43fooyySayAA1QVyxGGlF
// CHECK: call void @llvm.dbg.declare
// CHECK: call void @llvm.dbg.declare(metadata %[[TY:.*]]** %[[ALLOCA:[^,]+]],
// CHECK-SAME: metadata ![[ARG:.*]], metadata !DIExpression())
// CHECK: store %[[TY]]* %0, %[[TY]]** %[[ALLOCA]], align
// No deref here: the array argument is passed by value.
// CHECK: ![[DITY:.*]] = !DICompositeType({{.*}}identifier: "$SSay12generic_arg41QVyxGGD")
// CHECK: ![[DITY:.*]] = !DICompositeType({{.*}}identifier: "$sSay12generic_arg41QVyxGGD")
public func foo<T>(_ arg: [Q<T>]) {
// CHECK: ![[ARG]] = !DILocalVariable(name: "arg", arg: 1,
// CHECK-SAME: line: [[@LINE-2]], type: ![[DITY:.*]])

View File

@@ -6,7 +6,7 @@ public struct S<Type>
public func foo<Type>(_ values : [S<Type>])
{
// CHECK: define {{.*}}$S12generic_arg53fooyySayAA1SVyxGGlFAESgAEXEfU_
// CHECK: define {{.*}}$s12generic_arg53fooyySayAA1SVyxGGlFAESgAEXEfU_
// CHECK: call void @llvm.dbg.declare
// CHECK: call void @llvm.dbg.declare(metadata %[[TY:.*]]** %[[ALLOCA:[^,]+]],
// CHECK-SAME: metadata ![[ARG:[0-9]+]],
@@ -17,7 +17,7 @@ public func foo<Type>(_ values : [S<Type>])
// CHECK-SAME: line: [[@LINE+4]],
// CHECK-SAME: type: ![[TY:.*]])
// CHECK: ![[TY]] = !DICompositeType(
// CHECK-SAME: identifier: "$S12generic_arg51SVyxGD")
// CHECK-SAME: identifier: "$s12generic_arg51SVyxGD")
let _ = values.flatMap { arg in
return .some(arg)
}

View File

@@ -13,14 +13,14 @@ class AnotherClass : AProtocol {
func f() -> String { return "B" }
}
// CHECK-DAG: !DICompositeType(tag: DW_TAG_structure_type, name: "$Sq_D",{{.*}} elements: ![[PROTOS:[0-9]+]]
// CHECK-DAG: !DICompositeType(tag: DW_TAG_structure_type, name: "$sq_D",{{.*}} elements: ![[PROTOS:[0-9]+]]
// CHECK-DAG: ![[PROTOS]] = !{![[INHERIT:.*]]}
// CHECK-DAG: ![[INHERIT]] = !DIDerivedType(tag: DW_TAG_inheritance,{{.*}} baseType: ![[PROTOCOL:[0-9]+]]
// CHECK-DAG: ![[PROTOCOL]] = !DICompositeType(tag: DW_TAG_structure_type, name: "$S12generic_args9AProtocol_pmD",
// CHECK-DAG: ![[PROTOCOL]] = !DICompositeType(tag: DW_TAG_structure_type, name: "$s12generic_args9AProtocol_pmD",
// CHECK-DAG: !DILocalVariable(name: "x", arg: 1,{{.*}} type: ![[T:.*]])
// CHECK-DAG: ![[T]] = !DICompositeType(tag: DW_TAG_structure_type, name: "$SxD"
// CHECK-DAG: ![[T]] = !DICompositeType(tag: DW_TAG_structure_type, name: "$sxD"
// CHECK-DAG: !DILocalVariable(name: "y", arg: 2,{{.*}} type: ![[Q:.*]])
// CHECK-DAG: ![[Q]] = !DICompositeType(tag: DW_TAG_structure_type, name: "$Sq_D"
// CHECK-DAG: ![[Q]] = !DICompositeType(tag: DW_TAG_structure_type, name: "$sq_D"
func aFunction<T : AProtocol, Q : AProtocol>(_ x: T, _ y: Q, _ z: String) {
markUsed("I am in \(z): \(x.f()) \(y.f())")
}
@@ -30,14 +30,14 @@ aFunction(AClass(),AnotherClass(),"aFunction")
struct Wrapper<T: AProtocol> {
init<U>(from : Wrapper<U>) {
// CHECK-DAG: !DICompositeType(tag: DW_TAG_structure_type, name: "Wrapper",{{.*}} identifier: "$S12generic_args7WrapperVyqd__GD")
// CHECK-DAG: !DICompositeType(tag: DW_TAG_structure_type, name: "Wrapper",{{.*}} identifier: "$s12generic_args7WrapperVyqd__GD")
var wrapped = from
wrapped = from
_ = wrapped
}
func passthrough(_ t: T) -> T {
// CHECK-DAG: ![[WRAPPER:.*]] = !DICompositeType({{.*}}identifier: "$S12generic_args7WrapperVyxGD")
// CHECK-DAG: ![[WRAPPER:.*]] = !DICompositeType({{.*}}identifier: "$s12generic_args7WrapperVyxGD")
// CHECK-DAG: !DILocalVariable(name: "local",{{.*}} line: [[@LINE+1]],{{.*}} type: ![[T]]
var local = t
local = t
@@ -45,7 +45,7 @@ struct Wrapper<T: AProtocol> {
}
}
// CHECK-DAG: ![[FNTY:.*]] = !DICompositeType({{.*}}identifier: "$Sxq_Ignr_D"
// CHECK-DAG: ![[FNTY:.*]] = !DICompositeType({{.*}}identifier: "$sxq_Ignr_D"
// CHECK-DAG: !DILocalVariable(name: "f", {{.*}}, line: [[@LINE+1]], type: ![[FNTY]])
func apply<T, U> (_ x: T, f: (T) -> (U)) -> U {
return f(x)

View File

@@ -16,9 +16,9 @@ func unwrapTrivialGeneric<T, U>(_ tg: TrivialGeneric<T, U>) -> (T, U) {
func wrapTrivialGeneric<T, U>(_ t: T, u: U) -> TrivialGeneric<T, U> {
return .x(t, u)
}
// CHECK-DAG: ![[T1:.*]] = !DICompositeType({{.*}}identifier: "$S12generic_enum14TrivialGenericOys5Int64VSSGD"
// CHECK-DAG: ![[T1:.*]] = !DICompositeType({{.*}}identifier: "$s12generic_enum14TrivialGenericOys5Int64VSSGD"
// CHECK-DAG: !DIGlobalVariable(name: "tg",{{.*}} line: [[@LINE+2]],{{.*}} type: ![[T1]],{{.*}} isLocal: false, isDefinition: true
// CHECK-DAG: !DICompositeType({{.*}}, name: "TrivialGeneric", {{.*}}identifier: "$S12generic_enum14TrivialGenericOys5Int64VSSGD"
// CHECK-DAG: !DICompositeType({{.*}}, name: "TrivialGeneric", {{.*}}identifier: "$s12generic_enum14TrivialGenericOys5Int64VSSGD"
var tg : TrivialGeneric<Int64, String> = .x(23, "skidoo")
switch tg {
case .x(var t, var u):

View File

@@ -5,7 +5,7 @@ struct CErrorOr<T>
{
var value : T?
init(x : __CurrentErrno) {
// CHECK: define hidden {{.*}}void @"$S20generic_enum_closure8CErrorOrV1xACyxGAA14__CurrentErrnoV_tcfC"
// CHECK: define hidden {{.*}}void @"$s20generic_enum_closure8CErrorOrV1xACyxGAA14__CurrentErrnoV_tcfC"
// CHECK-NOT: define
// This is a SIL-level debug_value_addr instruction.
// CHECK: call void @llvm.dbg.declare
@@ -16,7 +16,7 @@ struct CErrorOr<T>
// CHECK-DAG: store i8* %[[DYN:.*]], i8** %[[SHADOW]]
// CHECK-DAG: %[[DYN]] = alloca i8, i{{32|64}} %
// CHECK-DAG: ![[SELF]] = !DILocalVariable(name: "self", scope:{{.*}}, type: ![[T1:.*]])
// CHECK-DAG: ![[T1]] = !DICompositeType({{.*}}, identifier: "$S20generic_enum_closure8CErrorOrVyxGD")
// CHECK-DAG: ![[T1]] = !DICompositeType({{.*}}, identifier: "$s20generic_enum_closure8CErrorOrVyxGD")
value = .none
}
}

View File

@@ -16,9 +16,9 @@ let small = Size(w: 1, h: 2)
// Needs out-of-line allocation
let large = Rectangle(p: Point(x: 1, y: 2), s: Size(w: 3, h: 4), color: 5)
// CHECK: @"$S17global_resilience5small16resilient_struct4SizeVvp" =
// CHECK: @"$s17global_resilience5small16resilient_struct4SizeVvp" =
// CHECK-SAME: !dbg ![[SMALL:[0-9]+]]
// CHECK: @"$S17global_resilience5large16resilient_struct9RectangleVvp" =
// CHECK: @"$s17global_resilience5large16resilient_struct9RectangleVvp" =
// CHECK-SAME: !dbg ![[LARGE:[0-9]+]]
// CHECK: ![[SMALL]] = !DIGlobalVariableExpression(

View File

@@ -4,9 +4,9 @@
// RUN: %FileCheck %s --check-prefix=CHECK_OUT_SIL < %t/out.ir.gsil_0.sil
// CHECK: [[F:![0-9]+]] = !DIFile(filename: "out.ir.gsil_0.sil", directory: "{{.+}}")
// CHECK: !DISubprogram(linkageName: "$S3out6testityyF", scope: !{{[0-9]+}}, file: [[F]], line: {{[1-9][0-9]+}},
// CHECK: !DISubprogram(linkageName: "$s3out6testityyF", scope: !{{[0-9]+}}, file: [[F]], line: {{[1-9][0-9]+}},
// CHECK_OUT_SIL: sil @$S3out6testityyF : $@convention(thin) () -> () {
// CHECK_OUT_SIL: sil @$s3out6testityyF : $@convention(thin) () -> () {
public func testit() {
print("Hello")
}

View File

@@ -9,7 +9,7 @@ func use<T>(_ t: T) {}
public func f(_ i : Int?)
{
// CHECK1-LABEL: define {{.*}}@"$S4main1fyySiSgF"
// CHECK1-LABEL: define {{.*}}@"$s4main1fyySiSgF"
// CHECK1: %i.debug = alloca %TSiSg
// CHECK1: @llvm.dbg.declare(metadata %TSiSg* %i.debug
// CHECK1: %[[BITCAST:.*]] = bitcast %TSiSg* %i.debug to i8*
@@ -17,7 +17,7 @@ public func f(_ i : Int?)
// CHECK1-SAME: i8 0, i64 {{(5|9)}}, i1 false){{$}}
// CHECK1: @llvm.dbg.declare(metadata {{(i32|i64)}}* %val.debug,
// CHECK1-SAME: !dbg ![[DBG0:.*]]
// CHECK1-LABEL: define {{.*}}@"$S4main1gyySSSgF"
// CHECK1-LABEL: define {{.*}}@"$s4main1gyySSSgF"
// CHECK1: ![[F:.*]] = distinct !DISubprogram(name: "f",
// CHECK1: ![[BLK:.*]] = distinct !DILexicalBlock(scope: ![[F]],
// CHECK1: ![[DBG0]] = !DILocation(line: [[@LINE+1]],
@@ -35,7 +35,7 @@ public func f(_ i : Int?)
public func g(_ s : String?)
{
// CHECK2: define {{.*}}@"$S4main1gyySSSgF"
// CHECK2: define {{.*}}@"$s4main1gyySSSgF"
// CHECK2: %s.debug = alloca %TSSSg
// CHECK2: @llvm.dbg.declare(metadata %TSSSg*
// CHECK2: %val.debug = alloca %TSS

View File

@@ -4,7 +4,7 @@
// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "Protocol",
// CHECK-SAME: scope: ![[ObjectiveC:[0-9]+]]
// CHECK-SAME: identifier: "$SSo8ProtocolCD"
// CHECK-SAME: identifier: "$sSo8ProtocolCD"
// CHECK: ![[ObjectiveC]] = !DIModule({{.*}}, name: "ObjectiveC"
import Foundation

View File

@@ -7,11 +7,11 @@ protocol Named {
}
// initializer.Person.__allocating_init (initializer.Person.Type)() -> initializer.Person
// CHECK: define hidden {{.*}}%T11initializer6PersonC* @"$S11initializer6PersonCACycfC"(%swift.type*{{.*}}) {{.*}} {
// CHECK: call {{.*}}%T11initializer6PersonC* @"$S11initializer6PersonCACycfc"(%T11initializer6PersonC* {{.*}}), !dbg ![[ALLOCATING_INIT:.*]]
// CHECK: define hidden {{.*}}%T11initializer6PersonC* @"$s11initializer6PersonCACycfC"(%swift.type*{{.*}}) {{.*}} {
// CHECK: call {{.*}}%T11initializer6PersonC* @"$s11initializer6PersonCACycfc"(%T11initializer6PersonC* {{.*}}), !dbg ![[ALLOCATING_INIT:.*]]
// initializer.Person.init (initializer.Person.Type)() -> initializer.Person
// CHECK: define hidden {{.*}}%T11initializer6PersonC* @"$S11initializer6PersonCACycfc"(%T11initializer6PersonC*{{.*}}) {{.*}} {
// CHECK: define hidden {{.*}}%T11initializer6PersonC* @"$s11initializer6PersonCACycfc"(%T11initializer6PersonC*{{.*}}) {{.*}} {
// CHECK-DAG: ![[ALLOCATING_INIT]] = !DILocation(line: 0, scope
class Person : Named {

View File

@@ -28,7 +28,7 @@ func yes() -> Bool { return true }
}
}
// SIL: sil_scope [[F:.*]] { {{.*}}parent @$S1A1CC1fyyqd__lF
// SIL: sil_scope [[F:.*]] { {{.*}}parent @$s1A1CC1fyyqd__lF
// SIL: sil_scope [[F1:.*]] { loc "f.swift":1:28 parent [[F]] }
// SIL: sil_scope [[F1G:.*]] { loc "f.swift":2:5 parent [[F1]] }
// SIL: sil_scope [[F1G1:.*]] { loc "g.swift":2:3 {{.*}}inlined_at [[F1G]] }
@@ -44,7 +44,7 @@ public class C<R> {
init(_ _r: R) { r = _r }
// SIL: // C.f<A>(_:)
// IR: define {{.*}} @"$S1A1CC1fyyqd__lF"
// IR: define {{.*}} @"$s1A1CC1fyyqd__lF"
#sourceLocation(file: "f.swift", line: 1)
public func f<S>(_ s: S) {
// SIL: debug_value_addr %0 : $*S, let, name "s", argno 1,{{.*}} scope [[F]]
@@ -84,29 +84,29 @@ public class C<R> {
// IR: ![[BOOL:[0-9]+]] = !DICompositeType({{.*}}name: "Bool"
// IR: ![[INT:[0-9]+]] = !DICompositeType({{.*}}name: "Int"
// IR: ![[TAU_0_0:[0-9]+]] = {{.*}}DW_TAG_structure_type, name: "$SxD",
// IR: ![[TAU_0_0:[0-9]+]] = {{.*}}DW_TAG_structure_type, name: "$sxD",
// IR: ![[MD_1_0]] = !DILocalVariable(name: "$\CF\84_1_0"
// IR: ![[S]] = !DILocalVariable(name: "s", {{.*}} type: ![[TAU_1_0:[0-9]+]]
// IR: ![[TAU_1_0]] = {{.*}}DW_TAG_structure_type, name: "$Sqd__D",
// IR: ![[TAU_1_0]] = {{.*}}DW_TAG_structure_type, name: "$sqd__D",
// IR: ![[GS_T]] = !DILocalVariable(name: "t", {{.*}} scope: ![[SP_GS_T:[0-9]+]], {{.*}} type: ![[TAU_1_0]])
// IR: ![[SP_GS_T]] = {{.*}}linkageName: "$S1A1gyyxlFqd___Ti5"
// IR: ![[SP_GS_T]] = {{.*}}linkageName: "$s1A1gyyxlFqd___Ti5"
// IR: ![[GS_U]] = !DILocalVariable(name: "u", {{.*}} scope: ![[SP_GS_U:[0-9]+]], {{.*}} type: ![[TAU_1_0]])
// IR: ![[SP_GS_U]] = {{.*}}linkageName: "$S1A1hyyxlFqd___Ti5"
// IR: ![[SP_GS_U]] = {{.*}}linkageName: "$s1A1hyyxlFqd___Ti5"
// IR: ![[GR_T]] = !DILocalVariable(name: "t", {{.*}} scope: ![[SP_GR_T:[0-9]+]], {{.*}}type: ![[TAU_0_0]])
// S has the same generic parameter numbering s T and U.
// IR: ![[SP_GR_T]] = {{.*}}linkageName: "$S1A1gyyxlF"
// IR: ![[SP_GR_T]] = {{.*}}linkageName: "$s1A1gyyxlF"
// IR: ![[GR_U]] = !DILocalVariable(name: "u", {{.*}} scope: ![[SP_GR_U:[0-9]+]], {{.*}}type: ![[TAU_0_0]])
// IR: ![[SP_GR_U]] = {{.*}}linkageName: "$S1A1hyyxlF"
// IR: ![[SP_GR_U]] = {{.*}}linkageName: "$s1A1hyyxlF"
// IR: ![[GRS_T]] = !DILocalVariable(name: "t", {{.*}} scope: ![[SP_GRS_T:[0-9]+]], {{.*}}type: ![[TUPLE:[0-9]+]]
// IR: ![[SP_GRS_T]] = {{.*}}linkageName: "$S1A1gyyxlFx_qd__t_Ti5"
// IR: ![[TUPLE]] = {{.*}}DW_TAG_structure_type, name: "$Sx_qd__tD"
// IR: ![[SP_GRS_T]] = {{.*}}linkageName: "$s1A1gyyxlFx_qd__t_Ti5"
// IR: ![[TUPLE]] = {{.*}}DW_TAG_structure_type, name: "$sx_qd__tD"
// IR: ![[GRS_U]] = !DILocalVariable(name: "u", {{.*}} scope: ![[SP_GRS_U:[0-9]+]], {{.*}}type: ![[TUPLE]]
// IR: ![[SP_GRS_U]] = {{.*}}linkageName: "$S1A1hyyxlFx_qd__t_Ti5"
// IR: ![[SP_GRS_U]] = {{.*}}linkageName: "$s1A1hyyxlFx_qd__t_Ti5"
// IR-DAG: ![[GI_T]] = !DILocalVariable(name: "t", {{.*}} scope: ![[SP_GI_G:[0-9]+]], {{.*}}type: ![[INT]])
// IR-DAG: ![[SP_GI_G]] = {{.*}}linkageName: "$S1A1gyyxlFSi_Tg5"
// IR-DAG: ![[SP_GI_G]] = {{.*}}linkageName: "$s1A1gyyxlFSi_Tg5"
// IR-DAG: ![[GI_U]] = !DILocalVariable(name: "u", {{.*}} scope: ![[SP_GI_U:[0-9]+]], {{.*}}type: ![[INT]])
// IR-DAG: ![[SP_GI_U]] = {{.*}}linkageName: "$S1A1hyyxlFSi_TG5"
// IR-DAG: ![[SP_GI_U]] = {{.*}}linkageName: "$s1A1hyyxlFSi_TG5"
// IR-DAG: ![[GB_T]] = !DILocalVariable(name: "t", {{.*}} scope: ![[SP_GB_G:[0-9]+]], {{.*}}type: ![[BOOL]])
// IR-DAG: ![[SP_GB_G]] = {{.*}}linkageName: "$S1A1gyyxlFSb_Tg5"
// IR-DAG: ![[SP_GB_G]] = {{.*}}linkageName: "$s1A1gyyxlFSb_Tg5"
// IR-DAG: ![[GB_U]] = !DILocalVariable(name: "u", {{.*}} scope: ![[SP_GB_U:[0-9]+]], {{.*}}type: ![[BOOL]])
// IR-DAG: ![[SP_GB_U]] = {{.*}}linkageName: "$S1A1hyyxlFSb_TG5"
// IR-DAG: ![[SP_GB_U]] = {{.*}}linkageName: "$s1A1hyyxlFSb_TG5"

View File

@@ -10,7 +10,7 @@ func foo1<T:P>(_ t: T, _ dt: T.DT1) -> T.DT1 {
return dttmp
}
// CHECK: define {{.*}}@"$S4main4foo2yyxAA1PRzlF"
// CHECK: define {{.*}}@"$s4main4foo2yyxAA1PRzlF"
public func foo2<S:P>(_ s: S) {
// CHECK: call void @llvm.dbg.value(metadata %swift.type* %S.DT1,
// CHECK-SAME: metadata ![[META:[0-9]+]]

View File

@@ -24,14 +24,14 @@ public func f(_ i : Int) -> Int { // 301
return g(i) // 302
}
// CHECK-SIL: sil {{.*}}@$S9inlinedAt1fyS2iF :
// CHECK-SIL: sil {{.*}}@$s9inlinedAt1fyS2iF :
// CHECK-SIL-NOT: return
// CHECK-SIL: debug_value %0 : $Int, let, name "k", argno 1
// CHECK-SIL-SAME: line:101:10:in_prologue
// CHECK-SIL-SAME: perf_inlined_at line:203:10
// CHECK-SIL-SAME: perf_inlined_at line:302:10
// CHECK: define {{.*}}@"$S9inlinedAt1fyS2iF"({{.*}})
// CHECK: define {{.*}}@"$s9inlinedAt1fyS2iF"({{.*}})
// CHECK-NOT: ret
// CHECK: @llvm.dbg.value
// CHECK: @llvm.dbg.value

View File

@@ -33,4 +33,4 @@ let y = inlined(x)
use(y)
// Check if the inlined and removed function still has the correct linkage name.
// CHECK-DAG: !DISubprogram(name: "inlined", linkageName: "$S4main7inlinedys5Int64VADF"
// CHECK-DAG: !DISubprogram(name: "inlined", linkageName: "$s4main7inlinedys5Int64VADF"

View File

@@ -8,22 +8,22 @@
func Close(_ fn: () -> Int64) { fn() }
typealias MyFloat = Float
// CHECK: define hidden swiftcc void @"$S5inout13modifyFooHeap{{[_0-9a-zA-Z]*}}F"
// CHECK: define hidden swiftcc void @"$s5inout13modifyFooHeap{{[_0-9a-zA-Z]*}}F"
// CHECK: %[[ALLOCA:.*]] = alloca %Ts5Int64V*
// CHECK: call void @llvm.dbg.declare(metadata
// CHECK-SAME: %[[ALLOCA]], metadata ![[A:[0-9]+]]
// Closure with promoted capture.
// PROMO-CHECK: define {{.*}}@"$S5inout13modifyFooHeapyys5Int64Vz_SftFADyXEfU_"
// PROMO-CHECK: define {{.*}}@"$s5inout13modifyFooHeapyys5Int64Vz_SftFADyXEfU_"
// PROMO-CHECK: call void @llvm.dbg.declare(metadata %Ts5Int64V** %
// PROMO-CHECK-SAME: metadata ![[A1:[0-9]+]], metadata !DIExpression(DW_OP_deref))
// PROMO-CHECK-DAG: ![[INT:.*]] = !DICompositeType({{.*}}identifier: "$Ss5Int64VD"
// PROMO-CHECK-DAG: ![[INT:.*]] = !DICompositeType({{.*}}identifier: "$ss5Int64VD"
// PROMO-CHECK: ![[A1]] = !DILocalVariable(name: "a", arg: 1
// PROMO-CHECK-SAME: type: ![[INT]]
func modifyFooHeap(_ a: inout Int64,
// CHECK-DAG: ![[A]] = !DILocalVariable(name: "a", arg: 1{{.*}} line: [[@LINE-1]],{{.*}} type: ![[RINT:[0-9]+]]
// CHECK-DAG: ![[RINT]] = !DICompositeType({{.*}}identifier: "$Ss5Int64VD"
// CHECK-DAG: ![[RINT]] = !DICompositeType({{.*}}identifier: "$ss5Int64VD"
_ b: MyFloat)
{
let b = b
@@ -36,16 +36,16 @@ func modifyFooHeap(_ a: inout Int64,
}
// Inout reference type.
// FOO-CHECK: define {{.*}}@"$S5inout9modifyFooyys5Int64Vz_SftF"
// FOO-CHECK: define {{.*}}@"$s5inout9modifyFooyys5Int64Vz_SftF"
// FOO-CHECK: call void @llvm.dbg.declare(metadata %Ts5Int64V** %
// FOO-CHECK-SAME: metadata ![[U:[0-9]+]], metadata !DIExpression(DW_OP_deref))
func modifyFoo(_ u: inout Int64,
// FOO-CHECK-DAG: !DILocalVariable(name: "v", arg: 2{{.*}} line: [[@LINE+3]],{{.*}} type: ![[MYFLOAT:[0-9]+]]
// FOO-CHECK-DAG: [[U]] = !DILocalVariable(name: "u", arg: 1{{.*}} line: [[@LINE-2]],{{.*}} type: ![[RINT:[0-9]+]]
// FOO-CHECK-DAG: ![[RINT]] = !DICompositeType({{.*}}identifier: "$Ss5Int64VD"
// FOO-CHECK-DAG: ![[RINT]] = !DICompositeType({{.*}}identifier: "$ss5Int64VD"
_ v: MyFloat)
// FOO-CHECK-DAG: ![[MYFLOAT]] = !DIDerivedType(tag: DW_TAG_typedef, name: "$S5inout7MyFloataD",{{.*}} baseType: ![[FLOAT:[0-9]+]]
// FOO-CHECK-DAG: ![[FLOAT]] = !DICompositeType({{.*}}identifier: "$SSfD"
// FOO-CHECK-DAG: ![[MYFLOAT]] = !DIDerivedType(tag: DW_TAG_typedef, name: "$s5inout7MyFloataD",{{.*}} baseType: ![[FLOAT:[0-9]+]]
// FOO-CHECK-DAG: ![[FLOAT]] = !DICompositeType({{.*}}identifier: "$sSfD"
{
if (v > 2.71) {
u = u - 41

View File

@@ -13,7 +13,7 @@ class CIFilter {
}
class MyClass {
// CHECK: define hidden {{.*}} %T7iuo_arg7UIImageC* @"$S7iuo_arg7MyClassC11filterImageyAA7UIImageCAFSg_SbtF"
// CHECK: define hidden {{.*}} %T7iuo_arg7UIImageC* @"$s7iuo_arg7MyClassC11filterImageyAA7UIImageCAFSg_SbtF"
func filterImage(_ image: UIImage!, _ doSomething:Bool) -> UIImage
{
// Test that image is in an alloca, but not an indirect location.

View File

@@ -16,7 +16,7 @@ func myFunc() {
// RUN: %swiftc_driver %s -S -g -debug-info-format=codeview -target x86_64-unknown-windows-msvc -o - | %FileCheck --check-prefix CV-CHECK %s
// CV-CHECK: .cv_file [[MAIN:[0-9]+]] "{{.*}}line-directive-codeview.swift"
// CV-CHECK: .cv_loc {{[0-9]+}} [[MAIN]] 1 {{0?}}
// CV-CHECK: .def $S4main6myFuncyyF;
// CV-CHECK: .def $s4main6myFuncyyF;
// CV-CHECK-NOT: .def
// CV-CHECK: .cv_func_id [[MYFUNC:[0-9]+]]
// CV-CHECK: .cv_file [[ABC:[0-9]+]] "{{.*}}abc.swift"
@@ -25,4 +25,4 @@ func myFunc() {
// CV-CHECK: .cv_loc [[MYFUNC]] [[ABC]] 142 {{0?}}
// CV-CHECK: .cv_file [[DEF:[0-9]+]] "{{.*}}def.swift"
// CV-CHECK: .cv_loc [[MYFUNC]] [[DEF]] 142 {{0?}}
// CV-CHECK: .cv_linetable [[MYFUNC]], $S4main6myFuncyyF
// CV-CHECK: .cv_linetable [[MYFUNC]], $s4main6myFuncyyF

View File

@@ -3,7 +3,7 @@
// RUN: | %FileCheck %s
public func g<T>(_ t: T) {}
public func f(_ i: Int32) {
// CHECK: function_ref @$S4main1fyys5Int32VFyycfU_
// CHECK: function_ref @$s4main1fyys5Int32VFyycfU_
// CHECK-SAME: loc "{{.*}}":13:3,
// CHECK: %[[CLOSURE:.*]] = partial_apply
// CHECK-SAME: loc "{{.*}}":13:3,{{.*}}auto_gen

View File

@@ -17,13 +17,13 @@ func main() {
markUsed("element = \(element)")
}
markUsed("Done with the for loop")
// CHECK: call {{.*}}void @"$S4main8markUsedyyxlF"
// CHECK: call {{.*}}void @"$s4main8markUsedyyxlF"
// CHECK: br label
// CHECK: <label>:
// CHECK: call %Ts16IndexingIteratorVySaySiGG* @"$Ss16IndexingIteratorVySaySiGGWOh"(%Ts16IndexingIteratorVySaySiGG* %{{.*}}), !dbg ![[LOOPHEADER_LOC:.*]]
// CHECK: call {{.*}}void @"$S4main8markUsedyyxlF"
// CHECK: call %Ts16IndexingIteratorVySaySiGG* @"$ss16IndexingIteratorVySaySiGGWOh"(%Ts16IndexingIteratorVySaySiGG* %{{.*}}), !dbg ![[LOOPHEADER_LOC:.*]]
// CHECK: call {{.*}}void @"$s4main8markUsedyyxlF"
// The cleanups should share the line number with the ret stmt.
// CHECK: call %TSa* @"$SSaySiGWOh"(%TSa* %{{.*}}), !dbg ![[CLEANUPS:.*]]
// CHECK: call %TSa* @"$sSaySiGWOh"(%TSa* %{{.*}}), !dbg ![[CLEANUPS:.*]]
// CHECK-NEXT: !dbg ![[CLEANUPS]]
// CHECK-NEXT: llvm.lifetime.end
// CHECK-NEXT: load

View File

@@ -30,20 +30,20 @@ func foo() {
}
// func arithmetic(_ a: Int64, _ b: Int64)
// CHECK: define {{.*}} @"$S4main10arithmeticyys5Int64V_ADtF"(i64, i64)
// CHECK: define {{.*}} @"$s4main10arithmeticyys5Int64V_ADtF"(i64, i64)
// CHECK: call { i64, i1 } @llvm.sadd.with.overflow.i64({{.*}}), !dbg ![[ADD:[0-9]+]]
// NOTE: The division will emit an ``unreachable`` instruction sandwiched
// between other instructions for the division. We want to make sure
// all instructions from the division have the same debug location and
// are contiguous.
// CHECK: call {{.*}} @"$Ss18_fatalErrorMessage__4file4line5flagss5NeverOs12StaticStringV_A2HSus6UInt32VtF"{{.*}}, !dbg ![[DIV:[0-9]+]]
// CHECK: call {{.*}} @"$ss18_fatalErrorMessage__4file4line5flagss5NeverOs12StaticStringV_A2HSus6UInt32VtF"{{.*}}, !dbg ![[DIV:[0-9]+]]
// CHECK-NEXT: unreachable, !dbg ![[DIV]]
// CHECK sdiv i64 %0, %1, !dbg ![[DIV]]
// CHECK: call void @llvm.trap(), !dbg ![[INLINEDADD:[0-9]+]]
// CHECK-NEXT: unreachable, !dbg ![[INLINEDADD]]
// func sum(myArg: Float)
// CHECK: define {{.*}} @"$S4main12SimpleStructV3sum5myArgySf_tF"{{.*}} !dbg ![[SUM:[0-9]+]]
// CHECK: define {{.*}} @"$s4main12SimpleStructV3sum5myArgySf_tF"{{.*}} !dbg ![[SUM:[0-9]+]]
// NOTE: The point of this test is to trigger IRGenSIL::emitShadowCopy()
// and IRGenSIL::emitShadowCopyIfNeeded(). It may be worthwhile to
// simplify this testcase.
@@ -51,10 +51,10 @@ func foo() {
// CHECK: store float {{.*}}, float* %self.debug.myVal1._value, {{.*}}, !dbg ![[PROLOGUE]]
// func myLoop() {
// CHECK: define {{.*}} @"$S4main6myLoopyyF"
// CHECK: define {{.*}} @"$s4main6myLoopyyF"
// CHECK: call void @llvm.dbg.declare(metadata i64* %index.debug, {{.*}}), !dbg ![[FORLOOP:[0-9]+]]
// CHECK: phi i64 [ %{{.[0-9]+}}, %{{.[0-9]+}} ], !dbg ![[FORLOOP]]
// CHECK: call {{.*}} @"$S4main8markUsedyyxlF"{{.*}}, !dbg ![[FORBODY:[0-9]+]]
// CHECK: call {{.*}} @"$s4main8markUsedyyxlF"{{.*}}, !dbg ![[FORBODY:[0-9]+]]
// CHECK: ret void
// func mySwitch(_ a: Int64)
@@ -66,7 +66,7 @@ func foo() {
// CHECK-NEXT: ret void
// func foo()
// CHECK: define {{.*}} @"$S4main3fooyyF"
// CHECK: define {{.*}} @"$s4main3fooyyF"
// CHECK: %[[MYARRAY:.*]] = alloca
// CHECK: call void @llvm.dbg.declare(metadata %TSa* %[[MYARRAY]],
// CHECK-SAME: !dbg ![[ARRAY:[0-9]+]]
@@ -83,7 +83,7 @@ func foo() {
// NOTE: These prologue instructions are given artificial line locations for
// LLDB, but for CodeView they should have the location of the function
// to keep the linetables contiguous.
// CHECK-DAG: ![[SUM]] = distinct !DISubprogram(name: "sum", linkageName: "$S4main12SimpleStructV3sum5myArgySf_tF"
// CHECK-DAG: ![[SUM]] = distinct !DISubprogram(name: "sum", linkageName: "$s4main12SimpleStructV3sum5myArgySf_tF"
// CHECK-DAG: ![[PROLOGUE]] = !DILocation(line: 10, scope: ![[SUM]])
// CHECK-DAG: ![[FORLOOP]] = !DILocation(line: 15, scope:
// CHECK-DAG: ![[FORBODY]] = !DILocation(line: 16, scope:

View File

@@ -22,14 +22,14 @@ func call_me(_ code: @escaping () -> Void)
}
func main(_ x: Int64) -> Void
// CHECK-LABEL: define hidden {{.*}} void @"$S9linetable4main{{[_0-9a-zA-Z]*}}F"
// CHECK-LABEL: define hidden {{.*}} void @"$s9linetable4main{{[_0-9a-zA-Z]*}}F"
{
var my_class = MyClass(input: 10)
// Linetable continuity. Don't go into the closure expression.
// ASM-CHECK: .loc [[FILEID:[0-9]]] [[@LINE+1]] 5
call_me (
// ASM-CHECK-NOT: .loc [[FILEID]] [[@LINE+1]] 5
// CHECK-LABEL: define {{.*}} @"$S9linetable4mainyys5Int64VFyycfU_Tf2in_n"({{.*}})
// CHECK-LABEL: define {{.*}} @"$s9linetable4mainyys5Int64VFyycfU_Tf2in_n"({{.*}})
{
var result = my_class.do_something(x)
markUsed(result)
@@ -49,7 +49,7 @@ func main(_ x: Int64) -> Void
// ASM-CHECK: ret
}
// ASM-CHECK: {{^_?\$S9linetable4mainyys5Int64VFyycfU_Tf2in_n:}}
// ASM-CHECK: {{^_?\$s9linetable4mainyys5Int64VFyycfU_Tf2in_n:}}
// ASM-CHECK-NOT: retq
// The end-of-prologue should have a valid location (0 is ok, too).
// ASM-CHECK: .loc [[FILEID]] {{0|34}} {{[0-9]+}} prologue_end

View File

@@ -1,3 +1,3 @@
// RUN: %target-swift-frontend -parse-stdlib %s -emit-ir -g -o - | %FileCheck %s
// CHECK: !DIDerivedType(tag: DW_TAG_typedef, name: "$SBbD",
// CHECK: !DIDerivedType(tag: DW_TAG_typedef, name: "$sBbD",
var bo : Builtin.BridgeObject

View File

@@ -8,7 +8,7 @@ func markUsed<T>(_ t: T) {}
// Variable:
// mangling.myDict : Swift.Dictionary<Swift.Int64, Swift.String>
// CHECK: !DIGlobalVariable(name: "myDict",
// CHECK-SAME: linkageName: "$S8mangling6myDictSDys5Int64VSSGvp",
// CHECK-SAME: linkageName: "$s8mangling6myDictSDys5Int64VSSGvp",
// CHECK-SAME: line: [[@LINE+3]]
// CHECK-SAME: type: ![[DT:[0-9]+]]
// CHECK: ![[DT]] = !DICompositeType(tag: DW_TAG_structure_type, name: "Dictionary"
@@ -17,24 +17,24 @@ myDict[12] = "Hello!"
// mangling.myTuple1 : (Name : Swift.String, Id : Swift.Int64)
// CHECK: !DIGlobalVariable(name: "myTuple1",
// CHECK-SAME: linkageName: "$S8mangling8myTuple1SS4Name_s5Int64V2Idtvp",
// CHECK-SAME: linkageName: "$s8mangling8myTuple1SS4Name_s5Int64V2Idtvp",
// CHECK-SAME: line: [[@LINE+3]]
// CHECK-SAME: type: ![[TT1:[0-9]+]]
// CHECK: ![[TT1]] = !DICompositeType(tag: DW_TAG_structure_type, name: "$SSS4Name_s5Int64V2IdtD"
// CHECK: ![[TT1]] = !DICompositeType(tag: DW_TAG_structure_type, name: "$sSS4Name_s5Int64V2IdtD"
var myTuple1 : (Name: String, Id: Int64) = ("A", 1)
// mangling.myTuple2 : (Swift.String, Id : Swift.Int64)
// CHECK: !DIGlobalVariable(name: "myTuple2",
// CHECK-SAME: linkageName: "$S8mangling8myTuple2SS_s5Int64V2Idtvp",
// CHECK-SAME: linkageName: "$s8mangling8myTuple2SS_s5Int64V2Idtvp",
// CHECK-SAME: line: [[@LINE+3]]
// CHECK-SAME: type: ![[TT2:[0-9]+]]
// CHECK: ![[TT2]] = !DICompositeType(tag: DW_TAG_structure_type, name: "$SSS_s5Int64V2IdtD"
// CHECK: ![[TT2]] = !DICompositeType(tag: DW_TAG_structure_type, name: "$sSS_s5Int64V2IdtD"
var myTuple2 : ( String, Id: Int64) = ("B", 2)
// mangling.myTuple3 : (Swift.String, Swift.Int64)
// CHECK: !DIGlobalVariable(name: "myTuple3",
// CHECK-SAME: linkageName: "$S8mangling8myTuple3SS_s5Int64Vtvp",
// CHECK-SAME: linkageName: "$s8mangling8myTuple3SS_s5Int64Vtvp",
// CHECK-SAME: line: [[@LINE+3]]
// CHECK-SAME: type: ![[TT3:[0-9]+]]
// CHECK: ![[TT3]] = !DICompositeType(tag: DW_TAG_structure_type, name: "$SSS_s5Int64VtD"
// CHECK: ![[TT3]] = !DICompositeType(tag: DW_TAG_structure_type, name: "$sSS_s5Int64VtD"
var myTuple3 : ( String, Int64) = ("C", 3)
markUsed(myTuple1.Id)

View File

@@ -8,7 +8,7 @@ public protocol P {
// forward-declared type.
// CHECK-GEN: ![[FWD:.*]] = !DICompositeType({{.*}}, name: "Generic",
// CHECK-GEN-SAME: flags: DIFlagFwdDecl
// CHECK-GEN: linkageName: "$S4main7GenericV3sety2ATQzF", scope: ![[FWD]],
// CHECK-GEN: linkageName: "$s4main7GenericV3sety2ATQzF", scope: ![[FWD]],
public struct Generic<T : P> {
public func get() -> T.AT? {
return nil
@@ -17,9 +17,9 @@ public struct Generic<T : P> {
}
// But only one concrete type is expected.
// CHECK: !DISubprogram({{.*}}linkageName: "$S4main8ConcreteV3getSiSgyF",
// CHECK: !DISubprogram({{.*}}linkageName: "$s4main8ConcreteV3getSiSgyF",
// CHECK-SAME: scope: ![[CONC:[0-9]+]],
// CHECK: ![[CONC]] = !DICompositeType(tag: DW_TAG_structure_type, name: "Concrete", scope: !{{[0-9]+}}, file: !{{[0-9]+}}, line: {{[0-9]+}}, elements: !{{[0-9]+}}, runtimeLang: DW_LANG_Swift, identifier: "$S4main8ConcreteVD")
// CHECK: ![[CONC]] = !DICompositeType(tag: DW_TAG_structure_type, name: "Concrete", scope: !{{[0-9]+}}, file: !{{[0-9]+}}, line: {{[0-9]+}}, elements: !{{[0-9]+}}, runtimeLang: DW_LANG_Swift, identifier: "$s4main8ConcreteVD")
public struct Concrete {
public func get() -> Int? {
return nil

View File

@@ -33,8 +33,8 @@ public func mangle(s: [UnicodeScalar]) -> [UnicodeScalar] {
// which shares the storage with the expression in the switch statement. Make
// sure we emit a dbg.value once per basic block.
// CHECK: define {{.*}}@"$S11patternvars6mangle1sSayAA13UnicodeScalarVGAF_tFA2EXEfU_"
// CHECK: %[[VAL:[0-9]+]] = call swiftcc i32 @"$S11patternvars13UnicodeScalarV5values6UInt32Vvg"(i32 %0)
// CHECK: define {{.*}}@"$s11patternvars6mangle1sSayAA13UnicodeScalarVGAF_tFA2EXEfU_"
// CHECK: %[[VAL:[0-9]+]] = call swiftcc i32 @"$s11patternvars13UnicodeScalarV5values6UInt32Vvg"(i32 %0)
// CHECK-NEXT: call void @llvm.dbg.value(metadata i32 %[[VAL]]
// CHECK: ; <label>
// CHECK: call void @llvm.dbg.value(metadata i32 %[[VAL]]

View File

@@ -10,7 +10,7 @@ protocol B {
func y()
}
// CHECK-DAG: $S5pcomp1A_AA1Bp
// CHECK-DAG: $s5pcomp1A_AA1Bp
func f(_ arg : A & B) {
}
@@ -28,7 +28,7 @@ class SomeOtherClass : SomeClass {
override func f() -> Int64 { return 1 }
}
// This is an indirect value.
// CHECK-DAG: !DICompositeType(tag: DW_TAG_structure_type, name: "SomeProto",{{.*}} identifier: "$S5pcomp9SomeProto_pD"
// CHECK-DAG: !DICompositeType(tag: DW_TAG_structure_type, name: "SomeProto",{{.*}} identifier: "$s5pcomp9SomeProto_pD"
func main() {
var p : SomeProto = SomeOtherClass()
markUsed("\(p.f())")

View File

@@ -6,7 +6,7 @@ func markUsed<T>(_ t: T) {}
// CHECK: .file [[F:[0-9]+]] "{{.*}}prologue.swift"
func bar<T, U>(_ x: T, y: U) { markUsed("bar") }
// CHECK: $S8prologue3bar_1yyx_q_tr0_lF:
// CHECK: $s8prologue3bar_1yyx_q_tr0_lF:
// CHECK: .loc [[F]] 0 0 prologue_end
// Make sure there is no allocation happening between the end of
// prologue and the beginning of the function body.

View File

@@ -5,7 +5,7 @@ public protocol P {
}
public extension P {
// CHECK: define {{.*}}swiftcc i32 @"$S4main1PPAAE1fs5Int32VyF"
// CHECK: define {{.*}}swiftcc i32 @"$s4main1PPAAE1fs5Int32VyF"
public func f() -> Int32 {
// CHECK-NEXT: entry:
// CHECK-NEXT: %[[ALLOCA:.*]] = alloca %swift.type*,

View File

@@ -5,4 +5,4 @@ typealias C = B & A
protocol D {}
var p: (C & D)?
// CHECK-DAG: !DIGlobalVariable(name: "p", {{.*}}type: ![[TY:[0-9]+]]
// CHECK-DAG: ![[TY]] = {{.*}}identifier: "$S4main1A_AA1BAA1DpSgD"
// CHECK-DAG: ![[TY]] = {{.*}}identifier: "$s4main1A_AA1BAA1DpSgD"

View File

@@ -3,7 +3,7 @@
protocol PointUtils {
func distanceFromOrigin() -> Float
}
// CHECK: define {{.*}}float @"$S8protocol{{.*}}FTW"({{.*}} !dbg !{{[0-9]+}}
// CHECK: define {{.*}}float @"$s8protocol{{.*}}FTW"({{.*}} !dbg !{{[0-9]+}}
class Point : PointUtils {
var x : Float
@@ -19,7 +19,7 @@ class Point : PointUtils {
}
// CHECK: define hidden {{.*}}i64 @"$S8protocol4mains5Int64VyF"() {{.*}} {
// CHECK: define hidden {{.*}}i64 @"$s8protocol4mains5Int64VyF"() {{.*}} {
func main() -> Int64 {
var pt = Point(_x: 2.5, _y: 4.25)
// CHECK: [[LOC2D:%[a-zA-Z0-9]+]] = alloca %T8protocol10PointUtilsP, align {{(4|8)}}

View File

@@ -7,7 +7,7 @@ public protocol IGiveOutInts {
func callMe() -> Int64
}
// CHECK: define {{.*}}@"$S11protocolarg16printSomeNumbersyyAA12IGiveOutInts_pF"
// CHECK: define {{.*}}@"$s11protocolarg16printSomeNumbersyyAA12IGiveOutInts_pF"
// CHECK: @llvm.dbg.declare(metadata %T11protocolarg12IGiveOutIntsP** %
// CHECK-SAME: metadata ![[ARG:[0-9]+]],
// CHECK-SAME: metadata !DIExpression(DW_OP_deref))

View File

@@ -9,9 +9,9 @@ class X {
public func ifelseexpr() -> Int64 {
var x = X(i:0)
// CHECK: [[ALLOCA:%.*]] = alloca %T6return1XC*
// CHECK: [[TMP:%.*]] = call swiftcc %swift.metadata_response @"$S6return1XCMa"(
// CHECK: [[TMP:%.*]] = call swiftcc %swift.metadata_response @"$s6return1XCMa"(
// CHECK: [[META:%.*]] = extractvalue %swift.metadata_response [[TMP]], 0
// CHECK: [[X:%.*]] = call {{.*}}%T6return1XC* @"$S6return1XC1iACs5Int64V_tcfC"(
// CHECK: [[X:%.*]] = call {{.*}}%T6return1XC* @"$s6return1XC1iACs5Int64V_tcfC"(
// CHECK-SAME: i64 0, %swift.type* swiftself [[META]])
// CHECK: store %T6return1XC* [[X]], %T6return1XC** [[ALLOCA]]
// CHECK: @swift_release to void (%T6return1XC*)*)(%T6return1XC* [[X]])

View File

@@ -179,11 +179,11 @@ public func cleanup_simple_complex(_ a: NSString) -> Int64 {
// ---------------------------------------------------------------------
// RUN: %FileCheck %s --check-prefix=CHECK_INIT < %t.ll
// CHECK_INIT: define {{.*}}$S4main6Class1CACSgycfc
// CHECK_INIT: define {{.*}}$s4main6Class1CACSgycfc
public class Class1 {
public required init?() {
print("hello")
// CHECK_INIT: call {{.*}}@"$Ss5print_9separator10terminatoryypd_S2StF"{{.*}}, !dbg [[printLoc:![0-9]+]]
// CHECK_INIT: call {{.*}}@"$ss5print_9separator10terminatoryypd_S2StF"{{.*}}, !dbg [[printLoc:![0-9]+]]
// CHECK_INIT: br label {{.*}}, !dbg [[retnLoc:![0-9]+]]
// CHECK_INIT: [[printLoc]] = !DILocation(line: [[@LINE-4]]

View File

@@ -3,7 +3,7 @@
// A top-level closure is expected to have the main module as scope and not the
// top_level_code function.
//
// CHECK: define {{.*}}@"$S4mainSiycfU_"() {{.*}} !dbg ![[CLOSURE:[0-9]+]] {
// CHECK: define {{.*}}@"$s4mainSiycfU_"() {{.*}} !dbg ![[CLOSURE:[0-9]+]] {
// CHECK: ![[MOD:[0-9]+]] = !DIModule(scope: null, name: "main"
// CHECK: ![[CLOSURE]] = distinct !DISubprogram({{.*}}scope: ![[MOD]],
let closure = { 42 }

View File

@@ -2,7 +2,7 @@
public struct S {
func f() {
// CHECK: define {{.*}}$S4main1SV1fyyF
// CHECK: define {{.*}}$s4main1SV1fyyF
// CHECK: call void @llvm.dbg.value(metadata i{{.*}} 0,
// CHECK-SAME: metadata ![[SELF:[0-9]+]]
// CHECK: ![[SELF]] = !DILocalVariable(name: "self", arg: 1,

View File

@@ -13,7 +13,7 @@ public func f() {
// is constructed in an alloca. The debug info for the alloca should not
// describe a reference type as we would normally do with inout arguments.
//
// CHECK: define {{.*}} @"$S4self11stuffStructVACycfC"(
// CHECK: define {{.*}} @"$s4self11stuffStructVACycfC"(
// CHECK-NEXT: entry:
// CHECK: %[[ALLOCA:.*]] = alloca %T4self11stuffStructV, align {{(4|8)}}
// CHECK: call void @llvm.dbg.declare(metadata %T4self11stuffStructV* %[[ALLOCA]],

View File

@@ -16,7 +16,7 @@ class ClassB : ClassA
{
override init (_ input : Int64)
{
// CHECK: @"$S{{.*}}6ClassBCyACs5Int64Vcfc"
// CHECK: @"$s{{.*}}6ClassBCyACs5Int64Vcfc"
// CHECK: alloca {{.*}}ClassBC*
// CHECK: alloca i64
// CHECK-NOT: alloca

View File

@@ -1,6 +1,6 @@
// RUN: %target-swift-frontend -O %s -disable-llvm-optzns -emit-sil -g -o - | %FileCheck %s
// CHECK: sil shared [noinline] @$S14specialization3sumyxx_xtAA5ProtoRzlFAA7AddableV_Tg5
// CHECK: sil shared [noinline] @$s14specialization3sumyxx_xtAA5ProtoRzlFAA7AddableV_Tg5
// CHECK-SAME: $@convention(thin) (Addable, Addable) -> Addable {
// CHECK: bb0(%0 : $Addable, %1 : $Addable):
// CHECK: debug_value %0 : $Addable, let, name "i", argno 1

View File

@@ -13,13 +13,13 @@
// RUN: -enable-resilience-bypass | %FileCheck %s --check-prefix=CHECK-LLDB
import resilient_struct
// CHECK-LABEL: define{{.*}} swiftcc void @"$S17struct_resilience9takesSizeyy010resilient_A00D0VF"(%swift.opaque* noalias nocapture)
// CHECK-LLDB-LABEL: define{{.*}} swiftcc void @"$S17struct_resilience9takesSizeyy010resilient_A00D0VF"(%T16resilient_struct4SizeV* noalias nocapture dereferenceable({{8|16}}))
// CHECK-LABEL: define{{.*}} swiftcc void @"$s17struct_resilience9takesSizeyy010resilient_A00D0VF"(%swift.opaque* noalias nocapture)
// CHECK-LLDB-LABEL: define{{.*}} swiftcc void @"$s17struct_resilience9takesSizeyy010resilient_A00D0VF"(%T16resilient_struct4SizeV* noalias nocapture dereferenceable({{8|16}}))
public func takesSize(_ s: Size) {}
// CHECK-LABEL: define{{.*}} swiftcc void @"$S17struct_resilience1fyyF"()
// CHECK-LLDB-LABEL: define{{.*}} swiftcc void @"$S17struct_resilience1fyyF"()
// CHECK-LABEL: define{{.*}} swiftcc void @"$s17struct_resilience1fyyF"()
// CHECK-LLDB-LABEL: define{{.*}} swiftcc void @"$s17struct_resilience1fyyF"()
func f() {
let s1 = Size(w: 1, h: 2)
takesSize(s1)

View File

@@ -10,7 +10,7 @@ struct A {
func test(_ x : A) {
var _ = x
}
// CHECK: define hidden {{.*}}void @"$S7structs4test{{[_0-9a-zA-Z]*}}F"
// CHECK: define hidden {{.*}}void @"$s7structs4test{{[_0-9a-zA-Z]*}}F"
// CHECK: [[X_DBG:%.*]] = alloca
// CHECK: call void @llvm.dbg.declare(metadata {{.*}}* [[X_DBG]], metadata [[X_MD:!.*]], metadata
// CHECK: ![[A_DI:.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "A",{{.*}}identifier

View File

@@ -13,7 +13,7 @@ import Foundation
class MyObject : NSObject {
// Ensure we don't emit linetable entries for ObjC thunks.
// LOC-CHECK: define {{.*}} @"$S4main8MyObjectC0B3ArrSo7NSArrayCvgTo"
// LOC-CHECK: define {{.*}} @"$s4main8MyObjectC0B3ArrSo7NSArrayCvgTo"
// LOC-CHECK: ret {{.*}}, !dbg ![[DBG:.*]]
// LOC-CHECK: ret
@objc var MyArr = NSArray()
@@ -25,7 +25,7 @@ class MyObject : NSObject {
// ALLOCCTOR-CHECK: ![[F:.*]] = !DIFile(filename: "<compiler-generated>",
// ALLOCCTOR-CHECK: distinct !DISubprogram(name: "init",
// ALLOCCTOR-CHECK-SAME: linkageName: "$SSo7NSArrayCABycfC",
// ALLOCCTOR-CHECK-SAME: linkageName: "$sSo7NSArrayCABycfC",
// ALLOCCTOR-CHECK-SAME: file: ![[F]],
@objc func foo(_ obj: MyObject) {
return obj.foo(obj)
@@ -39,7 +39,7 @@ extension MyObject {
}
}
// SANITY-DAG: ![[NSOBJECT:.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "NSObject",{{.*}} identifier: "$SSo8NSObjectC"
// SANITY-DAG: ![[NSOBJECT:.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "NSObject",{{.*}} identifier: "$sSo8NSObjectC"
// SANITY-DAG: !DIGlobalVariable(name: "NsObj",{{.*}} line: [[@LINE+1]],{{.*}} type: ![[NSOBJECT]],{{.*}} isDefinition: true
var NsObj: NSObject
NsObj = MyObject()
@@ -49,7 +49,7 @@ MyObj.blah()
public func err() {
// DWARF-CHECK: DW_AT_name ("NSError")
// DWARF-CHECK: DW_AT_linkage_name{{.*}}$SSo7NSErrorC
// DWARF-CHECK: DW_AT_linkage_name{{.*}}$sSo7NSErrorC
let _ = NSError(domain: "myDomain", code: 4,
userInfo: ["a":1,
"b":2,
@@ -58,10 +58,10 @@ public func err() {
// LOC-CHECK: define {{.*}}4date
public func date() {
// LOC-CHECK: call {{.*}} @"$SSS21_builtinStringLiteral17utf8CodeUnitCount7isASCIISSBp_BwBi1_tcfC{{.*}}, !dbg ![[L1:.*]]
// LOC-CHECK: call {{.*}} @"$sSS21_builtinStringLiteral17utf8CodeUnitCount7isASCIISSBp_BwBi1_tcfC{{.*}}, !dbg ![[L1:.*]]
let d1 = DateFormatter()
d1.dateFormat = "dd. mm. yyyy" // LOC-CHECK: call{{.*}}objc_msgSend{{.*}}, !dbg ![[L2:.*]]
// LOC-CHECK: call {{.*}} @"$SSS21_builtinStringLiteral17utf8CodeUnitCount7isASCIISSBp_BwBi1_tcfC{{.*}}, !dbg ![[L3:.*]]
// LOC-CHECK: call {{.*}} @"$sSS21_builtinStringLiteral17utf8CodeUnitCount7isASCIISSBp_BwBi1_tcfC{{.*}}, !dbg ![[L3:.*]]
let d2 = DateFormatter()
d2.dateFormat = "mm dd yyyy" // LOC-CHECK: call{{.*}}objc_msgSend{{.*}}, !dbg ![[L4:.*]]
}
@@ -72,7 +72,7 @@ func useOptions(_ opt: URL.BookmarkCreationOptions)
return [opt, opt]
}
// LOC-CHECK: ![[THUNK:.*]] = distinct !DISubprogram({{.*}}linkageName: "$S4main8MyObjectC0B3ArrSo7NSArrayCvgTo"
// LOC-CHECK: ![[THUNK:.*]] = distinct !DISubprogram({{.*}}linkageName: "$s4main8MyObjectC0B3ArrSo7NSArrayCvgTo"
// LOC-CHECK-NOT: line:
// LOC-CHECK-SAME: isDefinition: true
// LOC-CHECK: ![[DBG]] = !DILocation(line: 0, scope: ![[THUNK]])

View File

@@ -8,11 +8,11 @@ var a : Int64 = 2
// CHECK-SAME: size: 64,
// CHECK-NOT: offset: 0
// CHECK-NOT: DIFlagFwdDecl
// CHECK-SAME: identifier: "$Ss5Int64VD"
// CHECK-SAME: identifier: "$ss5Int64VD"
// CHECK: !DIGlobalVariable(name: "b",{{.*}} line: [[@LINE+2]]
// CHECK-SAME: type: ![[INT:[0-9]+]]
var b = 2
// CHECK: ![[INT]] = !DICompositeType(tag: DW_TAG_structure_type, name: "Int"
// CHECK-SAME: identifier: "$SSiD"
// CHECK-SAME: identifier: "$sSiD"

View File

@@ -13,17 +13,17 @@ let foo = Foo()
let y = 3 as Int64
let i = foo.foo(-, x: y)
// CHECK: define {{.*}}@"$Ss5Int64VABIyByd_A2BIegyd_TR"
// CHECK: define {{.*}}@"$ss5Int64VABIyByd_A2BIegyd_TR"
// CHECK-NOT: ret
// CHECK: call {{.*}}, !dbg ![[LOC:.*]]
// CHECK: ![[FILE:[0-9]+]] = !DIFile(filename: "<compiler-generated>", directory: "")
// CHECK: ![[THUNK:.*]] = distinct !DISubprogram(linkageName: "$Ss5Int64VABIyByd_A2BIegyd_TR"
// CHECK: ![[THUNK:.*]] = distinct !DISubprogram(linkageName: "$ss5Int64VABIyByd_A2BIegyd_TR"
// CHECK-SAME: file: ![[FILE]]
// CHECK-NOT: line:
// CHECK-SAME: flags: DIFlagArtificial
// CHECK-SAME: ){{$}}
// CHECK: ![[LOC]] = !DILocation(line: 0, scope: ![[THUNK]])
// SIL-CHECK: sil shared {{.*}}@$Ss5Int64VABIyByd_A2BIegyd_TR
// SIL-CHECK: sil shared {{.*}}@$ss5Int64VABIyByd_A2BIegyd_TR
// SIL-CHECK-NOT: return
// SIL-CHECK: apply {{.*}}auto_gen

View File

@@ -15,7 +15,7 @@ let z = transparent(0)
use(z)
// Check that a transparent function has no debug information.
// CHECK: define {{.*}}$S11transparentAA
// CHECK: define {{.*}}$s11transparentAA
// CHECK-SAME: !dbg ![[SP:[0-9]+]]
// CHECK-NEXT: entry:
// CHECK-NEXT: !dbg ![[ZERO:[0-9]+]]

View File

@@ -4,7 +4,7 @@
// Don't emit a line number for tuple types. They are unnamed
// and have no declaration, so the line number is nonsensical.
// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "$SSi_SftD"
// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "$sSi_SftD"
// CHECK-NOT: line:
// CHECK-NEXT: =
let tuple1 : (Int, Float) = (1, 2.89)

View File

@@ -3,11 +3,11 @@
func markUsed<T>(_ t: T) {}
class DWARF {
// CHECK-DAG: ![[BASE:.*]] = !DICompositeType({{.*}}identifier: "$Ss6UInt32VD"
// CHECK-DAG: ![[DIEOFFSET:.*]] = !DIDerivedType(tag: DW_TAG_typedef, name: "$S9typealias5DWARFC9DIEOffsetaD",{{.*}} line: [[@LINE+1]], baseType: ![[BASE]])
// CHECK-DAG: ![[BASE:.*]] = !DICompositeType({{.*}}identifier: "$ss6UInt32VD"
// CHECK-DAG: ![[DIEOFFSET:.*]] = !DIDerivedType(tag: DW_TAG_typedef, name: "$s9typealias5DWARFC9DIEOffsetaD",{{.*}} line: [[@LINE+1]], baseType: ![[BASE]])
typealias DIEOffset = UInt32
// CHECK-DAG: ![[VOID:.*]] = !DICompositeType({{.*}}identifier: "$SytD"
// CHECK-DAG: ![[PRIVATETYPE:.*]] = !DIDerivedType(tag: DW_TAG_typedef, name: "$S9typealias5DWARFC11PrivateType{{.+}}aD",{{.*}} line: [[@LINE+1]], baseType: ![[VOID]])
// CHECK-DAG: ![[VOID:.*]] = !DICompositeType({{.*}}identifier: "$sytD"
// CHECK-DAG: ![[PRIVATETYPE:.*]] = !DIDerivedType(tag: DW_TAG_typedef, name: "$s9typealias5DWARFC11PrivateType{{.+}}aD",{{.*}} line: [[@LINE+1]], baseType: ![[VOID]])
fileprivate typealias PrivateType = ()
fileprivate static func usePrivateType() -> PrivateType { return () }
}

View File

@@ -14,7 +14,7 @@ class AClass : AProtocol {
// CHECK-SAME: flags: DIFlagArtificial
// CHECK: ![[SWIFTMETATYPE]] = !DIDerivedType(tag: DW_TAG_typedef, name: "$swift.type",
// CHECK-SAME: baseType: ![[VOIDPTR:[0-9]+]]
// CHECK: ![[VOIDPTR]] = !DIDerivedType(tag: DW_TAG_pointer_type, name: "$SBpD", baseType: null
// CHECK: ![[VOIDPTR]] = !DIDerivedType(tag: DW_TAG_pointer_type, name: "$sBpD", baseType: null
func aFunction<T : AProtocol>(_ x: T) {
print("I am in aFunction: \(x.f())")
}

View File

@@ -2,8 +2,8 @@
// RUN: %target-swift-frontend %s -O -c -emit-ir -g -o - | %FileCheck %s --check-prefix=OPT
class MyClass {}
// CHECK-LABEL: define {{.*}} @"$S13uninitialized1fyyF"
// OPT-LABEL: define {{.*}} @"$S13uninitialized1fyyF"
// CHECK-LABEL: define {{.*}} @"$s13uninitialized1fyyF"
// OPT-LABEL: define {{.*}} @"$s13uninitialized1fyyF"
public func f() {
var object: MyClass
// CHECK: %[[OBJ:.*]] = alloca %[[T1:.*]]*, align
@@ -15,8 +15,8 @@ public func f() {
// OPT: ret
}
// CHECK-LABEL: define {{.*}} @"$S13uninitialized1gyyF"
// OPT-LABEL: define {{.*}} @"$S13uninitialized1gyyF"
// CHECK-LABEL: define {{.*}} @"$s13uninitialized1gyyF"
// OPT-LABEL: define {{.*}} @"$s13uninitialized1gyyF"
public func g() {
var dict: Dictionary<Int64, Int64>
// CHECK: %[[DICT:.*]] = alloca %[[T2:.*]], align

View File

@@ -2,7 +2,7 @@
// Test that we don't generate debug info for hidden global variables.
// CHECK: @"$S4main2E1OWV" ={{.*}} constant
// CHECK: @"$s4main2E1OWV" ={{.*}} constant
// CHECK-NOT: !DIGlobalVariable
public enum E1 { case E }
public func f() -> E1 { return .E }

View File

@@ -59,8 +59,8 @@ var g = foo(1.0);
// Tuple types.
var tuple: (Int, Bool) = (1, true)
// CHECK-DAG: !DIGlobalVariable(name: "tuple", linkageName: "$S{{9variables|4main}}5tupleSi_Sbtvp",{{.*}} type: ![[TUPTY:[^,)]+]]
// CHECK-DAG: ![[TUPTY]] = !DICompositeType({{.*}}identifier: "$SSi_SbtD"
// CHECK-DAG: !DIGlobalVariable(name: "tuple", linkageName: "$s{{9variables|4main}}5tupleSi_Sbtvp",{{.*}} type: ![[TUPTY:[^,)]+]]
// CHECK-DAG: ![[TUPTY]] = !DICompositeType({{.*}}identifier: "$sSi_SbtD"
func myprint(_ p: (i: Int, b: Bool)) {
print("\(p.i) -> \(p.b)")
}
@@ -80,8 +80,8 @@ func bar(_ x: [(a : Int, b : Int)], y: [[Int]]) {
// CHECK-DAG: !DIGlobalVariable(name: "P",{{.*}} type: ![[PTY:[0-9]+]]
// CHECK-DAG: ![[PTUP:.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "$SSd1x_Sd1ySd1ztD",
// CHECK-DAG: ![[PTY]] = !DIDerivedType(tag: DW_TAG_typedef, name: "$S{{9variables|4main}}5PointaD",{{.*}} baseType: ![[PTUP]]
// CHECK-DAG: ![[PTUP:.*]] = !DICompositeType(tag: DW_TAG_structure_type, name: "$sSd1x_Sd1ySd1ztD",
// CHECK-DAG: ![[PTY]] = !DIDerivedType(tag: DW_TAG_typedef, name: "$s{{9variables|4main}}5PointaD",{{.*}} baseType: ![[PTUP]]
typealias Point = (x: Double, y: Double, z: Double)
var P:Point = (1, 2, 3)
func myprint(_ p: (x: Double, y: Double, z: Double)) {
@@ -90,7 +90,7 @@ func myprint(_ p: (x: Double, y: Double, z: Double)) {
myprint(P)
// CHECK-DAG: !DIGlobalVariable(name: "P2",{{.*}} type: ![[APTY:[0-9]+]]
// CHECK-DAG: ![[APTY]] = !DIDerivedType(tag: DW_TAG_typedef, name: "$S{{9variables|4main}}13AliasForPointaD",{{.*}} baseType: ![[PTY:[0-9]+]]
// CHECK-DAG: ![[APTY]] = !DIDerivedType(tag: DW_TAG_typedef, name: "$s{{9variables|4main}}13AliasForPointaD",{{.*}} baseType: ![[PTY:[0-9]+]]
typealias AliasForPoint = Point
var P2:AliasForPoint = (4, 5, 6)
myprint(P2)

Some files were not shown because too many files have changed in this diff Show More