13#ifndef LLVM_CGDATA_CODEGENDATAWRITER_H
14#define LLVM_CGDATA_CODEGENDATAWRITER_H
29 enum class OStreamKind {
41 :
Kind(OStreamKind::svector),
OS(SVEC),
90 return static_cast<uint32_t>(DataKind) &
95 return static_cast<uint32_t>(DataKind) &
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
A wrapper class to abstract writer stream with support of bytes back patching.
LLVM_ABI void patch(ArrayRef< CGDataPatchItem > P)
CGDataOStream(raw_string_ostream &STR)
CGDataOStream(raw_fd_ostream &FD)
CGDataOStream(raw_svector_ostream &SVEC)
support::endian::Writer LE
CGDataKind getCGDataKind() const
Return the attributes of the current CGData.
CodeGenDataWriter()=default
LLVM_ABI Error writeText(raw_fd_ostream &OS)
Write the codegen data in text format to OS.
LLVM_ABI Error write(raw_fd_ostream &OS)
Write the codegen data to OS.
bool hasOutlinedHashTree() const
Return true if the header indicates the data has an outlined hash tree.
bool hasStableFunctionMap() const
Return true if the header indicates the data has a stable function map.
LLVM_ABI void addRecord(OutlinedHashTreeRecord &Record)
Add the outlined hash tree record. The input hash tree is released.
~CodeGenDataWriter()=default
Lightweight error class with error context and mandatory checking.
A raw_ostream that writes to a file descriptor.
This class implements an extremely fast bulk output stream that can only output to a stream.
A raw_ostream that writes to an std::string.
A raw_ostream that writes to an SmallVector or SmallString.
This is an optimization pass for GlobalISel generic memory operations.
@ StableFunctionMergingMap
@ FunctionOutlinedHashTree
The structure of the serialized stable function map is as follows:
Adapter to write values to a stream in a particular byte order.