Debug Info: Add basic support for external types references.
authorAdrian Prantl <aprantl@apple.com>
Wed, 15 Jul 2015 17:01:41 +0000 (17:01 +0000)
committerAdrian Prantl <aprantl@apple.com>
Wed, 15 Jul 2015 17:01:41 +0000 (17:01 +0000)
commitee5feafc0f467102cd12e8be82b54cc23158beb1
tree49ccb84fd5335ff36fd92ac1346313d038c97fda
parent5b4acbd6b6bceaa3ea25b237168b434a24e1181d
Debug Info: Add basic support for external types references.
This is a necessary prerequisite for bootstrapping the emission
of debug info inside modules.

- Adds a FlagExternalTypeRef to DICompositeType.
  External types must have a unique identifier.
- External type references are emitted using a forward declaration
  with a DW_AT_signature([DW_FORM_ref_sig8]) based on the UID.

http://reviews.llvm.org/D9612

llvm-svn: 242302
llvm/include/llvm/IR/DIBuilder.h
llvm/include/llvm/IR/DebugInfoFlags.def
llvm/include/llvm/IR/DebugInfoMetadata.h
llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
llvm/lib/IR/DIBuilder.cpp
llvm/test/DebugInfo/X86/externaltyperef.ll [new file with mode: 0644]