DebugInfo: Move type units into the debug_types section with appropriate comdat group...
authorDavid Blaikie <dblaikie@gmail.com>
Fri, 13 Dec 2013 06:27:38 +0000 (06:27 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Fri, 13 Dec 2013 06:27:38 +0000 (06:27 +0000)
commitbc6b250c740bef28bb30ddea5321d9b0de0ec60c
treee71aea3ec17e7e38444e2764a82c48d646ae12eb
parentda44c36d644294924b715c8ced5440949ae9f6a5
DebugInfo: Move type units into the debug_types section with appropriate comdat grouping and type unit headers

This commit does not complete the type units feature - there are issues
around fission support (skeletal type units, pubtypes/pubnames) and
hashing of some types including those containing references to types in
other type units.

Originally committed as r197073 and reverted in r197079.
Recommitted as r197197 to reproduce the failure and reverted as r197199

Turns out there was unstable ordering in the type unit dumping code.
Fixed by using MapVector in DWARFContext to store the debug_types
comdat sections.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197210 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/MC/MCObjectFileInfo.h
include/llvm/MC/MCSectionELF.h
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
lib/CodeGen/AsmPrinter/DwarfUnit.cpp
lib/CodeGen/AsmPrinter/DwarfUnit.h
lib/DebugInfo/DWARFContext.cpp
lib/DebugInfo/DWARFContext.h
lib/MC/MCObjectFileInfo.cpp
test/DebugInfo/X86/c-type-units.ll
test/DebugInfo/X86/generate-odr-hash.ll