<div dir="ltr">Yay!<div><br></div><div>-eric</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 26, 2014 at 10:04 PM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: dblaikie<br>
Date: Wed Aug 27 00:04:14 2014<br>
New Revision: 216521<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=216521&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=216521&view=rev</a><br>
Log:<br>
Remove type unit skeletons. GDB no longer needs them & this saves a heap of space.<br>
<br>
Modified:<br>
    llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp<br>
    llvm/trunk/test/DebugInfo/X86/generate-odr-hash.ll<br>
<br>
Modified: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=216521&r1=216520&r2=216521&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp?rev=216521&r1=216520&r2=216521&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp (original)<br>
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Wed Aug 27 00:04:14 2014<br>
@@ -2481,24 +2481,6 @@ DwarfCompileUnit &DwarfDebug::constructS<br>
   return NewCU;<br>
 }<br>
<br>
-// This DIE has the following attributes: DW_AT_comp_dir, DW_AT_dwo_name,<br>
-// DW_AT_addr_base.<br>
-DwarfTypeUnit &DwarfDebug::constructSkeletonTU(DwarfTypeUnit &TU) {<br>
-  DwarfCompileUnit &CU = static_cast<DwarfCompileUnit &>(<br>
-      *SkeletonHolder.getUnits()[TU.getCU().getUniqueID()]);<br>
-<br>
-  auto OwnedUnit = make_unique<DwarfTypeUnit>(TU.getUniqueID(), CU, Asm, this,<br>
-                                              &SkeletonHolder);<br>
-  DwarfTypeUnit &NewTU = *OwnedUnit;<br>
-  NewTU.setTypeSignature(TU.getTypeSignature());<br>
-  NewTU.setType(nullptr);<br>
-  NewTU.initSection(<br>
-      Asm->getObjFileLowering().getDwarfTypesSection(TU.getTypeSignature()));<br>
-<br>
-  initSkeletonUnit(TU, NewTU.getUnitDie(), std::move(OwnedUnit));<br>
-  return NewTU;<br>
-}<br>
-<br>
 // Emit the .debug_info.dwo section for separated dwarf. This contains the<br>
 // compile units that would normally be in debug_info.<br>
 void DwarfDebug::emitDebugInfoDWO() {<br>
@@ -2621,11 +2603,8 @@ void DwarfDebug::addDwarfTypeUnitType(Dw<br>
<br>
     // If the type wasn't dependent on fission addresses, finish adding the type<br>
     // and all its dependent types.<br>
-    for (auto &TU : TypeUnitsToAdd) {<br>
-      if (useSplitDwarf())<br>
-        TU.first->setSkeleton(constructSkeletonTU(*TU.first));<br>
+    for (auto &TU : TypeUnitsToAdd)<br>
       InfoHolder.addUnit(std::move(TU.first));<br>
-    }<br>
   }<br>
   CU.addDIETypeSignature(RefDie, NewTU);<br>
 }<br>
<br>
Modified: llvm/trunk/test/DebugInfo/X86/generate-odr-hash.ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/generate-odr-hash.ll?rev=216521&r1=216520&r2=216521&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/X86/generate-odr-hash.ll?rev=216521&r1=216520&r2=216521&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/DebugInfo/X86/generate-odr-hash.ll (original)<br>
+++ llvm/trunk/test/DebugInfo/X86/generate-odr-hash.ll Wed Aug 27 00:04:14 2014<br>
@@ -2,11 +2,11 @@<br>
<br>
 ; RUN: llc < %s -o %t -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu<br>
 ; RUN: llvm-dwarfdump %t | FileCheck --check-prefix=CHECK --check-prefix=SINGLE %s<br>
-; RUN: llvm-readobj -s -t %t | FileCheck --check-prefix=OBJ_COMMON %s<br>
+; RUN: llvm-readobj -s -t %t | FileCheck --check-prefix=OBJ_SINGLE %s<br>
<br>
 ; RUN: llc < %s -split-dwarf=Enable -o %t -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu<br>
 ; RUN: llvm-dwarfdump %t | FileCheck --check-prefix=CHECK --check-prefix=FISSION %s<br>
-; RUN: llvm-readobj -s -t %t | FileCheck --check-prefix=OBJ_COMMON --check-prefix=OBJ_FISSION %s<br>
+; RUN: llvm-readobj -s -t %t | FileCheck --check-prefix=OBJ_FISSION %s<br>
<br>
 ; Generated from bar.cpp:<br>
<br>
@@ -74,20 +74,8 @@<br>
 ; CHECK-NEXT: DW_AT_declaration<br>
 ; CHECK-NEXT: DW_AT_signature {{.*}} (0xfd756cee88f8a118)<br>
<br>
-; FISSION-LABEL: .debug_types contents:<br>
-; FISSION-NOT: type_signature<br>
-; FISSION-LABEL: type_signature = 0x1d02f3be30cc5688<br>
-; FISSION: DW_TAG_type_unit<br>
-; FISSION-NEXT: DW_AT_GNU_dwo_name{{.*}}"bar.dwo"<br>
-; FISSION-NEXT: DW_AT_comp_dir{{.*}}"/tmp/dbginfo"<br>
-; FISSION-NOT: type_signature<br>
-; FISSION-LABEL: type_signature = 0xb04af47397402e77<br>
-; FISSION-NOT: type_signature<br>
-; FISSION-LABEL: type_signature = 0xfd756cee88f8a118<br>
-; FISSION-NOT: type_signature<br>
-; FISSION-LABEL: type_signature = 0xe94f6d3843e62d6b<br>
-<br>
 ; SINGLE-LABEL: .debug_types contents:<br>
+; FISSION-NOT: .debug_types contents:<br>
 ; FISSION-LABEL: .debug_types.dwo contents:<br>
<br>
 ; Check that we generate a hash for bar and the value.<br>
@@ -166,9 +154,9 @@<br>
 ; Make sure debug_types are in comdat groups. This could be more rigid to check<br>
 ; that they're the right comdat groups (each type in a separate comdat group,<br>
 ; etc)<br>
-; OBJ_COMMON: Name: .debug_types (<br>
-; OBJ_COMMON-NOT: }<br>
-; OBJ_COMMON: SHF_GROUP<br>
+; OBJ_SINGLE: Name: .debug_types (<br>
+; OBJ_SINGLE-NOT: }<br>
+; OBJ_SINGLE: SHF_GROUP<br>
<br>
 ; Fission type units don't go in comdat groups, since their linker is debug<br>
 ; aware it's handled using the debug info semantics rather than raw ELF object<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>