LLVM: include/llvm/CGData/OutlinedHashTreeRecord.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16#ifndef LLVM_CGDATA_OUTLINEDHASHTREERECORD_H

17#define LLVM_CGDATA_OUTLINEDHASHTREERECORD_H

18

21

22namespace llvm {

23

24

25

27 llvm::yaml::Hex64 Hash;

30};

31

35

37 std::unique_ptr HashTree;

38

42

43

45

47

49

51

52

56

57

59

60

65

66private:

67

69

70

72};

73

74}

75

76#endif

This class implements an extremely fast bulk output stream that can only output to a stream.

The Input class is used to parse a yaml document into in-memory structs and vectors.

The Output class is used to generate a yaml document from in-memory structs and vectors.

This is an optimization pass for GlobalISel generic memory operations.

LLVM_ABI raw_fd_ostream & errs()

This returns a reference to a raw_ostream for standard error.

DenseMap< unsigned, HashNode * > IdHashNodeMapTy

Definition OutlinedHashTreeRecord.h:33

OutputIt move(R &&Range, OutputIt Out)

Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.

std::map< unsigned, HashNodeStable > IdHashNodeStableMapTy

Definition OutlinedHashTreeRecord.h:32

DenseMap< const HashNode *, unsigned > HashNodeIdMapTy

Definition OutlinedHashTreeRecord.h:34

Implement std::hash so that hash_code can be used in STL containers.

HashNodeStable is the serialized, stable, and compact representation of a HashNode.

Definition OutlinedHashTreeRecord.h:26

llvm::yaml::Hex64 Hash

Definition OutlinedHashTreeRecord.h:27

unsigned Terminals

Definition OutlinedHashTreeRecord.h:28

std::vector< unsigned > SuccessorIds

Definition OutlinedHashTreeRecord.h:29

LLVM_ABI void serializeYAML(yaml::Output &YOS) const

Serialize the outlined hash tree to a YAML stream.

LLVM_ABI void deserializeYAML(yaml::Input &YIS)

Deserialize the outlined hash tree from a YAML stream.

LLVM_ABI void deserialize(const unsigned char *&Ptr)

Deserialize the outlined hash tree from a raw_ostream.

OutlinedHashTreeRecord(std::unique_ptr< OutlinedHashTree > HashTree)

Definition OutlinedHashTreeRecord.h:40

bool empty() const

Definition OutlinedHashTreeRecord.h:58

LLVM_ABI void serialize(raw_ostream &OS) const

Serialize the outlined hash tree to a raw_ostream.

void print(raw_ostream &OS=llvm::errs()) const

Print the outlined hash tree in a YAML format.

Definition OutlinedHashTreeRecord.h:61

std::unique_ptr< OutlinedHashTree > HashTree

Definition OutlinedHashTreeRecord.h:37

OutlinedHashTreeRecord()

Definition OutlinedHashTreeRecord.h:39

void merge(const OutlinedHashTreeRecord &Other)

Merge the other outlined hash tree into this one.

Definition OutlinedHashTreeRecord.h:53