LLVM
8.0.1
|
Public Member Functions | |
MetadataLoaderImpl (BitstreamCursor &Stream, Module &TheModule, BitcodeReaderValueList &ValueList, std::function< Type *(unsigned)> getTypeByID, bool IsImporting) | |
Error | parseMetadata (bool ModuleLevel) |
Parse a METADATA_BLOCK. More... | |
bool | hasFwdRefs () const |
Metadata * | getMetadataFwdRefOrLoad (unsigned ID) |
DISubprogram * | lookupSubprogramForFunction (Function *F) |
bool | hasSeenOldLoopTags () |
Error | parseMetadataAttachment (Function &F, const SmallVectorImpl< Instruction *> &InstructionList) |
Parse metadata attachments. More... | |
Error | parseMetadataKinds () |
Parse the metadata kinds out of the METADATA_KIND_BLOCK. More... | |
void | setStripTBAA (bool Value) |
bool | isStrippingTBAA () |
unsigned | size () const |
void | shrinkTo (unsigned N) |
void | upgradeDebugIntrinsics (Function &F) |
Definition at line 411 of file MetadataLoader.cpp.
|
inline |
Definition at line 625 of file MetadataLoader.cpp.
Definition at line 637 of file MetadataLoader.cpp.
|
inline |
Definition at line 635 of file MetadataLoader.cpp.
|
inline |
Definition at line 657 of file MetadataLoader.cpp.
|
inline |
Definition at line 665 of file MetadataLoader.cpp.
|
inline |
Definition at line 653 of file MetadataLoader.cpp.
Parse a METADATA_BLOCK.
If ModuleLevel is true then we are parsing module level metadata.
Definition at line 840 of file MetadataLoader.cpp.
References llvm::BitstreamCursor::advanceSkippingSubblocks(), llvm::SmallVectorImpl< T >::clear(), DisableLazyLoading, llvm::BitstreamEntry::EndBlock, llvm::BitstreamCursor::EnterSubBlock(), llvm::BitstreamEntry::Error, error(), llvm::SimpleBitstreamCursor::GetCurrentBitNo(), llvm::BitstreamEntry::ID, llvm::SimpleBitstreamCursor::JumpToBit(), llvm::BitstreamEntry::Kind, llvm::bitc::METADATA_BLOCK_ID, llvm::BitstreamCursor::ReadBlockEnd(), llvm::BitstreamCursor::readRecord(), llvm::BitstreamEntry::Record, llvm::BitstreamCursor::SkipBlock(), llvm::BitstreamEntry::SubBlock, and llvm::Error::success().
Error llvm::MetadataLoader::MetadataLoaderImpl::parseMetadataAttachment | ( | Function & | F, |
const SmallVectorImpl< Instruction *> & | InstructionList | ||
) |
Parse metadata attachments.
Definition at line 1861 of file MetadataLoader.cpp.
References llvm::BitstreamCursor::advanceSkippingSubblocks(), llvm::SmallVectorImpl< T >::clear(), llvm::SmallVectorBase::empty(), llvm::BitstreamEntry::EndBlock, llvm::BitstreamCursor::EnterSubBlock(), llvm::BitstreamEntry::Error, error(), llvm::BitstreamEntry::ID, llvm::BitstreamEntry::Kind, llvm::bitc::METADATA_ATTACHMENT, llvm::bitc::METADATA_ATTACHMENT_ID, llvm::BitstreamCursor::readRecord(), llvm::BitstreamEntry::Record, llvm::SmallVectorBase::size(), llvm::BitstreamEntry::SubBlock, and llvm::Error::success().
Error llvm::MetadataLoader::MetadataLoaderImpl::parseMetadataKinds | ( | ) |
Parse the metadata kinds out of the METADATA_KIND_BLOCK.
Definition at line 1960 of file MetadataLoader.cpp.
References llvm::BitstreamCursor::advanceSkippingSubblocks(), llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamEntry::EndBlock, llvm::BitstreamCursor::EnterSubBlock(), llvm::BitstreamEntry::Error, error(), llvm::BitstreamEntry::ID, llvm::BitstreamEntry::Kind, llvm::bitc::METADATA_KIND, llvm::bitc::METADATA_KIND_BLOCK_ID, llvm::BitstreamCursor::readRecord(), llvm::BitstreamEntry::Record, llvm::BitstreamEntry::SubBlock, and llvm::Error::success().
|
inline |
Definition at line 664 of file MetadataLoader.cpp.
|
inline |
Definition at line 668 of file MetadataLoader.cpp.
|
inline |
Definition at line 667 of file MetadataLoader.cpp.
|
inline |
Definition at line 669 of file MetadataLoader.cpp.
References llvm::BitstreamCursor::advanceSkippingSubblocks(), llvm::BitstreamCursor::AF_DontPopBlockAtEnd, llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamEntry::EndBlock, llvm::BitstreamEntry::Error, error(), llvm::SimpleBitstreamCursor::GetCurrentBitNo(), llvm::BitstreamEntry::ID, llvm::SimpleBitstreamCursor::JumpToBit(), llvm::BitstreamEntry::Kind, llvm::bitc::METADATA_STRINGS, llvm::BitstreamCursor::readRecord(), llvm::BitstreamEntry::Record, llvm::SmallVectorImpl< T >::reserve(), llvm::BitstreamCursor::skipRecord(), and llvm::BitstreamEntry::SubBlock.