<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>