Skip to content

Commit a33e404

Browse files
authored
merge amd-debug into amd-staging (llvm#3753)
2 parents 040f999 + 5f9b84b commit a33e404

31 files changed

+2150
-190
lines changed

clang/lib/Basic/Targets/AMDGPU.h

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -400,15 +400,12 @@ class LLVM_LIBRARY_VISIBILITY AMDGPUTargetInfo final : public TargetInfo {
400400
/// in the DWARF.
401401
std::optional<unsigned>
402402
getDWARFAddressSpace(unsigned AddressSpace) const override {
403-
const unsigned DWARF_Private = 1;
404-
const unsigned DWARF_Local = 2;
405-
if (AddressSpace == llvm::AMDGPUAS::PRIVATE_ADDRESS) {
406-
return DWARF_Private;
407-
} else if (AddressSpace == llvm::AMDGPUAS::LOCAL_ADDRESS) {
408-
return DWARF_Local;
409-
} else {
403+
int DWARFAS = llvm::AMDGPU::mapToDWARFAddrSpace(AddressSpace);
404+
// If there is no corresponding address space identifier, or it would be
405+
// the default, then don't emit the attribute.
406+
if (DWARFAS == -1 || DWARFAS == llvm::AMDGPU::DWARFAS::DEFAULT)
410407
return std::nullopt;
411-
}
408+
return DWARFAS;
412409
}
413410

414411
CallingConvCheckResult checkCallingConvention(CallingConv CC) const override {

clang/lib/CodeGen/CGDebugInfo.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5436,7 +5436,7 @@ llvm::DILocalVariable *CGDebugInfo::EmitDeclareForHeterogeneousDwarf(
54365436
} else if (const auto *RT = dyn_cast<RecordType>(VD->getType())) {
54375437
// If VD is an anonymous union then Storage represents value for
54385438
// all union fields.
5439-
const RecordDecl *RD = RT->getOriginalDecl();
5439+
const RecordDecl *RD = RT->getOriginalDecl()->getDefinitionOrSelf();
54405440
if (RD->isUnion() && RD->isAnonymousStructOrUnion()) {
54415441
llvm::DIExprBuilder UnionExprBuilder{ExprBuilder};
54425442
llvm::DIExpression *UnionDIExpression = UnionExprBuilder.intoExpression();
@@ -5999,9 +5999,9 @@ llvm::DIGlobalVariableExpression *CGDebugInfo::CollectAnonRecordDecls(
59995999
// Ignore unnamed fields, but recurse into anonymous records.
60006000
if (FieldName.empty()) {
60016001
if (const auto *RT = dyn_cast<RecordType>(Field->getType()))
6002-
GVE =
6003-
CollectAnonRecordDecls(RT->getOriginalDecl()->getDefinitionOrSelf(),
6004-
Unit, LineNo, LinkageName, MS, Var, DContext);
6002+
GVE = CollectAnonRecordDecls(
6003+
RT->getOriginalDecl()->getDefinitionOrSelf(), Unit, LineNo,
6004+
LinkageName, MS, Var, DContext);
60056005
continue;
60066006
}
60076007
// Use VarDecl's Tag, Scope and Line number.
@@ -6030,7 +6030,8 @@ CGDebugInfo::CollectAnonRecordDeclsForHeterogeneousDwarf(
60306030
if (FieldName.empty()) {
60316031
if (const auto *RT = dyn_cast<RecordType>(Field->getType()))
60326032
GVE = CollectAnonRecordDeclsForHeterogeneousDwarf(
6033-
RT->getOriginalDecl(), Unit, LineNo, LinkageName, MS, Var, DContext);
6033+
RT->getOriginalDecl()->getDefinitionOrSelf(), Unit, LineNo,
6034+
LinkageName, MS, Var, DContext);
60346035
continue;
60356036
}
60366037
// Use VarDecl's Tag, Scope and Line number.
@@ -6393,7 +6394,8 @@ void CGDebugInfo::EmitGlobalVariableForHeterogeneousDwarf(
63936394
// to find the name of any field in the union.
63946395
llvm::dwarf::MemorySpace MS = getDWARFMemorySpace(D);
63956396
if (T->isUnionType() && DeclName.empty()) {
6396-
const RecordDecl *RD = T->castAs<RecordType>()->getOriginalDecl();
6397+
const RecordDecl *RD =
6398+
T->castAs<RecordType>()->getOriginalDecl()->getDefinitionOrSelf();
63976399
assert(RD->isAnonymousStructOrUnion() &&
63986400
"unnamed non-anonymous struct or union?");
63996401
// FIXME(KZHURAVL): No tests for this path.
@@ -6514,7 +6516,6 @@ void CGDebugInfo::EmitGlobalVariableForHeterogeneousDwarf(
65146516

65156517
if (const auto *ECD = dyn_cast<EnumConstantDecl>(VD)) {
65166518
const auto *ED = cast<EnumDecl>(ECD->getDeclContext());
6517-
assert(isa<EnumType>(ED->getASTContext().getCanonicalTagType(ED)) && "Enum without EnumType?");
65186519

65196520
if (CGM.getCodeGenOpts().EmitCodeView) {
65206521
// If CodeView, emit enums as global variables, unless they are defined
@@ -6527,10 +6528,9 @@ void CGDebugInfo::EmitGlobalVariableForHeterogeneousDwarf(
65276528
// If not CodeView, emit DW_TAG_enumeration_type if necessary. For
65286529
// example: for "enum { ZERO };", a DW_TAG_enumeration_type is created the
65296530
// first time `ZERO` is referenced in a function.
6530-
llvm::DIType *EDTy =
6531-
getOrCreateType(QualType(ED->getASTContext().getCanonicalTagType(ED)), Unit);
6532-
assert (EDTy->getTag() == llvm::dwarf::DW_TAG_enumeration_type);
6533-
(void)EDTy;
6531+
CanQualType T = CGM.getContext().getCanonicalTagType(ED);
6532+
[[maybe_unused]] llvm::DIType *EDTy = getOrCreateType(T, Unit);
6533+
assert(EDTy->getTag() == llvm::dwarf::DW_TAG_enumeration_type);
65346534
return;
65356535
}
65366536
}

clang/test/CodeGenHIP/debug-info-amdgcn-abi-heterogeneous-dwarf.hip

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1096,13 +1096,13 @@ __global__ void Test_Kern_ParamRegLimitUnexpandedStruct(int64_t, int64_t, int64_
10961096
// CHECK: [[META75]] = !DISubprogram(name: "StructTrivialCopyTrivialMove", scope: [[META72]], file: [[META4]], line: 41, type: [[META76:![0-9]+]], scopeLine: 41, flags: DIFlagPrototyped, spFlags: 0)
10971097
// CHECK: [[META76]] = !DISubroutineType(types: [[META77:![0-9]+]])
10981098
// CHECK: [[META77]] = !{null, [[META78:![0-9]+]], [[META79:![0-9]+]]}
1099-
// CHECK: [[META78]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: [[META72]], size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
1100-
// CHECK: [[META79]] = !DIDerivedType(tag: DW_TAG_reference_type, baseType: [[META80:![0-9]+]], size: 64)
1099+
// CHECK: [[META78]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: [[META72]], size: 64, flags: DIFlagArtificial | DIFlagObjectPointer, addressSpace: 1)
1100+
// CHECK: [[META79]] = !DIDerivedType(tag: DW_TAG_reference_type, baseType: [[META80:![0-9]+]], size: 64, addressSpace: 1)
11011101
// CHECK: [[META80]] = !DIDerivedType(tag: DW_TAG_const_type, baseType: [[META72]])
11021102
// CHECK: [[META81]] = !DISubprogram(name: "StructTrivialCopyTrivialMove", scope: [[META72]], file: [[META4]], line: 42, type: [[META82:![0-9]+]], scopeLine: 42, flags: DIFlagPrototyped, spFlags: 0)
11031103
// CHECK: [[META82]] = !DISubroutineType(types: [[META83:![0-9]+]])
11041104
// CHECK: [[META83]] = !{null, [[META78]], [[META84:![0-9]+]]}
1105-
// CHECK: [[META84]] = !DIDerivedType(tag: DW_TAG_rvalue_reference_type, baseType: [[META72]], size: 64)
1105+
// CHECK: [[META84]] = !DIDerivedType(tag: DW_TAG_rvalue_reference_type, baseType: [[META72]], size: 64, addressSpace: 1)
11061106
// CHECK: [[META85]] = !{[[META86]]}
11071107
// CHECK: [[META86]] = !DILocalVariable(arg: 1, scope: [[DBG69]], file: [[META4]], line: 160, type: [[META72]])
11081108
// CHECK: [[META87]] = !DILocation(line: 160, column: 84, scope: [[DBG69]])
@@ -1121,13 +1121,13 @@ __global__ void Test_Kern_ParamRegLimitUnexpandedStruct(int64_t, int64_t, int64_
11211121
// CHECK: [[META100]] = !DISubprogram(name: "StructNoCopyTrivialMove", scope: [[META97]], file: [[META4]], line: 46, type: [[META101:![0-9]+]], scopeLine: 46, flags: DIFlagPrototyped, spFlags: DISPFlagDeleted)
11221122
// CHECK: [[META101]] = !DISubroutineType(types: [[META102:![0-9]+]])
11231123
// CHECK: [[META102]] = !{null, [[META103:![0-9]+]], [[META104:![0-9]+]]}
1124-
// CHECK: [[META103]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: [[META97]], size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
1125-
// CHECK: [[META104]] = !DIDerivedType(tag: DW_TAG_reference_type, baseType: [[META105:![0-9]+]], size: 64)
1124+
// CHECK: [[META103]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: [[META97]], size: 64, flags: DIFlagArtificial | DIFlagObjectPointer, addressSpace: 1)
1125+
// CHECK: [[META104]] = !DIDerivedType(tag: DW_TAG_reference_type, baseType: [[META105:![0-9]+]], size: 64, addressSpace: 1)
11261126
// CHECK: [[META105]] = !DIDerivedType(tag: DW_TAG_const_type, baseType: [[META97]])
11271127
// CHECK: [[META106]] = !DISubprogram(name: "StructNoCopyTrivialMove", scope: [[META97]], file: [[META4]], line: 47, type: [[META107:![0-9]+]], scopeLine: 47, flags: DIFlagPrototyped, spFlags: 0)
11281128
// CHECK: [[META107]] = !DISubroutineType(types: [[META108:![0-9]+]])
11291129
// CHECK: [[META108]] = !{null, [[META103]], [[META109:![0-9]+]]}
1130-
// CHECK: [[META109]] = !DIDerivedType(tag: DW_TAG_rvalue_reference_type, baseType: [[META97]], size: 64)
1130+
// CHECK: [[META109]] = !DIDerivedType(tag: DW_TAG_rvalue_reference_type, baseType: [[META97]], size: 64, addressSpace: 1)
11311131
// CHECK: [[META110]] = !{[[META111]]}
11321132
// CHECK: [[META111]] = !DILocalVariable(arg: 1, scope: [[DBG94]], file: [[META4]], line: 182, type: [[META97]])
11331133
// CHECK: [[META112]] = !DILocation(line: 182, column: 74, scope: [[DBG94]])
@@ -1146,13 +1146,13 @@ __global__ void Test_Kern_ParamRegLimitUnexpandedStruct(int64_t, int64_t, int64_
11461146
// CHECK: [[META125]] = !DISubprogram(name: "StructTrivialCopyNoMove", scope: [[META122]], file: [[META4]], line: 51, type: [[META126:![0-9]+]], scopeLine: 51, flags: DIFlagPrototyped, spFlags: 0)
11471147
// CHECK: [[META126]] = !DISubroutineType(types: [[META127:![0-9]+]])
11481148
// CHECK: [[META127]] = !{null, [[META128:![0-9]+]], [[META129:![0-9]+]]}
1149-
// CHECK: [[META128]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: [[META122]], size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
1150-
// CHECK: [[META129]] = !DIDerivedType(tag: DW_TAG_reference_type, baseType: [[META130:![0-9]+]], size: 64)
1149+
// CHECK: [[META128]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: [[META122]], size: 64, flags: DIFlagArtificial | DIFlagObjectPointer, addressSpace: 1)
1150+
// CHECK: [[META129]] = !DIDerivedType(tag: DW_TAG_reference_type, baseType: [[META130:![0-9]+]], size: 64, addressSpace: 1)
11511151
// CHECK: [[META130]] = !DIDerivedType(tag: DW_TAG_const_type, baseType: [[META122]])
11521152
// CHECK: [[META131]] = !DISubprogram(name: "StructTrivialCopyNoMove", scope: [[META122]], file: [[META4]], line: 52, type: [[META132:![0-9]+]], scopeLine: 52, flags: DIFlagPrototyped, spFlags: DISPFlagDeleted)
11531153
// CHECK: [[META132]] = !DISubroutineType(types: [[META133:![0-9]+]])
11541154
// CHECK: [[META133]] = !{null, [[META128]], [[META134:![0-9]+]]}
1155-
// CHECK: [[META134]] = !DIDerivedType(tag: DW_TAG_rvalue_reference_type, baseType: [[META122]], size: 64)
1155+
// CHECK: [[META134]] = !DIDerivedType(tag: DW_TAG_rvalue_reference_type, baseType: [[META122]], size: 64, addressSpace: 1)
11561156
// CHECK: [[META135]] = !{[[META136]]}
11571157
// CHECK: [[META136]] = !DILocalVariable(arg: 1, scope: [[DBG119]], file: [[META4]], line: 204, type: [[META122]])
11581158
// CHECK: [[META137]] = !DILocation(line: 204, column: 74, scope: [[DBG119]])
@@ -1171,13 +1171,13 @@ __global__ void Test_Kern_ParamRegLimitUnexpandedStruct(int64_t, int64_t, int64_
11711171
// CHECK: [[META150]] = !DISubprogram(name: "StructNoCopyNoMove", scope: [[META147]], file: [[META4]], line: 56, type: [[META151:![0-9]+]], scopeLine: 56, flags: DIFlagPrototyped, spFlags: DISPFlagDeleted)
11721172
// CHECK: [[META151]] = !DISubroutineType(types: [[META152:![0-9]+]])
11731173
// CHECK: [[META152]] = !{null, [[META153:![0-9]+]], [[META154:![0-9]+]]}
1174-
// CHECK: [[META153]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: [[META147]], size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
1175-
// CHECK: [[META154]] = !DIDerivedType(tag: DW_TAG_reference_type, baseType: [[META155:![0-9]+]], size: 64)
1174+
// CHECK: [[META153]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: [[META147]], size: 64, flags: DIFlagArtificial | DIFlagObjectPointer, addressSpace: 1)
1175+
// CHECK: [[META154]] = !DIDerivedType(tag: DW_TAG_reference_type, baseType: [[META155:![0-9]+]], size: 64, addressSpace: 1)
11761176
// CHECK: [[META155]] = !DIDerivedType(tag: DW_TAG_const_type, baseType: [[META147]])
11771177
// CHECK: [[META156]] = !DISubprogram(name: "StructNoCopyNoMove", scope: [[META147]], file: [[META4]], line: 57, type: [[META157:![0-9]+]], scopeLine: 57, flags: DIFlagPrototyped, spFlags: DISPFlagDeleted)
11781178
// CHECK: [[META157]] = !DISubroutineType(types: [[META158:![0-9]+]])
11791179
// CHECK: [[META158]] = !{null, [[META153]], [[META159:![0-9]+]]}
1180-
// CHECK: [[META159]] = !DIDerivedType(tag: DW_TAG_rvalue_reference_type, baseType: [[META147]], size: 64)
1180+
// CHECK: [[META159]] = !DIDerivedType(tag: DW_TAG_rvalue_reference_type, baseType: [[META147]], size: 64, addressSpace: 1)
11811181
// CHECK: [[META160]] = !{[[META161]]}
11821182
// CHECK: [[META161]] = !DILocalVariable(arg: 1, scope: [[DBG144]], file: [[META4]], line: 226, type: [[META147]])
11831183
// CHECK: [[META162]] = !DILocation(line: 226, column: 64, scope: [[DBG144]])
@@ -1584,7 +1584,7 @@ __global__ void Test_Kern_ParamRegLimitUnexpandedStruct(int64_t, int64_t, int64_
15841584
// CHECK: [[DBG563]] = distinct !DISubprogram(name: "Test_Func_Pointer", linkageName: "_Z17Test_Func_PointerPi", scope: [[META4]], file: [[META4]], line: 782, type: [[META564:![0-9]+]], scopeLine: 782, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: [[META0]], retainedNodes: [[META567:![0-9]+]])
15851585
// CHECK: [[META564]] = !DISubroutineType(types: [[META565:![0-9]+]])
15861586
// CHECK: [[META565]] = !{null, [[META566:![0-9]+]]}
1587-
// CHECK: [[META566]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: [[META14]], size: 64)
1587+
// CHECK: [[META566]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: [[META14]], size: 64, addressSpace: 1)
15881588
// CHECK: [[META567]] = !{[[META568]]}
15891589
// CHECK: [[META568]] = !DILocalVariable(arg: 1, scope: [[DBG563]], file: [[META4]], line: 782, type: [[META566]])
15901590
// CHECK: [[META569]] = !DILocation(line: 782, column: 44, scope: [[DBG563]])
@@ -1597,7 +1597,7 @@ __global__ void Test_Kern_ParamRegLimitUnexpandedStruct(int64_t, int64_t, int64_
15971597
// CHECK: [[DBG576]] = distinct !DISubprogram(name: "Test_Func_Reference", linkageName: "_Z19Test_Func_ReferenceRi", scope: [[META4]], file: [[META4]], line: 808, type: [[META577:![0-9]+]], scopeLine: 808, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: [[META0]], retainedNodes: [[META580:![0-9]+]])
15981598
// CHECK: [[META577]] = !DISubroutineType(types: [[META578:![0-9]+]])
15991599
// CHECK: [[META578]] = !{null, [[META579:![0-9]+]]}
1600-
// CHECK: [[META579]] = !DIDerivedType(tag: DW_TAG_reference_type, baseType: [[META14]], size: 64)
1600+
// CHECK: [[META579]] = !DIDerivedType(tag: DW_TAG_reference_type, baseType: [[META14]], size: 64, addressSpace: 1)
16011601
// CHECK: [[META580]] = !{[[META581]]}
16021602
// CHECK: [[META581]] = !DILocalVariable(arg: 1, scope: [[DBG576]], file: [[META4]], line: 808, type: [[META579]])
16031603
// CHECK: [[META582]] = !DILocation(line: 808, column: 46, scope: [[DBG576]])
@@ -1629,7 +1629,7 @@ __global__ void Test_Kern_ParamRegLimitUnexpandedStruct(int64_t, int64_t, int64_
16291629
// CHECK: [[META608]] = !{[[META609:![0-9]+]], [[META610:![0-9]+]]}
16301630
// CHECK: [[META609]] = !DIDerivedType(tag: DW_TAG_member, name: "Element0", scope: [[META607]], file: [[META4]], line: 77, baseType: [[META566]], size: 64)
16311631
// CHECK: [[META610]] = !DIDerivedType(tag: DW_TAG_member, name: "Element1", scope: [[META607]], file: [[META4]], line: 78, baseType: [[META611:![0-9]+]], size: 64, offset: 64)
1632-
// CHECK: [[META611]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: [[META612:![0-9]+]], size: 64)
1632+
// CHECK: [[META611]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: [[META612:![0-9]+]], size: 64, addressSpace: 1)
16331633
// CHECK: [[META612]] = !DIBasicType(name: "float", size: 32, encoding: DW_ATE_float)
16341634
// CHECK: [[META613]] = !{[[META614]]}
16351635
// CHECK: [[META614]] = !DILocalVariable(arg: 1, scope: [[DBG604]], file: [[META4]], line: 859, type: [[META607]])

clang/test/CodeGenHIP/debug-info-diop-in-diexpression_ir.hip

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ __device__ void func1(pair p) {}
125125
// DIEXPRESSION-IR: [[META24]] = !DILocalVariable(name: "KernelVarA", scope: [[META19]], file: [[META7]], line: 50, type: [[META8]])
126126
// DIEXPRESSION-IR: [[META25]] = !DILocalVariable(name: "KernelVarB", scope: [[META19]], file: [[META7]], line: 51, type: [[META8]])
127127
// DIEXPRESSION-IR: [[META26]] = !DILocalVariable(name: "KernelVarSharedAPointer", scope: [[META19]], file: [[META7]], line: 53, type: [[META27:![0-9]+]])
128-
// DIEXPRESSION-IR: [[META27]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: [[META8]], size: 64)
128+
// DIEXPRESSION-IR: [[META27]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: [[META8]], size: 64, addressSpace: 1)
129129
// DIEXPRESSION-IR: [[META28]] = !DILocalVariable(name: "KernelVarSharedBPointer", scope: [[META19]], file: [[META7]], line: 54, type: [[META27]])
130130
// DIEXPRESSION-IR: [[META29]] = !DILocalVariable(name: "KernelVarAPointer", scope: [[META19]], file: [[META7]], line: 55, type: [[META27]])
131131
// DIEXPRESSION-IR: [[META30]] = !DILocalVariable(name: "KernelVarBPointer", scope: [[META19]], file: [[META7]], line: 56, type: [[META27]])

clang/test/CodeGenHIP/debug-info-memory-space.hip

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
// CHECK-DAG: !DILocalVariable(name: "FuncVarSharedPointer", scope: !{{[0-9]+}}, file: !{{[0-9]+}}, line: {{[0-9]+}}, type: ![[DEVICE_PTR:[0-9]+]])
1010
// CHECK-DAG: !DILocalVariable(name: "FuncVarPointer", scope: !{{[0-9]+}}, file: !{{[0-9]+}}, line: {{[0-9]+}}, type: ![[DEVICE_PTR:[0-9]+]])
11-
// CHECK-DAG: ![[DEVICE_PTR]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !{{[0-9]+}}, size: {{[0-9]+}})
11+
// CHECK-DAG: ![[DEVICE_PTR]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !{{[0-9]+}}, size: {{[0-9]+}}, addressSpace: 1)
1212

1313
#define __device__ __attribute__((device))
1414
#define __shared__ __attribute__((shared))

clang/test/CodeGenOpenCL/amdgpu-debug-info-pointer-address-space.cl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
// CHECK-DAG: ![[DWARF_MEMORY_SPACE_GLOBAL:[0-9]+]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !{{[0-9]+}}, size: {{[0-9]+}}, memorySpace: DW_MSPACE_LLVM_global)
66
// CHECK-DAG: ![[DWARF_MEMORY_SPACE_CONSTANT:[0-9]+]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !{{[0-9]+}}, size: {{[0-9]+}}, memorySpace: DW_MSPACE_LLVM_constant)
7-
// CHECK-DAG: ![[DWARF_MEMORY_SPACE_LOCAL:[0-9]+]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !{{[0-9]+}}, size: {{[0-9]+}}, addressSpace: 2, memorySpace: DW_MSPACE_LLVM_group)
8-
// CHECK-DAG: ![[DWARF_MEMORY_SPACE_PRIVATE:[0-9]+]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !{{[0-9]+}}, size: {{[0-9]+}}, addressSpace: 1, memorySpace: DW_MSPACE_LLVM_private)
9-
// CHECK-DAG: ![[DWARF_MEMORY_SPACE_NONE:[0-9]+]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !{{[0-9]+}}, size: {{[0-9]+}})
7+
// CHECK-DAG: ![[DWARF_MEMORY_SPACE_LOCAL:[0-9]+]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !{{[0-9]+}}, size: {{[0-9]+}}, addressSpace: 3, memorySpace: DW_MSPACE_LLVM_group)
8+
// CHECK-DAG: ![[DWARF_MEMORY_SPACE_PRIVATE:[0-9]+]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !{{[0-9]+}}, size: {{[0-9]+}}, addressSpace: 5, memorySpace: DW_MSPACE_LLVM_private)
9+
// CHECK-DAG: ![[DWARF_MEMORY_SPACE_NONE:[0-9]+]] = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !{{[0-9]+}}, size: {{[0-9]+}}, addressSpace: 1)
1010

1111
// CHECK-DAG: distinct !DIGlobalVariable(name: "FileVar0", scope: !{{[0-9]+}}, file: !{{[0-9]+}}, line: {{[0-9]+}}, type: ![[DWARF_MEMORY_SPACE_GLOBAL]], isLocal: false, isDefinition: true, memorySpace: DW_MSPACE_LLVM_global)
1212
global int *FileVar0;

0 commit comments

Comments
 (0)