summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DIEHash.h
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2013-10-24 17:51:43 +0000
committerDavid Blaikie <dblaikie@gmail.com>2013-10-24 17:51:43 +0000
commitafcb9656c33afc266fdbe1946c17a9b8e1588d94 (patch)
tree6a28c9a11ad2eb82b7c42dff4f507a9b6a56e008 /llvm/lib/CodeGen/AsmPrinter/DIEHash.h
parent42d495539ab024c194343fa3c32bd021aa3215a0 (diff)
downloadbcm5719-llvm-afcb9656c33afc266fdbe1946c17a9b8e1588d94.tar.gz
bcm5719-llvm-afcb9656c33afc266fdbe1946c17a9b8e1588d94.zip
DIEHash: Refactor ref attribute hashing into smaller functions
llvm-svn: 193360
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DIEHash.h')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DIEHash.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DIEHash.h b/llvm/lib/CodeGen/AsmPrinter/DIEHash.h
index a59df35a0d8..2869ce7614d 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DIEHash.h
+++ b/llvm/lib/CodeGen/AsmPrinter/DIEHash.h
@@ -124,6 +124,19 @@ private:
/// \brief Hashes an individual attribute.
void hashAttribute(AttrEntry Attr, dwarf::Tag Tag);
+ /// \brief Hashes an attribute that refers to another DIE.
+ void hashDIEEntry(dwarf::Attribute Attribute, dwarf::Tag Tag,
+ DIE &Entry);
+
+ /// \brief Hashes a reference to a named type in such a way that is
+ /// independent of whether that type is described by a declaration or a
+ /// definition.
+ void hashShallowTypeReference(dwarf::Attribute Attribute,
+ const DIE &Entry, StringRef Name);
+
+ /// \brief Hashes a reference to a previously referenced type DIE.
+ void hashRepeatedTypeReference(dwarf::Attribute Attribute, unsigned DieNumber);
+
private:
MD5 Hash;
DenseMap<DIE*, unsigned> Numbering;
OpenPOWER on IntegriCloud