Construct a skeleton cu for each compile unit in the module, not just
for the first compile unit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174352 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index 6b19c5a..967c149 100644
--- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -686,12 +686,12 @@
   if (!FirstCU)
     FirstCU = NewCU;
 
-  // This should be a unique identifier when we want to build .dwp files.
-  if (useSplitDwarf())
+  if (useSplitDwarf()) {
+    // This should be a unique identifier when we want to build .dwp files.
     NewCU->addUInt(Die, dwarf::DW_AT_GNU_dwo_id, dwarf::DW_FORM_data8, 0);
-
-  if (useSplitDwarf() && !SkeletonCU)
-    SkeletonCU = constructSkeletonCU(N);
+    // Now construct the skeleton CU associated.
+    constructSkeletonCU(N);
+  }
 
   InfoHolder.addUnit(NewCU);
 
@@ -2477,6 +2477,9 @@
   if (!CompilationDir.empty())
     NewCU->addLocalString(Die, dwarf::DW_AT_comp_dir, CompilationDir);
 
+  if (!SkeletonCU)
+    SkeletonCU = NewCU;
+
   SkeletonHolder.addUnit(NewCU);
 
   return NewCU;