Reorder the sections being output to reduce the number of assembler
fixups that are being used to determine section offsets. Reduces
the total number of fixups by 50% for a non-trivial testcase.
Part of rdar://10413936
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151852 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index 58e40e1..9f1aed4 100644
--- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -804,6 +804,9 @@
// Compute DIE offsets and sizes.
computeSizeAndOffsets();
+ // Emit info into a debug str section.
+ emitDebugStr();
+
// Emit all the DIEs into a debug info section
emitDebugInfo();
@@ -836,9 +839,6 @@
// Emit inline info.
emitDebugInlineInfo();
- // Emit info into a debug str section.
- emitDebugStr();
-
// clean up.
DeleteContainerSeconds(DeadFnScopeMap);
SPMap.clear();