Refactor the section emission code to remove duplicates now that

we can emit various sections in any order.
No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195120 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Christopher 2013-11-19 09:04:50 +00:00
parent eee5230373
commit d2b3a0243c

View File

@ -1165,54 +1165,30 @@ void DwarfDebug::endModule() {
// Finalize the debug info for the module.
finalizeModuleInfo();
if (!useSplitDwarf()) {
emitDebugStr();
emitDebugStr();
// Emit all the DIEs into a debug info section.
emitDebugInfo();
// Emit all the DIEs into a debug info section.
emitDebugInfo();
// Corresponding abbreviations into a abbrev section.
emitAbbreviations();
// Corresponding abbreviations into a abbrev section.
emitAbbreviations();
// Emit info into a debug loc section.
emitDebugLoc();
// Emit info into a debug loc section.
emitDebugLoc();
// Emit info into a debug aranges section.
emitDebugARanges();
// Emit info into a debug aranges section.
emitDebugARanges();
// Emit info into a debug ranges section.
emitDebugRanges();
// Emit info into a debug ranges section.
emitDebugRanges();
// Emit info into a debug macinfo section.
emitDebugMacInfo();
// Emit info into a debug macinfo section.
emitDebugMacInfo();
} else {
// TODO: Fill this in for separated debug sections and separate
// out information into new sections.
emitDebugStr();
if (useSplitDwarf())
emitDebugStrDWO();
// Emit the debug info section and compile units.
emitDebugInfo();
if (useSplitDwarf()) {
emitDebugStrDWO();
emitDebugInfoDWO();
// Corresponding abbreviations into a abbrev section.
emitAbbreviations();
emitDebugAbbrevDWO();
// Emit info into a debug loc section.
emitDebugLoc();
// Emit info into a debug aranges section.
emitDebugARanges();
// Emit info into a debug ranges section.
emitDebugRanges();
// Emit info into a debug macinfo section.
emitDebugMacInfo();
// Emit DWO addresses.
InfoHolder.emitAddresses(Asm->getObjFileLowering().getDwarfAddrSection());
}