Move Split DWARF handling to an MC option/command line argument rather than using...
authorDavid Blaikie <dblaikie@gmail.com>
Fri, 21 Apr 2017 23:35:26 +0000 (23:35 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Fri, 21 Apr 2017 23:35:26 +0000 (23:35 +0000)
commit96b1ed50e879751637519b84a215255128b5dedd
treecec1a2012ed99922091255d7c343bda51dd6a1e6
parent5b4293c7d968e0ef43503599fa5fdb6c16801e79
Move Split DWARF handling to an MC option/command line argument rather than using metadata

Since Split DWARF needs to name the actual .dwo file that is generated,
it can't be known at the time the llvm::Module is produced as it may be
merged with other Modules before the object is generated and that object
may be generated with any name.

By passing the Split DWARF file name when LLVM is producing object code
the .dwo file name in the object file can match correctly.

The support for Split DWARF for implicit modules remains the same -
using metadata to store the dwo name and dwo id so that potentially
multiple skeleton CUs referring to different dwo files can be generated
from one llvm::Module.

llvm-svn: 301062
19 files changed:
llvm/include/llvm/MC/MCTargetOptions.h
llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
llvm/test/CodeGen/X86/dwarf-headers.ll
llvm/test/DebugInfo/Generic/empty.ll
llvm/test/DebugInfo/PowerPC/tls-fission.ll
llvm/test/DebugInfo/X86/cu-ranges-odr.ll
llvm/test/DebugInfo/X86/cu-ranges.ll
llvm/test/DebugInfo/X86/dwarf-pubnames-split.ll
llvm/test/DebugInfo/X86/empty.ll
llvm/test/DebugInfo/X86/fission-cu.ll
llvm/test/DebugInfo/X86/fission-hash.ll
llvm/test/DebugInfo/X86/fission-inline.ll
llvm/test/DebugInfo/X86/fission-no-inlining.ll
llvm/test/DebugInfo/X86/fission-ranges.ll
llvm/test/DebugInfo/X86/generate-odr-hash.ll
llvm/test/DebugInfo/X86/sret.ll
llvm/test/DebugInfo/X86/tls.ll
llvm/test/DebugInfo/X86/type_units_with_addresses.ll
llvm/tools/llc/llc.cpp