llvm::StableFunctionMapRecord

Holds a stable function map for serialization and deserialization.

Synopsis

Declared in <llvm/CGData/StableFunctionMapRecord.h>

struct StableFunctionMapRecord;

Description

The structure of the serialized stable function map is as follows:

  • Number of unique function/module names

  • Total size of unique function/module names for opt-in skipping

  • Unique function/module names

  • Padding to align to 4 bytes

  • Number of StableFunctionEntries

  • Hashes of each StableFunctionEntry

  • Fixed-size fields for each StableFunctionEntry (the order is consistent with the hashes above):

  • FunctionNameId

  • ModuleNameId

  • InstCount

  • Relative offset to the beginning of IndexOperandHashes for this entry

  • Total size of variable-sized IndexOperandHashes for lazy-loading support

  • Variable-sized IndexOperandHashes for each StableFunctionEntry:

  • Number of IndexOperandHashes

  • Contents of each IndexOperandHashes

  • InstIndex

  • OpndIndex

  • OpndHash

Member Functions

NameDescription
StableFunctionMapRecord [constructor]Constructors
deserialize Deserialize the stable function map from a raw_ostream.
deserializeYAML Deserialize the stable function map from a YAML stream.
empty Check whether the stable function map is empty.
finalize Finalize the stable function map by trimming content.
lazyDeserialize Lazily deserialize the stable function map from a buffer.
merge Merge the stable function map into this one.
print Print the stable function map in a YAML format.
serialize Serialize the stable function map to a raw_ostream.
serializeYAML Serialize the stable function map to a YAML stream.
setReadStableFunctionMapNames Set whether to read stable function names from the buffer. Has no effect if the function map is read from a YAML stream.

Static Member Functions

NameDescription
deserializeEntry Deserialize a single stable function map entry.
serialize Serialize a stable function map without owning it.

Data Members

NameDescription
FunctionMap Owned stable function map held by this record.