LLVM 20.0.0git
|
Serializer of metadata for bitstream remarks. More...
#include "llvm/Remarks/BitstreamRemarkSerializer.h"
Public Member Functions | |
BitstreamMetaSerializer (raw_ostream &OS, BitstreamRemarkContainerType ContainerType, std::optional< const StringTable * > StrTab=std::nullopt, std::optional< StringRef > ExternalFilename=std::nullopt) | |
Create a new meta serializer based on ContainerType . | |
BitstreamMetaSerializer (raw_ostream &OS, BitstreamRemarkSerializerHelper &Helper, std::optional< const StringTable * > StrTab=std::nullopt, std::optional< StringRef > ExternalFilename=std::nullopt) | |
Create a new meta serializer based on a previously built Helper . | |
void | emit () override |
Public Member Functions inherited from llvm::remarks::MetaSerializer | |
MetaSerializer (raw_ostream &OS) | |
virtual | ~MetaSerializer ()=default |
This is just an interface. | |
virtual void | emit ()=0 |
Public Attributes | |
std::optional< BitstreamRemarkSerializerHelper > | TmpHelper |
This class can be used with [1] a pre-constructed BitstreamRemarkSerializerHelper, or with [2] one that is owned by the meta serializer. | |
BitstreamRemarkSerializerHelper * | Helper = nullptr |
The actual helper, that can point to TmpHelper or to an external helper object. | |
std::optional< const StringTable * > | StrTab |
std::optional< StringRef > | ExternalFilename |
Public Attributes inherited from llvm::remarks::MetaSerializer | |
raw_ostream & | OS |
The open raw_ostream that the metadata is emitted to. | |
Serializer of metadata for bitstream remarks.
Definition at line 160 of file BitstreamRemarkSerializer.h.
|
inline |
Create a new meta serializer based on ContainerType
.
Definition at line 174 of file BitstreamRemarkSerializer.h.
|
inline |
Create a new meta serializer based on a previously built Helper
.
Definition at line 185 of file BitstreamRemarkSerializer.h.
|
overridevirtual |
Implements llvm::remarks::MetaSerializer.
Definition at line 384 of file BitstreamRemarkSerializer.cpp.
References llvm::remarks::CurrentContainerVersion, llvm::remarks::CurrentRemarkVersion, llvm::remarks::BitstreamRemarkSerializerHelper::emitMetaBlock(), ExternalFilename, llvm::remarks::BitstreamRemarkSerializerHelper::flushToStream(), Helper, llvm::remarks::MetaSerializer::OS, llvm::remarks::BitstreamRemarkSerializerHelper::setupBlockInfo(), and StrTab.
std::optional<StringRef> llvm::remarks::BitstreamMetaSerializer::ExternalFilename |
Definition at line 171 of file BitstreamRemarkSerializer.h.
Referenced by emit().
BitstreamRemarkSerializerHelper* llvm::remarks::BitstreamMetaSerializer::Helper = nullptr |
The actual helper, that can point to TmpHelper
or to an external helper object.
Definition at line 168 of file BitstreamRemarkSerializer.h.
Referenced by BitstreamMetaSerializer(), and emit().
std::optional<const StringTable *> llvm::remarks::BitstreamMetaSerializer::StrTab |
Definition at line 170 of file BitstreamRemarkSerializer.h.
Referenced by emit().
std::optional<BitstreamRemarkSerializerHelper> llvm::remarks::BitstreamMetaSerializer::TmpHelper |
This class can be used with [1] a pre-constructed BitstreamRemarkSerializerHelper, or with [2] one that is owned by the meta serializer.
In case of [1], we need to be able to store a reference to the object, while in case of [2] we need to store the whole object.
Definition at line 165 of file BitstreamRemarkSerializer.h.
Referenced by BitstreamMetaSerializer().