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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16#ifndef LLVM_CGDATA_STABLEFUNCTIONMAPRECORD_H

17#define LLVM_CGDATA_STABLEFUNCTIONMAPRECORD_H

18

24

25namespace llvm {

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

49

51 FunctionMap = std::make_unique();

52 }

53

56

57

58

61 std::vector &PatchItems);

62

63

64

65

69

70

72 std::vector &PatchItems) const;

73

74

76

77

78

79

82

83

85

86

88

89

91

92

96

97

99

100

105

106

107

111 "Cannot change ReadStableFunctionMapNames after the map is populated");

113 }

114

115private:

116 void deserialize(const unsigned char *&Ptr, bool Lazy);

117};

118

119}

120

121#endif

assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")

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.

uint64_t stable_hash

An opaque object representing a stable hash code.

LLVM_ABI raw_fd_ostream & errs()

This returns a reference to a raw_ostream for standard error.

OutputIt move(R &&Range, OutputIt Out)

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

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

void merge(const StableFunctionMapRecord &Other)

Merge the stable function map into this one.

Definition StableFunctionMapRecord.h:93

bool empty() const

Definition StableFunctionMapRecord.h:98

void finalize(bool SkipTrim=false)

Finalize the stable function map by trimming content.

Definition StableFunctionMapRecord.h:90

static LLVM_ABI void deserializeEntry(const unsigned char *Ptr, stable_hash Hash, StableFunctionMap *FunctionMap)

A static helper function to deserialize the stable function map entry.

LLVM_ABI void deserialize(const unsigned char *&Ptr)

Deserialize the stable function map from a raw_ostream.

std::unique_ptr< StableFunctionMap > FunctionMap

Definition StableFunctionMapRecord.h:48

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

Print the stable function map in a YAML format.

Definition StableFunctionMapRecord.h:101

static LLVM_ABI void serialize(raw_ostream &OS, const StableFunctionMap *FunctionMap, std::vector< CGDataPatchItem > &PatchItems)

A static helper function to serialize the stable function map without owning the stable function map.

StableFunctionMapRecord(std::unique_ptr< StableFunctionMap > FunctionMap)

Definition StableFunctionMapRecord.h:54

void setReadStableFunctionMapNames(bool Read)

Set whether to read stable function names from the buffer.

Definition StableFunctionMapRecord.h:108

LLVM_ABI void deserializeYAML(yaml::Input &YIS)

Deserialize the stable function map from a YAML stream.

LLVM_ABI void lazyDeserialize(std::shared_ptr< MemoryBuffer > Buffer, uint64_t Offset)

Lazily deserialize the stable function map from Buffer starting at Offset.

StableFunctionMapRecord()

Definition StableFunctionMapRecord.h:50

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

Serialize the stable function map to a YAML stream.