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();