aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen
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
parente751c0069aee16e85156d6539f4b724f71c341c6 (diff)
downloadexternal_llvm-12313a56ec1f17cb7636773b1a6448917835f838.zip
external_llvm-12313a56ec1f17cb7636773b1a6448917835f838.tar.gz
external_llvm-12313a56ec1f17cb7636773b1a6448917835f838.tar.bz2
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')
-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 58e40e1..9f1aed4 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();