diff options
author | David Blaikie <dblaikie@gmail.com> | 2013-12-17 23:32:35 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2013-12-17 23:32:35 +0000 |
commit | 47f615eae51a51cae58a8c9c0422c95ada7f5204 (patch) | |
tree | b6e419c3d511582207d6f7532642e6b9d3558835 /llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp | |
parent | c2e60f52aee022c298b8cd7a34fa8cddbdd61fa9 (diff) | |
download | bcm5719-llvm-47f615eae51a51cae58a8c9c0422c95ada7f5204.tar.gz bcm5719-llvm-47f615eae51a51cae58a8c9c0422c95ada7f5204.zip |
DebugInfo: Introduce new DIValue, DIETypeSignature to encode references to type units via their signatures
This simplifies type unit and type unit reference creation as well as
setting the stage for inter-type hashing across type unit boundaries.
llvm-svn: 197539
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp index 87a38912448..85a76287434 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp @@ -322,6 +322,11 @@ void DwarfUnit::addDIEEntry(DIE *Die, dwarf::Attribute Attribute, DIE *Entry) { addDIEEntry(Die, Attribute, createDIEEntry(Entry)); } +void DwarfUnit::addDIETypeSignature(DIE *Die, const DwarfTypeUnit &Type) { + Die->addValue(dwarf::DW_AT_signature, dwarf::DW_FORM_ref_sig8, + new (DIEValueAllocator) DIETypeSignature(Type)); +} + void DwarfUnit::addDIEEntry(DIE *Die, dwarf::Attribute Attribute, DIEEntry *Entry) { const DIE *DieCU = Die->getUnitOrNull(); |