16#ifndef LLVM_CGDATA_STABLEFUNCTIONMAPRECORD_H
17#define LLVM_CGDATA_STABLEFUNCTIONMAPRECORD_H
51 FunctionMap = std::make_unique<StableFunctionMap>();
61 std::vector<CGDataPatchItem> &PatchItems);
72 std::vector<CGDataPatchItem> &PatchItems)
const;
111 "Cannot change ReadStableFunctionMapNames after the map is populated");
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 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.
void finalize(bool SkipTrim=false)
Finalize the stable function map by trimming content.
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
void print(raw_ostream &OS=llvm::errs()) const
Print the stable function map in a YAML format.
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)
void setReadStableFunctionMapNames(bool Read)
Set whether to read stable function names from the buffer.
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()
LLVM_ABI void serializeYAML(yaml::Output &YOS) const
Serialize the stable function map to a YAML stream.