DebugInfo: Implement debug_line.dwo for file names used in type units during -gsplit...
authorDavid Blaikie <dblaikie@gmail.com>
Tue, 18 Mar 2014 01:17:26 +0000 (01:17 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Tue, 18 Mar 2014 01:17:26 +0000 (01:17 +0000)
commit9c1e56a84d5618e74662d98c0416a74e5a7ab31d
treee1afcdf4bfe8f54df08fbb1185a49fb47fd4fc33
parentcdbfefbfeda62fa5265fe1b74543f4621407b6d3
DebugInfo: Implement debug_line.dwo for file names used in type units during -gsplit-dwarf

This removes an attribute (and more importantly, a relocation) from
skeleton type units and removes some unnecessary file names from the
debug_line section that remains in the .o (and linked executable) file.

There's still a few places we could shave off some more space here:

* use compilation dir of the underlying compilation unit (since all the
  type units share that compilation dir - though this would be more
  complicated in LTO cases where they don't (keep a map of compilation
  dir->line table header?))

* Remove some of the unnecessary header fields from the line table since
  they're not needed in this situation (about 12 bytes per table).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204099 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
lib/CodeGen/AsmPrinter/DwarfDebug.h
lib/CodeGen/AsmPrinter/DwarfUnit.cpp
lib/CodeGen/AsmPrinter/DwarfUnit.h
test/DebugInfo/X86/generate-odr-hash.ll