summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2013-12-17 23:32:35 +0000
committerDavid Blaikie <dblaikie@gmail.com>2013-12-17 23:32:35 +0000
commit47f615eae51a51cae58a8c9c0422c95ada7f5204 (patch)
treeb6e419c3d511582207d6f7532642e6b9d3558835 /llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
parentc2e60f52aee022c298b8cd7a34fa8cddbdd61fa9 (diff)
downloadbcm5719-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.cpp5
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();
OpenPOWER on IntegriCloud