mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-08 19:25:47 +00:00
DwarfCompileUnit: Push DIDescriptor usage out from isShareableAcrossCUs
This is the first of a few similar patches. We'll see how far it goes/makes sense. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194871 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -99,11 +99,11 @@ int64_t CompileUnit::getDefaultLowerBound() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Check whether the DIE for this MDNode can be shared across CUs.
|
/// Check whether the DIE for this MDNode can be shared across CUs.
|
||||||
static bool isShareableAcrossCUs(const MDNode *N) {
|
static bool isShareableAcrossCUs(DIDescriptor D) {
|
||||||
// When the MDNode can be part of the type system, the DIE can be
|
// When the MDNode can be part of the type system, the DIE can be
|
||||||
// shared across CUs.
|
// shared across CUs.
|
||||||
return DIDescriptor(N).isType() ||
|
return D.isType() ||
|
||||||
(DIDescriptor(N).isSubprogram() && !DISubprogram(N).isDefinition());
|
(D.isSubprogram() && !DISubprogram(D).isDefinition());
|
||||||
}
|
}
|
||||||
|
|
||||||
/// getDIE - Returns the debug information entry map slot for the
|
/// getDIE - Returns the debug information entry map slot for the
|
||||||
@@ -111,7 +111,7 @@ static bool isShareableAcrossCUs(const MDNode *N) {
|
|||||||
/// when the DIE for this MDNode can be shared across CUs. The mappings
|
/// when the DIE for this MDNode can be shared across CUs. The mappings
|
||||||
/// will be kept in DwarfDebug for shareable DIEs.
|
/// will be kept in DwarfDebug for shareable DIEs.
|
||||||
DIE *CompileUnit::getDIE(const MDNode *N) const {
|
DIE *CompileUnit::getDIE(const MDNode *N) const {
|
||||||
if (isShareableAcrossCUs(N))
|
if (isShareableAcrossCUs(DIDescriptor(N)))
|
||||||
return DD->getDIE(N);
|
return DD->getDIE(N);
|
||||||
return MDNodeToDieMap.lookup(N);
|
return MDNodeToDieMap.lookup(N);
|
||||||
}
|
}
|
||||||
@@ -120,7 +120,7 @@ DIE *CompileUnit::getDIE(const MDNode *N) const {
|
|||||||
/// when the DIE for this MDNode can be shared across CUs. The mappings
|
/// when the DIE for this MDNode can be shared across CUs. The mappings
|
||||||
/// will be kept in DwarfDebug for shareable DIEs.
|
/// will be kept in DwarfDebug for shareable DIEs.
|
||||||
void CompileUnit::insertDIE(const MDNode *N, DIE *D) {
|
void CompileUnit::insertDIE(const MDNode *N, DIE *D) {
|
||||||
if (isShareableAcrossCUs(N)) {
|
if (isShareableAcrossCUs(DIDescriptor(N))) {
|
||||||
DD->insertDIE(N, D);
|
DD->insertDIE(N, D);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user