LLVM 22.0.0git
|
Helper to parse any bitstream remark container. More...
#include "Remarks/BitstreamRemarkParser.h"
Public Member Functions | |
BitstreamParserHelper (StringRef Buffer) | |
Start parsing at Buffer . | |
Error | expectMagic () |
Parse and validate the magic number. | |
Error | parseBlockInfoBlock () |
Parse the block info block containing all the abbrevs. | |
Error | parseMeta () |
Parse all metadata blocks in the file. This populates the meta helper. | |
Error | parseRemark () |
Parse the next remark. This populates the remark helper data. |
Public Attributes | |
BitstreamCursor | Stream |
The Bitstream reader. | |
BitstreamBlockInfo | BlockInfo |
The block info block. | |
BitstreamMetaParserHelper | MetaHelper |
Helper to parse the metadata blocks in this bitstream. | |
std::optional< BitstreamRemarkParserHelper > | RemarksHelper |
Helper to parse the remark blocks in this bitstream. | |
std::optional< uint64_t > | RemarkStartBitPos |
The position of the first remark block we encounter after the initial metadata block. |
Helper to parse any bitstream remark container.
Definition at line 185 of file BitstreamRemarkParser.h.
|
inline |
Start parsing at Buffer
.
Definition at line 201 of file BitstreamRemarkParser.h.
References MetaHelper, RemarksHelper, and Stream.
Error BitstreamParserHelper::expectMagic | ( | ) |
Parse and validate the magic number.
Definition at line 203 of file BitstreamRemarkParser.cpp.
References llvm::remarks::ContainerMagic(), error, I, Stream, and llvm::Error::success().
Referenced by parseMeta().
Error BitstreamParserHelper::parseBlockInfoBlock | ( | ) |
Parse the block info block containing all the abbrevs.
This needs to be called before calling any other parsing function.
Definition at line 218 of file BitstreamRemarkParser.cpp.
References BlockInfo, llvm::bitc::BLOCKINFO_BLOCK_ID, error, llvm::Next, Stream, llvm::BitstreamEntry::SubBlock, llvm::Error::success(), and llvm::Expected< T >::takeError().
Referenced by parseMeta().
Error BitstreamParserHelper::parseMeta | ( | ) |
Parse all metadata blocks in the file. This populates the meta helper.
Definition at line 242 of file BitstreamRemarkParser.cpp.
References error, expectMagic(), expectSubBlock(), llvm::remarks::META_BLOCK_ID, MetaHelper, parseBlockInfoBlock(), llvm::remarks::REMARK_BLOCK_ID, RemarkStartBitPos, Stream, and llvm::Error::success().
Error BitstreamParserHelper::parseRemark | ( | ) |
Parse the next remark. This populates the remark helper data.
Definition at line 280 of file BitstreamRemarkParser.cpp.
References expectSubBlock(), llvm::make_error(), llvm::remarks::REMARK_BLOCK_ID, RemarksHelper, RemarkStartBitPos, and Stream.
BitstreamBlockInfo llvm::remarks::BitstreamParserHelper::BlockInfo |
The block info block.
Definition at line 189 of file BitstreamRemarkParser.h.
Referenced by parseBlockInfoBlock().
BitstreamMetaParserHelper llvm::remarks::BitstreamParserHelper::MetaHelper |
Helper to parse the metadata blocks in this bitstream.
Definition at line 192 of file BitstreamRemarkParser.h.
Referenced by BitstreamParserHelper(), and parseMeta().
std::optional<BitstreamRemarkParserHelper> llvm::remarks::BitstreamParserHelper::RemarksHelper |
Helper to parse the remark blocks in this bitstream.
Only needed for ContainerType RemarksFile.
Definition at line 195 of file BitstreamRemarkParser.h.
Referenced by BitstreamParserHelper(), and parseRemark().
std::optional<uint64_t> llvm::remarks::BitstreamParserHelper::RemarkStartBitPos |
The position of the first remark block we encounter after the initial metadata block.
Definition at line 198 of file BitstreamRemarkParser.h.
Referenced by parseMeta(), and parseRemark().
BitstreamCursor llvm::remarks::BitstreamParserHelper::Stream |
The Bitstream reader.
Definition at line 187 of file BitstreamRemarkParser.h.
Referenced by BitstreamParserHelper(), expectMagic(), parseBlockInfoBlock(), parseMeta(), and parseRemark().