struct BitstreamRemarkParser

Declaration

struct BitstreamRemarkParser : public RemarkParser { /* full declaration omitted */ };

Description

Parses and holds the state of the latest parsed remark.

Declared at: llvm/lib/Remarks/BitstreamRemarkParser.h:30

Inherits from: RemarkParser

Member Variables

public llvm::remarks::BitstreamParserHelper ParserHelper
The buffer to parse.
public Optional<llvm::remarks::ParsedStringTable> StrTab
The string table used for parsing strings.
public std::unique_ptr<MemoryBuffer> TmpRemarkBuffer
Temporary remark buffer used when the remarks are stored separately.
public uint64_t ContainerVersion = 0
The common metadata used to decide how to parse the buffer. This is filled when parsing the metadata block.
public uint64_t RemarkVersion = 0
public llvm::remarks::BitstreamRemarkContainerType ContainerType = BitstreamRemarkContainerType::Standalone
public bool ReadyToParseRemarks = false
Wether the parser is ready to parse remarks.

Inherited from RemarkParser:

public ParserFormat
public ExternalFilePrependPath

Method Overview

Inherited from RemarkParser:

Methods

BitstreamRemarkParser(llvm::StringRef Buf)

Description

Create a parser that expects to find a string table embedded in the stream.

Declared at: llvm/lib/Remarks/BitstreamRemarkParser.h:48

Parameters

llvm::StringRef Buf

BitstreamRemarkParser(
    llvm::StringRef Buf,
    llvm::remarks::ParsedStringTable StrTab)

Description

Create a parser that uses a pre-parsed string table.

Declared at: llvm/lib/Remarks/BitstreamRemarkParser.h:52

Parameters

llvm::StringRef Buf
llvm::remarks::ParsedStringTable StrTab

static bool classof(
    const llvm::remarks::RemarkParser* P)

Declared at: llvm/lib/Remarks/BitstreamRemarkParser.h:58

Parameters

const llvm::remarks::RemarkParser* P

Expected<std::unique_ptr<Remark>> next()

Description

If no error occurs, this returns a valid Remark object. If an error of type EndOfFileError occurs, it is safe to recover from it by stopping the parsing. If any other error occurs, it should be propagated to the user. The pointer should never be null.

Declared at: llvm/lib/Remarks/BitstreamRemarkParser.h:56

llvm::Error parseMeta()

Description

Parse and process the metadata of the buffer.

Declared at: llvm/lib/Remarks/BitstreamRemarkParser.h:63

Expected<std::unique_ptr<Remark>> parseRemark()

Description

Parse a Bitstream remark.

Declared at: llvm/lib/Remarks/BitstreamRemarkParser.h:66

llvm::Error processCommonMeta(
    llvm::remarks::BitstreamMetaParserHelper&
        Helper)

Description

Helper functions.

Declared at: llvm/lib/Remarks/BitstreamRemarkParser.h:70

Parameters

llvm::remarks::BitstreamMetaParserHelper& Helper

llvm::Error processExternalFilePath(
    Optional<llvm::StringRef> ExternalFilePath)

Declared at: llvm/lib/Remarks/BitstreamRemarkParser.h:76

Parameters

Optional<llvm::StringRef> ExternalFilePath

Expected<std::unique_ptr<Remark>> processRemark(
    llvm::remarks::BitstreamRemarkParserHelper&
        Helper)

Declared at: llvm/lib/Remarks/BitstreamRemarkParser.h:75

Parameters

llvm::remarks::BitstreamRemarkParserHelper& Helper

llvm::Error processSeparateRemarksFileMeta(
    llvm::remarks::BitstreamMetaParserHelper&
        Helper)

Declared at: llvm/lib/Remarks/BitstreamRemarkParser.h:72

Parameters

llvm::remarks::BitstreamMetaParserHelper& Helper

llvm::Error processSeparateRemarksMetaMeta(
    llvm::remarks::BitstreamMetaParserHelper&
        Helper)

Declared at: llvm/lib/Remarks/BitstreamRemarkParser.h:73

Parameters

llvm::remarks::BitstreamMetaParserHelper& Helper

llvm::Error processStandaloneMeta(
    llvm::remarks::BitstreamMetaParserHelper&
        Helper)

Declared at: llvm/lib/Remarks/BitstreamRemarkParser.h:71

Parameters

llvm::remarks::BitstreamMetaParserHelper& Helper