mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[Debug Info] Remove the mostly unused FragmentType from DebugTypeInfo
This cleanup allows for more consistent debug info emission since we depend less on IRGen magic to emit debug info for types.
This commit is contained in:
@@ -10,7 +10,7 @@ public let s = S<Int>(t: 0)
|
||||
// CHECK-SAME: templateParams: ![[PARAMS:[0-9]+]]
|
||||
// CHECK: ![[PARAMS]] = !{![[INTPARAM:[0-9]+]]}
|
||||
// CHECK: ![[INTPARAM]] = !DITemplateTypeParameter(type: ![[INT:[0-9]+]])
|
||||
// CHECK: ![[INT]] = !DICompositeType(tag: DW_TAG_structure_type, name: "$sSiD",
|
||||
// CHECK: ![[INT]] = !DICompositeType(tag: DW_TAG_structure_type, {{.*}}identifier: "$sSiD"
|
||||
|
||||
|
||||
// DWARF: !DICompositeType(tag: DW_TAG_structure_type,
|
||||
@@ -56,4 +56,4 @@ public let inner = S2<Double>.Inner(t:4.2)
|
||||
|
||||
// DWARF: ![[ELEMENTS1]] = !{![[ELEMENTS2:[0-9]+]]}
|
||||
|
||||
// DWARF: ![[ELEMENTS2]] = !DIDerivedType(tag: DW_TAG_member, name: "t", scope: !27, file: !3, baseType: ![[GENERIC_PARAM_TYPE]])
|
||||
// DWARF: ![[ELEMENTS2]] = !DIDerivedType(tag: DW_TAG_member, name: "t", {{.*}}, baseType: ![[GENERIC_PARAM_TYPE]])
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
// RUN: %target-swift-frontend %S/../Inputs/empty.swift -primary-file %s \
|
||||
// RUN: -emit-ir -g | %FileCheck %s
|
||||
// CHECK: !DICompileUnit({{.*}}flags: {{[^,]*}}-private-discriminator [[DISCRIMINATOR:_[A-Z0-9]+]]
|
||||
// CHECK: ![[MOD:.*]] = !DIModule(scope: null,
|
||||
// CHECK: ![[MOD:.*]] = !DIModule(scope: null, name: "empty"
|
||||
// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "InA",
|
||||
// CHECK-SAME: scope: ![[A:[0-9]+]],
|
||||
// CHECK: ![[A]] = !DICompositeType(tag: DW_TAG_structure_type, name: "A",
|
||||
|
||||
@@ -27,7 +27,7 @@ func main() -> Int64 {
|
||||
// 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]] = {{.*}}name: "$ss5Int64VD"
|
||||
// CHECK-DAG: ![[INT]] = {{.*}}identifier: "$ss5Int64VD"
|
||||
// CHECK-DAG: ![[FLOAT]] = {{.*}}identifier: "$sSfD"
|
||||
var baz_fnptr = baz
|
||||
baz_fnptr(2.89)
|
||||
|
||||
@@ -12,17 +12,14 @@ public func foo<Type>(_ values : [S<Type>])
|
||||
// CHECK-SAME: ![[ARG:[0-9]+]],
|
||||
// CHECK-SAME: !DIExpression(DW_OP_deref)
|
||||
// CHECK: store ptr %1, ptr %[[ALLOCA]], align
|
||||
// CHECK: ![[TYP:[0-9]+]] = !DICompositeType({{.*}}, name: "$s12generic_arg51SVyxGD"
|
||||
// CHECK-DAG: ![[TYP:[0-9]+]] = !DICompositeType({{.*}}, name: "$s12generic_arg51SVyxGD"
|
||||
// The argument is a by-ref struct and thus needs to be dereferenced.
|
||||
// CHECK: ![[ARG]] = !DILocalVariable(name: "arg", arg: 1,
|
||||
// CHECK-SAME: line: [[@LINE+8]],
|
||||
// CHECK-SAME: type: ![[LET_TYP:[0-9]+]])
|
||||
// CHECK: ![[LET_TYP]] = !DIDerivedType(tag: DW_TAG_const_type,
|
||||
// CHECK-SAME: baseType: ![[TYP_CONTAINER:[0-9]+]])
|
||||
// CHECK: ![[TYP_CONTAINER]] = !DICompositeType({{.*}}elements: ![[TYP_ELTS:[0-9]+]]
|
||||
// CHECK: ![[TYP_ELTS]] = !{![[TYP_MEMBER:[0-9]+]]}
|
||||
// CHECK: ![[TYP_MEMBER]] = !DIDerivedType(tag: DW_TAG_member, {{.*}}baseType: ![[TYP_:[0-9]+]]
|
||||
// CHECK: ![[TYP_]] = !DICompositeType({{.*}}, name: "$s12generic_arg51SVyxGD"
|
||||
// CHECK-DAG: ![[ARG]] = !DILocalVariable(name: "arg", arg: 1,{{.*}}line: [[@LINE+6]],{{.*}} type: ![[LET_TYP:[0-9]+]])
|
||||
// CHECK-DAG: ![[LET_TYP]] = !DIDerivedType(tag: DW_TAG_const_type,{{.*}} baseType: ![[TYP_CONTAINER:[0-9]+]])
|
||||
// CHECK-DAG: ![[TYP_CONTAINER]] = !DICompositeType({{.*}}elements: ![[TYP_ELTS:[0-9]+]]
|
||||
// CHECK-DAG: ![[TYP_ELTS]] = !{![[TYP_MEMBER:[0-9]+]]}
|
||||
// CHECK-DAG: ![[TYP_MEMBER]] = !DIDerivedType(tag: DW_TAG_member, {{.*}}baseType: ![[TYP_:[0-9]+]]
|
||||
// CHECK-DAG: ![[TYP_]] = !DICompositeType({{.*}}, name: "$s12generic_arg51SVyxGD"
|
||||
let _ = values.flatMap { arg in
|
||||
return .some(arg)
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import local_type_originally_defined_in_other
|
||||
|
||||
public func definedInOtherModule() {
|
||||
let s = Sheep()
|
||||
// CHECK: DICompositeType(tag: DW_TAG_structure_type, name: "Sheep"{{.*}}identifier: "$s4Barn5SheepCD
|
||||
// CHECK-DAG: DICompositeType(tag: DW_TAG_structure_type, name: "Sheep"{{.*}}identifier: "$s4Barn5SheepCD
|
||||
}
|
||||
public func localTypeAliasTest(horse: Horse) {
|
||||
// The local type mangling for 'A' mentions 'Horse', which must
|
||||
@@ -18,7 +18,7 @@ public func localTypeAliasTest(horse: Horse) {
|
||||
|
||||
let info = UnsafeMutablePointer<A>.allocate(capacity: 1)
|
||||
_ = info
|
||||
// CHECK: DIDerivedType(tag: DW_TAG_typedef, name: "$s32local_type_originally_defined_in0A13TypeAliasTest5horsey4Barn5HorseV_tF1AL_aD"
|
||||
// CHECK-DAG: DIDerivedType(tag: DW_TAG_typedef, name: "$s32local_type_originally_defined_in0A13TypeAliasTest5horsey4Barn5HorseV_tF1AL_aD"
|
||||
}
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ public func localTypeTest(horse: Horse) {
|
||||
|
||||
let info = UnsafeMutablePointer<LocalStruct>.allocate(capacity: 1)
|
||||
_ = info
|
||||
// CHECK: DICompositeType(tag: DW_TAG_structure_type, name: "$s32local_type_originally_defined_in0A8TypeTest5horsey4Barn5HorseV_tF11LocalStructL_VD"
|
||||
// CHECK-DAG: DICompositeType(tag: DW_TAG_structure_type, {{.*}}identifier: "$s32local_type_originally_defined_in0A8TypeTest5horsey4Barn5HorseV_tF11LocalStructL_VD"
|
||||
}
|
||||
|
||||
public func localTypeAliasTest() -> Horse {
|
||||
@@ -40,7 +40,7 @@ public func localTypeAliasTest() -> Horse {
|
||||
let info = UnsafeMutablePointer<B>.allocate(capacity: 1)
|
||||
_ = info
|
||||
return Horse()
|
||||
// CHECK: DIDerivedType(tag: DW_TAG_typedef, name: "$s32local_type_originally_defined_in0A13TypeAliasTest4Barn5HorseVyF1BL_aD"
|
||||
// CHECK-DAG: DIDerivedType(tag: DW_TAG_typedef, name: "$s32local_type_originally_defined_in0A13TypeAliasTest4Barn5HorseVyF1BL_aD"
|
||||
}
|
||||
|
||||
public func localTypeAliasTestGeneric<T: Cow>(cow: T) {
|
||||
|
||||
@@ -15,6 +15,5 @@ public extension P {
|
||||
}
|
||||
}
|
||||
|
||||
// CHECK: ![[SELFMETA]] = !DILocalVariable(name: "$\CF\84_0_0",
|
||||
// CHECK-SAME: type: ![[SELFTY:[0-9]+]], flags: DIFlagArtificial)
|
||||
// CHECK: ![[SELFTY]] = !DIDerivedType(tag: DW_TAG_typedef, name: "Self"
|
||||
// CHECK-DAG: ![[SELFMETA]] = !DILocalVariable(name: "$\CF\84_0_0", {{.*}}type: ![[SELFTY:[0-9]+]], flags: DIFlagArtificial)
|
||||
// CHECK-DAG: ![[SELFTY]] = !DIDerivedType(tag: DW_TAG_typedef, name: "Self"
|
||||
|
||||
@@ -18,7 +18,7 @@ class MyObject : NSObject {
|
||||
// LOC-CHECK: ret
|
||||
@objc var MyArr = NSArray()
|
||||
// IMPORT-CHECK: filename: "{{.*}}test-foundation.swift"
|
||||
// IMPORT-CHECK-DAG: [[FOUNDATION:[0-9]+]] = !DIModule({{.*}} name: "Foundation",{{.*}} includePath: {{.*}}Foundation.framework
|
||||
// IMPORT-CHECK-DAG: [[FOUNDATION:[0-9]+]] = !DIModule({{.*}} name: "Foundation",{{.*}} includePath: {{.*}}Foundation.framework"
|
||||
// IMPORT-CHECK-DAG: [[OVERLAY:[0-9]+]] = !DIModule({{.*}} name: "Foundation",{{.*}} includePath: {{.*}}Foundation.swiftmodule
|
||||
// IMPORT-CHECK-DAG: !DICompositeType(tag: DW_TAG_structure_type, name: "NSArray", scope: ![[NSARRAY:[0-9]+]]
|
||||
// IMPORT-CHECK-DAG: ![[NSARRAY]] = !DIModule(scope: ![[FOUNDATION:[0-9]+]], name: "NSArray"
|
||||
|
||||
@@ -9,12 +9,9 @@ class AClass : AProtocol {
|
||||
|
||||
// CHECK: define hidden {{.*}}void @{{.*}}aFunction
|
||||
// CHECK: #dbg_declare(ptr %{{.*}}, ![[TYPEARG:.*]], !DIExpression(),
|
||||
// CHECK: ![[TYPEARG]] = !DILocalVariable(name: "$\CF\84_0_0"
|
||||
// CHECK-SAME: type: ![[SWIFTMETATYPE:[^,)]+]]
|
||||
// CHECK-SAME: flags: DIFlagArtificial
|
||||
// CHECK: ![[SWIFTMETATYPE]] = !DIDerivedType(tag: DW_TAG_typedef, name: "T",
|
||||
// CHECK-SAME: baseType: ![[VOIDPTR:[0-9]+]]
|
||||
// CHECK: ![[VOIDPTR]] = !DIDerivedType(tag: DW_TAG_pointer_type, name: "$sBpD", baseType: null
|
||||
// CHECK-DAG: ![[TYPEARG]] = !DILocalVariable(name: "$\CF\84_0_0"{{.*}}type: ![[SWIFTMETATYPE:[^,)]+]]{{.*}}flags: DIFlagArtificial
|
||||
// CHECK-DAG: ![[SWIFTMETATYPE]] = !DIDerivedType(tag: DW_TAG_typedef, name: "T",{{.*}}baseType: ![[VOIDPTR:[0-9]+]]
|
||||
// CHECK-DAG: ![[VOIDPTR]] = !DIDerivedType(tag: DW_TAG_pointer_type, name: "$sBpD", baseType: null
|
||||
func aFunction<T : AProtocol>(_ x: T) {
|
||||
print("I am in aFunction: \(x.f())")
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ struct Slab<let N: Int, Element: ~Copyable>: ~Copyable {
|
||||
|
||||
extension Slab: Copyable where Element: Copyable {}
|
||||
|
||||
// CHECK-DAG: !DICompositeType({{.*}}name: "Builtin.FixedArray", {{.*}}identifier: "$sxq_BVD"
|
||||
// CHECK-DAG: !DICompositeType({{.*}}name: "$sxq_BVD"
|
||||
func genericBA<let N: Int, Element>(_: Builtin.FixedArray<N, Element>) {}
|
||||
|
||||
// CHECK-DAG: !DICompositeType({{.*}}name: "$s4main4SlabVyxq_GD"
|
||||
@@ -24,5 +24,5 @@ func concreteBA(_: Builtin.FixedArray<4, Int>) {}
|
||||
// CHECK-DAG: ![[COUNT_PARAM]] = !DITemplateTypeParameter(type: ![[COUNT_TYPE:.*]])
|
||||
// CHECK-DAG: ![[COUNT_TYPE]] = !DICompositeType({{.*}}name: "$s$1_D"
|
||||
// CHECK-DAG: ![[ELEMENT_PARAM]] = !DITemplateTypeParameter(type: ![[ELEMENT_TYPE:.*]])
|
||||
// CHECK-DAG: ![[ELEMENT_TYPE]] = !DICompositeType({{.*}}name: "$sSiD"
|
||||
// CHECK-DAG: ![[ELEMENT_TYPE]] = !DICompositeType({{.*}}identifier: "$sSiD"
|
||||
func concreteV(_: Slab<2, Int>) {}
|
||||
|
||||
Reference in New Issue
Block a user