DebugInfo: Avoid re-looking up the DwarfUnit when emitting pubnames/pubtypes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203620 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
David Blaikie 2014-03-11 23:23:39 +00:00
parent e98b0e466f
commit ef953d6399

View File

@ -2212,6 +2212,9 @@ void DwarfDebug::emitDebugPubSection(
const StringMap<const DIE *> &(DwarfUnit::*Accessor)() const) {
for (const auto &NU : CUMap) {
DwarfCompileUnit *TheU = NU.second;
const auto &Globals = (TheU->*Accessor)();
if (auto Skeleton = static_cast<DwarfCompileUnit *>(TheU->getSkeleton()))
TheU = Skeleton;
unsigned ID = TheU->getUniqueID();
@ -2237,7 +2240,7 @@ void DwarfDebug::emitDebugPubSection(
Asm->EmitLabelDifference(TheU->getLabelEnd(), TheU->getLabelBegin(), 4);
// Emit the pubnames for this compilation unit.
for (const auto &GI : (getUnits()[ID]->*Accessor)()) {
for (const auto &GI : Globals) {
const char *Name = GI.getKeyData();
const DIE *Entity = GI.second;