DebugInfo: Omit DW_AT_addr_base from skeletal type units.
authorDavid Blaikie <dblaikie@gmail.com>
Fri, 21 Mar 2014 20:27:21 +0000 (20:27 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Fri, 21 Mar 2014 20:27:21 +0000 (20:27 +0000)
commit4d221b3e89604126826732ea549a065a30276cd6
tree2ad36272676ae87190826e00f7ec2a8e4b93ed1c
parent1eb67a4f84d49d88454e2b6142d30e81c839209f
DebugInfo: Omit DW_AT_addr_base from skeletal type units.

Type units have no addresses, so there's no need for DW_AT_addr_base.
This removes another relocation from every skeletal type unit and brings
LLVM's skeletal type units in line with GCC's (containing only
GNU_dwo_name (strp), comp_dir (strp), and GNU_pubnames (flag_present)).

Cary's got some ideas about using str_index in the .o file to reduce
those last two relocations (well, replace two relocations with one
relocation (pointing to the string index) and two indicies)

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