LLVM: lib/CodeGen/AsmPrinter/DIEHash.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13#ifndef LLVM_LIB_CODEGEN_ASMPRINTER_DIEHASH_H
14#define LLVM_LIB_CODEGEN_ASMPRINTER_DIEHASH_H
15
20
21namespace llvm {
22
24
25
26
28
29 struct DIEAttrs {
30#define HANDLE_DIE_HASH_ATTR(NAME) DIEValue NAME;
31#include "DIEHashAttributes.def"
32 };
33
34public:
37
38
40
41
43
44
45private:
46
47 void addParentContext(const DIE &Parent);
48
49
50 void addAttributes(const DIE &Die);
51
52
53 void computeHash(const DIE &Die);
54
55
56public:
57
59
60
62
63
65
67
68private:
69
71
72
73
74 void collectAttributes(const DIE &Die, DIEAttrs &Attrs);
75
76
77 void hashAttributes(const DIEAttrs &Attrs, dwarf::Tag Tag);
78
79
80
82
83
84 void hashLocList(const DIELocList &LocList);
85
86
88
89
91 const DIE &Entry);
92
93
94
95
98
99
101 unsigned DieNumber);
102
103 void hashNestedType(const DIE &Die, StringRef Name);
104
105private:
106 MD5 Hash;
110};
111}
112
113#endif
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
#define LLVM_ABI_FOR_TEST
This file defines the DenseMap class.
This class is intended to be used as a driving class for all asm writers.
Functions, function parameters, and return types can have attributes to indicate how they should be t...
void update(uint8_t Value)
Adds.
Definition DIEHash.h:58
void hashRawTypeReference(const DIE &Entry)
LLVM_ABI_FOR_TEST uint64_t computeTypeSignature(const DIE &Die)
Computes the type signature.
DIEHash(AsmPrinter *A=nullptr, DwarfCompileUnit *CU=nullptr)
Definition DIEHash.h:35
void addSLEB128(int64_t Value)
Encodes and adds.
uint64_t computeCUSignature(StringRef DWOName, const DIE &Die)
Computes the CU signature.
void addULEB128(uint64_t Value)
Encodes and adds.
Represents a pointer to a location list in the debug_loc section.
iterator_range< const_value_iterator > const_value_range
A structured debug information entry.
StringRef - Represent a constant reference to a string, i.e.
LLVM Value Representation.
This is an optimization pass for GlobalISel generic memory operations.