projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
DebugInfo: Emit DW_TAG_subprogram's DW_AT_high_pc as an offset from the low_pc
[oota-llvm.git]
/
lib
/
CodeGen
/
AsmPrinter
/
DIEHash.h
diff --git
a/lib/CodeGen/AsmPrinter/DIEHash.h
b/lib/CodeGen/AsmPrinter/DIEHash.h
index da373de3f0f47e7daeb9a05f769c5fd95c4e8572..40d6f44f311a4dcac83ec1f114f55471adc46cec 100644
(file)
--- a/
lib/CodeGen/AsmPrinter/DIEHash.h
+++ b/
lib/CodeGen/AsmPrinter/DIEHash.h
@@
-11,11
+11,13
@@
//
//===----------------------------------------------------------------------===//
//
//===----------------------------------------------------------------------===//
+#include "DIE.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/Support/MD5.h"
namespace llvm {
#include "llvm/ADT/DenseMap.h"
#include "llvm/Support/MD5.h"
namespace llvm {
+class AsmPrinter;
class CompileUnit;
/// \brief An object containing the capability of hashing and adding hash
class CompileUnit;
/// \brief An object containing the capability of hashing and adding hash
@@
-83,6
+85,8
@@
class DIEHash {
};
public:
};
public:
+ DIEHash(AsmPrinter *A = NULL) : AP(A) {}
+
/// \brief Computes the ODR signature.
uint64_t computeDIEODRSignature(const DIE &Die);
/// \brief Computes the ODR signature.
uint64_t computeDIEODRSignature(const DIE &Die);
@@
-121,6
+125,10
@@
private:
/// \brief Hashes the attributes in \param Attrs in order.
void hashAttributes(const DIEAttrs &Attrs, dwarf::Tag Tag);
/// \brief Hashes the attributes in \param Attrs in order.
void hashAttributes(const DIEAttrs &Attrs, dwarf::Tag Tag);
+ /// \brief Hashes the data in a block like DIEValue, e.g. DW_FORM_block or
+ /// DW_FORM_exprloc.
+ void hashBlockData(const SmallVectorImpl<DIEValue *> &Values);
+
/// \brief Hashes an individual attribute.
void hashAttribute(AttrEntry Attr, dwarf::Tag Tag);
/// \brief Hashes an individual attribute.
void hashAttribute(AttrEntry Attr, dwarf::Tag Tag);
@@
-135,10
+143,14
@@
private:
StringRef Name);
/// \brief Hashes a reference to a previously referenced type DIE.
StringRef Name);
/// \brief Hashes a reference to a previously referenced type DIE.
- void hashRepeatedTypeReference(dwarf::Attribute Attribute, unsigned DieNumber);
+ void hashRepeatedTypeReference(dwarf::Attribute Attribute,
+ unsigned DieNumber);
+
+ void hashNestedType(const DIE &Die, StringRef Name);
private:
MD5 Hash;
private:
MD5 Hash;
+ AsmPrinter *AP;
DenseMap<const DIE *, unsigned> Numbering;
};
}
DenseMap<const DIE *, unsigned> Numbering;
};
}