[#llvm-remarks] = xref:llvm.adoc[llvm]::remarks :relfileprefix: ../ :mrdocs: Interfaces for emitting and serializing optimization remarks. == Types [cols="1,4"] |=== | Name| Description | xref:llvm/remarks/Argument.adoc[`Argument`] | A key‐value pair with a debug location that is used to display the remarks at the right place in the source. | xref:llvm/remarks/BitstreamMetaSerializer.adoc[`BitstreamMetaSerializer`] | Serializer of metadata for bitstream remarks. | xref:llvm/remarks/BitstreamRemarkSerializer.adoc[`BitstreamRemarkSerializer`] | Implementation of the remark serializer using LLVM bitstream. | xref:llvm/remarks/BitstreamRemarkSerializerHelper.adoc[`BitstreamRemarkSerializerHelper`] | Serialize the remarks to LLVM bitstream. This class provides ways to emit remarks in the LLVM bitstream format and its associated metadata. | xref:llvm/remarks/EndOfFileError.adoc[`EndOfFileError`] | Error indicating that remark parsing has reached the end of the input. | xref:llvm/remarks/HotnessThresholdParser.adoc[`HotnessThresholdParser`] | Command‐line parser for `*‐remarks‐hotness‐threshold=` option values. | xref:llvm/remarks/MetaSerializer.adoc[`MetaSerializer`] | This is the base class for a remark metadata serializer. | xref:llvm/remarks/ParsedStringTable.adoc[`ParsedStringTable`] | In‐memory representation of the string table parsed from a buffer (e.g. the remarks section). | xref:llvm/remarks/Remark.adoc[`Remark`] | A remark type used for both emission and parsing. | xref:llvm/remarks/RemarkLinker.adoc[`RemarkLinker`] | Links together remarks from multiple remark files or object files. | xref:llvm/remarks/RemarkLocation.adoc[`RemarkLocation`] | The debug location used to track a remark back to the source file. | xref:llvm/remarks/RemarkParser.adoc[`RemarkParser`] | Parser used to parse a raw buffer to remarks::Remark objects. | xref:llvm/remarks/RemarkSerializer.adoc[`RemarkSerializer`] | This is the base class for a remark serializer. It includes support for using a string table while emitting. | xref:llvm/remarks/RemarkStreamer.adoc[`RemarkStreamer`] | Main interface for streaming remarks to a serialized output. | xref:llvm/remarks/Remarks.adoc[`Remarks`] | Forward declaration of the Remarks record. | xref:llvm/remarks/StringTable.adoc[`StringTable`] | The string table used for serializing remarks. This table can be for example serialized in a section to be consumed after the compilation. | xref:llvm/remarks/YAMLMetaSerializer.adoc[`YAMLMetaSerializer`] | Serializer of metadata for YAML remarks. | xref:llvm/remarks/YAMLRemarkSerializer.adoc[`YAMLRemarkSerializer`] | Serialize remarks to YAML. |=== == Enums [cols="1,4"] |=== | Name| Description | xref:llvm/remarks/BitstreamRemarkContainerType.adoc[`BitstreamRemarkContainerType`] | Type of the remark container. | xref:llvm/remarks/BlockIDs.adoc[`BlockIDs`] | The possible blocks that will be encountered in a bitstream remark container. | xref:llvm/remarks/Format.adoc[`Format`] | The format used for serializing/deserializing remarks. | xref:llvm/remarks/RecordIDs.adoc[`RecordIDs`] | The possible records that can be encountered in the previously described blocks. | xref:llvm/remarks/Type.adoc[`Type`] | The type of the remark. |=== == Functions [cols="1,4"] |=== | Name| Description | xref:llvm/remarks/createRemarkParser.adoc[`createRemarkParser`] | Create a remark parser for a standalone remark buffer. | xref:llvm/remarks/createRemarkParserFromMeta.adoc[`createRemarkParserFromMeta`] | Create a remark parser from remark metadata that may reference an external file. | xref:llvm/remarks/createRemarkSerializer-0d.adoc[`createRemarkSerializer`] | `createRemarkSerializer` overloads | xref:llvm/remarks/detectFormat.adoc[`detectFormat`] | Detect format based on selected format and magic number. | xref:llvm/remarks/getRemarksSectionContents.adoc[`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. | xref:llvm/remarks/magicToFormat.adoc[`magicToFormat`] | Parse and validate a magic number to a remark format. | xref:llvm/remarks/parseFormat.adoc[`parseFormat`] | Parse and validate a string for the remark format. | xref:llvm/remarks/parseHotnessThresholdOption.adoc[`parseHotnessThresholdOption`] | Parse a remarks hotness threshold option value. | xref:llvm/remarks/typeToStr.adoc[`typeToStr`] | Return the string spelling of remark type `Ty.` | xref:llvm/remarks/unwrap-05.adoc[`unwrap`] | `unwrap` overloads | xref:llvm/remarks/wrap-0c.adoc[`wrap`] | `wrap` overloads | xref:llvm/remarks/operator_lshift-019.adoc[`operator<<`] | Stream insertion operators | xref:llvm/remarks/operator_eq-0fe.adoc[`operator==`] | Equality operators | xref:llvm/remarks/operator_not_eq-0b.adoc[`operator!=`] | Inequality operators | xref:llvm/remarks/operator_lt-07.adoc[`operator<`] | Less‐than operators |=== == Variables [cols="1,4"] |=== | Name| Description | xref:llvm/remarks/ContainerMagic.adoc[`ContainerMagic`] | The magic number used for identifying remark blocks. | xref:llvm/remarks/CurrentContainerVersion.adoc[`CurrentContainerVersion`] | The current version of the remark container. Note: this is different from the version of the remark entry. | xref:llvm/remarks/CurrentRemarkVersion.adoc[`CurrentRemarkVersion`] | The current version of the remark entry. | xref:llvm/remarks/Magic.adoc[`Magic`] | Magic string identifying a YAML remarks metadata stream. | xref:llvm/remarks/MetaBlockName.adoc[`MetaBlockName`] | The human‐readable name of the META_BLOCK in the bitstream block info. | xref:llvm/remarks/MetaContainerInfoName.adoc[`MetaContainerInfoName`] | The human‐readable name of the RECORD_META_CONTAINER_INFO record. | xref:llvm/remarks/MetaExternalFileName.adoc[`MetaExternalFileName`] | The human‐readable name of the RECORD_META_EXTERNAL_FILE record. | xref:llvm/remarks/MetaRemarkVersionName.adoc[`MetaRemarkVersionName`] | The human‐readable name of the RECORD_META_REMARK_VERSION record. | xref:llvm/remarks/MetaStrTabName.adoc[`MetaStrTabName`] | The human‐readable name of the RECORD_META_STRTAB record. | xref:llvm/remarks/RemarkArgWithDebugLocName.adoc[`RemarkArgWithDebugLocName`] | The human‐readable name of the RECORD_REMARK_ARG_WITH_DEBUGLOC record. | xref:llvm/remarks/RemarkArgWithoutDebugLocName.adoc[`RemarkArgWithoutDebugLocName`] | The human‐readable name of the RECORD_REMARK_ARG_WITHOUT_DEBUGLOC record. | xref:llvm/remarks/RemarkBlockName.adoc[`RemarkBlockName`] | The human‐readable name of the REMARK_BLOCK in the bitstream block info. | xref:llvm/remarks/RemarkDebugLocName.adoc[`RemarkDebugLocName`] | The human‐readable name of the RECORD_REMARK_DEBUG_LOC record. | xref:llvm/remarks/RemarkHeaderName.adoc[`RemarkHeaderName`] | The human‐readable name of the RECORD_REMARK_HEADER record. | xref:llvm/remarks/RemarkHotnessName.adoc[`RemarkHotnessName`] | The human‐readable name of the RECORD_REMARK_HOTNESS record. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#