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.