LLVM
17.0.0git
|
#include "llvm/Bitcode/BitcodeAnalyzer.h"
#include "llvm/Bitcode/BitcodeReader.h"
#include "llvm/Bitcode/LLVMBitCodes.h"
#include "llvm/Bitstream/BitCodes.h"
#include "llvm/Bitstream/BitstreamReader.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/SHA1.h"
#include <optional>
Go to the source code of this file.
Macros | |
#define | STRINGIFY_CODE(PREFIX, CODE) |
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. More... | |
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. More... | |
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) |
#define STRINGIFY_CODE | ( | PREFIX, | |
CODE | |||
) |
|
static |
Definition at line 478 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::msf::Magic, llvm::RISCVFenceField::O, llvm::Offset, llvm::support::endian::read32le(), ReadSignature(), reportError(), llvm::ArrayRef< T >::size(), llvm::SkipBitcodeWrapperHeader(), and llvm::IndexedInstrProf::Version.
Referenced by llvm::BitcodeAnalyzer::analyze().
|
static |
Definition at line 515 of file BitcodeAnalyzer.cpp.
References llvm::bitc::METADATA_BLOCK_ID, and llvm::bitc::METADATA_STRINGS.
|
static |
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.
|
static |
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::X86AS::FS, 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, llvm::ISD::INLINEASM, 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, RN, 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::ISD::UNDEF, llvm::bitc::USELIST_BLOCK_ID, llvm::bitc::USELIST_CODE_BB, llvm::bitc::USELIST_CODE_DEFAULT, llvm::bitc::VALUE_SYMTAB_BLOCK_ID, R600_InstFlag::VECTOR, and llvm::BTF::VERSION.
|
static |
Definition at line 417 of file BitcodeAnalyzer.cpp.
References llvm::tgtok::Bits, and llvm::format().
Referenced by llvm::BitcodeAnalyzer::printStats().
|
static |
Definition at line 420 of file BitcodeAnalyzer.cpp.
References llvm::tgtok::Bits, and llvm::format().
|
static |
Definition at line 425 of file BitcodeAnalyzer.cpp.
References llvm::BitstreamCursor::Read(), llvm::size(), and llvm::Error::success().
Referenced by analyzeHeader().
Definition at line 20 of file BitcodeAnalyzer.cpp.
References llvm::createStringError(), and llvm::StringRef::data().
Referenced by llvm::BitcodeAnalyzer::analyze(), and analyzeHeader().