LLVM: lib/Bitcode/Reader/BitcodeAnalyzer.cpp File Reference (original) (raw)

Go to the source code of this file.

Functions
static Error reportError (StringRef Message)
static std::optional< const char * > GetBlockName (unsigned BlockID, const BitstreamBlockInfo &BlockInfo, CurStreamTypeType CurStreamType)
Return a symbolic block name if known, otherwise return null.
static std::optional< const char * > GetCodeName (unsigned CodeID, unsigned BlockID, const BitstreamBlockInfo &BlockInfo, CurStreamTypeType CurStreamType)
Return a symbolic code name if known, otherwise return null.
static void printSize (raw_ostream &OS, double Bits)
static void printSize (raw_ostream &OS, uint64_t Bits)
static Expected< CurStreamTypeType > ReadSignature (BitstreamCursor &Stream)
static Expected< CurStreamTypeType > analyzeHeader (std::optional< BCDumpOptions > O, BitstreamCursor &Stream)
static bool canDecodeBlob (unsigned Code, unsigned BlockID)

STRINGIFY_CODE

| #define STRINGIFY_CODE | ( | | PREFIX, | | ----------------------- | - | | ------- | | | CODE | | | | | ) | | | |

Value:

case bitc::PREFIX##_##CODE: \

return #CODE;

analyzeHeader()

Definition at line 486 of file BitcodeAnalyzer.cpp.

References llvm::BWH_CPUTypeField, llvm::BWH_HeaderSize, llvm::BWH_MagicField, llvm::BWH_OffsetField, llvm::BWH_SizeField, llvm::BWH_VersionField, llvm::ArrayRef< T >::data(), llvm::format_hex(), llvm::BitstreamCursor::getBitcodeBytes(), llvm::isBitcodeWrapper(), llvm::Offset, llvm::support::endian::read32le(), ReadSignature(), reportError(), llvm::ArrayRef< T >::size(), Size, and llvm::SkipBitcodeWrapperHeader().

Referenced by llvm::BitcodeAnalyzer::analyze().

canDecodeBlob()

GetBlockName()

Return a symbolic block name if known, otherwise return null.

Definition at line 26 of file BitcodeAnalyzer.cpp.

References llvm::bitc::BLOCKINFO_BLOCK_ID, llvm::bitc::CONSTANTS_BLOCK_ID, llvm::bitc::FIRST_APPLICATION_BLOCKID, llvm::bitc::FULL_LTO_GLOBALVAL_SUMMARY_BLOCK_ID, llvm::bitc::FUNCTION_BLOCK_ID, llvm::BitstreamBlockInfo::getBlockInfo(), llvm::bitc::GLOBALVAL_SUMMARY_BLOCK_ID, llvm::bitc::IDENTIFICATION_BLOCK_ID, Info, llvm::LLVMIRBitstream, llvm::bitc::METADATA_ATTACHMENT_ID, llvm::bitc::METADATA_BLOCK_ID, llvm::bitc::METADATA_KIND_BLOCK_ID, llvm::bitc::MODULE_BLOCK_ID, llvm::bitc::MODULE_STRTAB_BLOCK_ID, llvm::bitc::OPERAND_BUNDLE_TAGS_BLOCK_ID, llvm::bitc::PARAMATTR_BLOCK_ID, llvm::bitc::PARAMATTR_GROUP_BLOCK_ID, llvm::bitc::STRTAB_BLOCK_ID, llvm::bitc::SYMTAB_BLOCK_ID, llvm::bitc::TYPE_BLOCK_ID_NEW, llvm::bitc::USELIST_BLOCK_ID, and llvm::bitc::VALUE_SYMTAB_BLOCK_ID.

Referenced by llvm::BitcodeAnalyzer::printStats().

GetCodeName()

Return a symbolic code name if known, otherwise return null.

Definition at line 89 of file BitcodeAnalyzer.cpp.

References llvm::bitc::BLOCKINFO_BLOCK_ID, llvm::bitc::BLOCKINFO_CODE_BLOCKNAME, llvm::bitc::BLOCKINFO_CODE_SETBID, llvm::bitc::BLOCKINFO_CODE_SETRECORDNAME, llvm::bitc::CONSTANTS_BLOCK_ID, llvm::bitc::CST_CODE_BLOCKADDRESS, ENTRY, llvm::bitc::FIRST_APPLICATION_BLOCKID, llvm::bitc::FULL_LTO_GLOBALVAL_SUMMARY_BLOCK_ID, FUNCTION, llvm::bitc::FUNCTION_BLOCK_ID, llvm::BitstreamBlockInfo::getBlockInfo(), llvm::bitc::GLOBALVAL_SUMMARY_BLOCK_ID, llvm::bitc::IDENTIFICATION_BLOCK_ID, Info, KIND, llvm::LLVMIRBitstream, llvm::bitc::METADATA_ATTACHMENT_ID, llvm::bitc::METADATA_BLOCK_ID, llvm::bitc::METADATA_KIND_BLOCK_ID, llvm::MODULE, llvm::bitc::MODULE_BLOCK_ID, llvm::bitc::MODULE_STRTAB_BLOCK_ID, NODE, llvm::bitc::OPERAND_BUNDLE_TAG, llvm::bitc::OPERAND_BUNDLE_TAGS_BLOCK_ID, llvm::bitc::PARAMATTR_BLOCK_ID, llvm::bitc::PARAMATTR_CODE_ENTRY, llvm::bitc::PARAMATTR_CODE_ENTRY_OLD, llvm::bitc::PARAMATTR_GROUP_BLOCK_ID, llvm::bitc::PARAMATTR_GRP_CODE_ENTRY, STRINGIFY_CODE, llvm::bitc::STRTAB_BLOB, llvm::bitc::STRTAB_BLOCK_ID, llvm::bitc::SYMTAB_BLOB, llvm::bitc::SYMTAB_BLOCK_ID, TOKEN, llvm::bitc::TYPE_BLOCK_ID_NEW, llvm::bitc::USELIST_BLOCK_ID, llvm::bitc::USELIST_CODE_BB, llvm::bitc::USELIST_CODE_DEFAULT, and llvm::bitc::VALUE_SYMTAB_BLOCK_ID.

Referenced by llvm::BitcodeAnalyzer::printStats().

printSize() [1/2]

static void printSize ( raw_ostream & OS, double Bits ) static

printSize() [2/2]

ReadSignature()

reportError()