And actually use the DwarfDebug::AccelNames to emit the names.

Fix for r207049 which would've emitted no accelerated names at all...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207051 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
David Blaikie 2014-04-23 23:46:25 +00:00
parent b8ebb28c65
commit 23615f8f5c
2 changed files with 2 additions and 18 deletions

View File

@ -1858,24 +1858,14 @@ void DwarfDebug::emitEndOfLineMatrix(unsigned SectionEnd) {
// Emit visible names into a hashed accelerator table section.
void DwarfDebug::emitAccelNames() {
DwarfAccelTable AT(
DwarfAccelTable::Atom(dwarf::DW_ATOM_die_offset, dwarf::DW_FORM_data4));
for (const auto &TheU : getUnits()) {
for (const auto &GI : TheU->getAccelNames()) {
StringRef Name = GI.getKey();
for (const DIE *D : GI.second)
AT.AddName(Name, D);
}
}
AT.FinalizeTable(Asm, "Names");
AccelNames.FinalizeTable(Asm, "Names");
Asm->OutStreamer.SwitchSection(
Asm->getObjFileLowering().getDwarfAccelNamesSection());
MCSymbol *SectionBegin = Asm->GetTempSymbol("names_begin");
Asm->OutStreamer.EmitLabel(SectionBegin);
// Emit the full data.
AT.Emit(Asm, SectionBegin, &InfoHolder);
AccelNames.Emit(Asm, SectionBegin, &InfoHolder);
}
// Emit objective C classes and categories into a hashed accelerator table

View File

@ -102,9 +102,6 @@ protected:
/// GlobalTypes - A map of globally visible types for this unit.
StringMap<const DIE *> GlobalTypes;
/// AccelNames - A map of names for the name accelerator table.
StringMap<std::vector<const DIE *> > AccelNames;
/// AccelObjC - A map of objc spec for the objc accelerator table.
StringMap<std::vector<const DIE *> > AccelObjC;
@ -231,9 +228,6 @@ public:
const StringMap<const DIE *> &getGlobalNames() const { return GlobalNames; }
const StringMap<const DIE *> &getGlobalTypes() const { return GlobalTypes; }
const StringMap<std::vector<const DIE *> > &getAccelNames() const {
return AccelNames;
}
const StringMap<std::vector<const DIE *> > &getAccelObjC() const {
return AccelObjC;
}