LLVM 22.0.0git
|
This is the base class for a remark serializer. More...
#include "llvm/Remarks/RemarkSerializer.h"
Public Member Functions | |
RemarkSerializer (Format SerializerFormat, raw_ostream &OS) | |
virtual | ~RemarkSerializer ()=default |
virtual void | finalize () |
Finalize remark emission (e.g. | |
virtual void | emit (const Remark &Remark)=0 |
Emit a remark to the stream. | |
virtual std::unique_ptr< MetaSerializer > | metaSerializer (raw_ostream &OS, StringRef ExternalFilename)=0 |
Return the corresponding metadata serializer. |
Public Attributes | |
Format | SerializerFormat |
The format of the serializer. | |
raw_ostream & | OS |
The open raw_ostream that the remark diagnostics are emitted to. | |
std::optional< StringTable > | StrTab |
The string table containing all the unique strings used in the output. |
This is the base class for a remark serializer.
It includes support for using a string table while emitting.
Definition at line 33 of file RemarkSerializer.h.
|
inline |
Definition at line 42 of file RemarkSerializer.h.
References OS, and SerializerFormat.
Referenced by llvm::remarks::BitstreamRemarkSerializer::BitstreamRemarkSerializer(), llvm::remarks::BitstreamRemarkSerializer::BitstreamRemarkSerializer(), llvm::remarks::BitstreamRemarkSerializer::classof(), llvm::remarks::YAMLRemarkSerializer::classof(), and llvm::remarks::YAMLRemarkSerializer::YAMLRemarkSerializer().
|
virtualdefault |
Emit a remark to the stream.
Implemented in llvm::remarks::BitstreamRemarkSerializer, and llvm::remarks::YAMLRemarkSerializer.
|
inlinevirtual |
Finalize remark emission (e.g.
finish writing metadata, flush internal buffers). It is safe to call this function multiple times, and it should have the same behavior as destructing the RemarkSerializer. After finalizing, the behavior of emit is unspecified.
Reimplemented in llvm::remarks::BitstreamRemarkSerializer.
Definition at line 51 of file RemarkSerializer.h.
|
pure virtual |
Return the corresponding metadata serializer.
Implemented in llvm::remarks::BitstreamRemarkSerializer, and llvm::remarks::YAMLRemarkSerializer.
References OS.
Referenced by llvm::AsmPrinter::emitRemarksSection().
raw_ostream& llvm::remarks::RemarkSerializer::OS |
The open raw_ostream that the remark diagnostics are emitted to.
Definition at line 37 of file RemarkSerializer.h.
Referenced by llvm::remarks::BitstreamRemarkSerializer::BitstreamRemarkSerializer(), llvm::remarks::BitstreamRemarkSerializer::BitstreamRemarkSerializer(), llvm::remarks::BitstreamRemarkSerializer::metaSerializer(), metaSerializer(), llvm::remarks::YAMLRemarkSerializer::metaSerializer(), RemarkSerializer(), llvm::remarks::YAMLRemarkSerializer::YAMLRemarkSerializer(), and llvm::remarks::YAMLRemarkSerializer::YAMLRemarkSerializer().
Format llvm::remarks::RemarkSerializer::SerializerFormat |
The format of the serializer.
Definition at line 35 of file RemarkSerializer.h.
Referenced by llvm::remarks::BitstreamRemarkSerializer::classof(), llvm::remarks::YAMLRemarkSerializer::classof(), and RemarkSerializer().
std::optional<StringTable> llvm::remarks::RemarkSerializer::StrTab |
The string table containing all the unique strings used in the output.
The table can be serialized to be consumed after the compilation.
Definition at line 40 of file RemarkSerializer.h.
Referenced by llvm::remarks::BitstreamRemarkSerializer::BitstreamRemarkSerializer(), llvm::remarks::BitstreamRemarkSerializer::BitstreamRemarkSerializer(), llvm::remarks::BitstreamRemarkSerializer::emit(), llvm::remarks::BitstreamRemarkSerializer::finalize(), and llvm::remarks::YAMLRemarkSerializer::YAMLRemarkSerializer().