llvm::remarks

Interfaces for emitting and serializing optimization remarks.

Types

NameDescription
Argument A key-value pair with a debug location that is used to display the remarks at the right place in the source.
BitstreamMetaSerializer Serializer of metadata for bitstream remarks.
BitstreamRemarkSerializer Implementation of the remark serializer using LLVM bitstream.
BitstreamRemarkSerializerHelper Serialize the remarks to LLVM bitstream. This class provides ways to emit remarks in the LLVM bitstream format and its associated metadata.
EndOfFileError Error indicating that remark parsing has reached the end of the input.
HotnessThresholdParser Command-line parser for *-remarks-hotness-threshold= option values.
MetaSerializer This is the base class for a remark metadata serializer.
ParsedStringTable In-memory representation of the string table parsed from a buffer (e.g. the remarks section).
Remark A remark type used for both emission and parsing.
RemarkLinker Links together remarks from multiple remark files or object files.
RemarkLocation The debug location used to track a remark back to the source file.
RemarkParser Parser used to parse a raw buffer to remarks::Remark objects.
RemarkSerializer This is the base class for a remark serializer. It includes support for using a string table while emitting.
RemarkStreamer Main interface for streaming remarks to a serialized output.
Remarks Forward declaration of the Remarks record.
StringTable The string table used for serializing remarks. This table can be for example serialized in a section to be consumed after the compilation.
YAMLMetaSerializer Serializer of metadata for YAML remarks.
YAMLRemarkSerializer Serialize remarks to YAML.

Enums

NameDescription
BitstreamRemarkContainerType Type of the remark container.
BlockIDs The possible blocks that will be encountered in a bitstream remark container.
Format The format used for serializing/deserializing remarks.
RecordIDs The possible records that can be encountered in the previously described blocks.
Type The type of the remark.

Functions

NameDescription
createRemarkParser Create a remark parser for a standalone remark buffer.
createRemarkParserFromMeta Create a remark parser from remark metadata that may reference an external file.
createRemarkSerializer createRemarkSerializer overloads
detectFormat Detect format based on selected format and magic number.
getRemarksSectionContents Returns a buffer with the contents of the remarks section depending on the format of the file. If the section doesn't exist, this returns an empty optional.
magicToFormat Parse and validate a magic number to a remark format.
parseFormat Parse and validate a string for the remark format.
parseHotnessThresholdOption Parse a remarks hotness threshold option value.
typeToStr Return the string spelling of remark type Ty.
unwrap unwrap overloads
wrap wrap overloads
operator<< Stream insertion operators
operator== Equality operators
operator!= Inequality operators
operator< Less-than operators

Variables

NameDescription
ContainerMagic The magic number used for identifying remark blocks.
CurrentContainerVersion The current version of the remark container. Note: this is different from the version of the remark entry.
CurrentRemarkVersion The current version of the remark entry.
Magic Magic string identifying a YAML remarks metadata stream.
MetaBlockName The human-readable name of the META_BLOCK in the bitstream block info.
MetaContainerInfoName The human-readable name of the RECORD_META_CONTAINER_INFO record.
MetaExternalFileName The human-readable name of the RECORD_META_EXTERNAL_FILE record.
MetaRemarkVersionName The human-readable name of the RECORD_META_REMARK_VERSION record.
MetaStrTabName The human-readable name of the RECORD_META_STRTAB record.
RemarkArgWithDebugLocName The human-readable name of the RECORD_REMARK_ARG_WITH_DEBUGLOC record.
RemarkArgWithoutDebugLocName The human-readable name of the RECORD_REMARK_ARG_WITHOUT_DEBUGLOC record.
RemarkBlockName The human-readable name of the REMARK_BLOCK in the bitstream block info.
RemarkDebugLocName The human-readable name of the RECORD_REMARK_DEBUG_LOC record.
RemarkHeaderName The human-readable name of the RECORD_REMARK_HEADER record.
RemarkHotnessName The human-readable name of the RECORD_REMARK_HOTNESS record.