Add DwarfCompileUnit::getSkeleton that returns DwarfCompileUnit* to avoid having to cast from DwarfUnit* on every call.

llvm-svn: 221031
This commit is contained in:
David Blaikie 2014-11-01 00:50:34 +00:00
parent 46847425c5
commit a33cd6aa27
2 changed files with 6 additions and 3 deletions

View File

@ -42,6 +42,10 @@ public:
DwarfCompileUnit(unsigned UID, DICompileUnit Node, AsmPrinter *A,
DwarfDebug *DW, DwarfFile *DWU);
DwarfCompileUnit *getSkeleton() const {
return static_cast<DwarfCompileUnit *>(Skeleton);
}
void initStmtList(MCSymbol *DwarfLineSectionSym);
/// Apply the DW_AT_stmt_list from this compile unit to the specified DIE.

View File

@ -550,8 +550,7 @@ void DwarfDebug::finalizeModuleInfo() {
if (TheU->getUnitDie().getTag() == dwarf::DW_TAG_compile_unit) {
// If we're splitting the dwarf out now that we've got the entire
// CU then add the dwo id to it.
DwarfCompileUnit *SkCU =
static_cast<DwarfCompileUnit *>(TheU->getSkeleton());
DwarfCompileUnit *SkCU = TheU->getSkeleton();
if (useSplitDwarf()) {
// Emit a unique identifier for this CU.
uint64_t ID = DIEHash(Asm).computeCUSignature(TheU->getUnitDie());
@ -1580,7 +1579,7 @@ void DwarfDebug::emitDebugPubSection(
if (Globals.empty())
continue;
if (auto Skeleton = static_cast<DwarfCompileUnit *>(TheU->getSkeleton()))
if (auto Skeleton = TheU->getSkeleton())
TheU = Skeleton;
unsigned ID = TheU->getUniqueID();