mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-02 19:24:25 +00:00
Move emission of the debug string table to early in the debug
info finalization to greatly reduce the number of fixups that the assembler has to handle in order to improve compile time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191119 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -313,10 +313,12 @@ static StringRef getObjCMethodName(StringRef In) {
|
||||
}
|
||||
|
||||
// Add the various names to the Dwarf accelerator table names.
|
||||
// TODO: Determine whether or not we should add names for programs
|
||||
// that do not have a DW_AT_name or DW_AT_linkage_name field - this
|
||||
// is only slightly different than the lookup of non-standard ObjC names.
|
||||
static void addSubprogramNames(CompileUnit *TheCU, DISubprogram SP,
|
||||
DIE* Die) {
|
||||
if (!SP.isDefinition()) return;
|
||||
|
||||
TheCU->addAccelName(SP.getName(), Die);
|
||||
|
||||
// If the linkage name is different than the name, go ahead and output
|
||||
@ -1126,6 +1128,8 @@ void DwarfDebug::endModule() {
|
||||
finalizeModuleInfo();
|
||||
|
||||
if (!useSplitDwarf()) {
|
||||
emitDebugStr();
|
||||
|
||||
// Emit all the DIEs into a debug info section.
|
||||
emitDebugInfo();
|
||||
|
||||
@ -1147,6 +1151,9 @@ void DwarfDebug::endModule() {
|
||||
} 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();
|
||||
@ -1187,11 +1194,6 @@ void DwarfDebug::endModule() {
|
||||
emitDebugPubTypes(GenerateGnuPubSections);
|
||||
}
|
||||
|
||||
// Finally emit string information into a string table.
|
||||
emitDebugStr();
|
||||
if (useSplitDwarf())
|
||||
emitDebugStrDWO();
|
||||
|
||||
// clean up.
|
||||
SPMap.clear();
|
||||
for (DenseMap<const MDNode *, CompileUnit *>::iterator I = CUMap.begin(),
|
||||
|
Reference in New Issue
Block a user