aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2012-03-01 22:50:31 +0000
committerEric Christopher <echristo@apple.com>2012-03-01 22:50:31 +0000
commit12313a56ec1f17cb7636773b1a6448917835f838 (patch)
treec71dc2ea010d737d04d9541264a2044318dc2c49 /lib/CodeGen/AsmPrinter/DwarfDebug.cpp
parente751c0069aee16e85156d6539f4b724f71c341c6 (diff)
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
Diffstat (limited to 'lib/CodeGen/AsmPrinter/DwarfDebug.cpp')
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfDebug.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index 58e40e17c5..9f1aed4890 100644
--- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -804,6 +804,9 @@ void DwarfDebug::endModule() {
// 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 @@ void DwarfDebug::endModule() {
// Emit inline info.
emitDebugInlineInfo();
- // Emit info into a debug str section.
- emitDebugStr();
-
// clean up.
DeleteContainerSeconds(DeadFnScopeMap);
SPMap.clear();