LLVM 19.0.0git
|
#include "llvm/Bitcode/BitcodeReader.h"
#include "MetadataLoader.h"
#include "ValueList.h"
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Bitcode/BitcodeCommon.h"
#include "llvm/Bitcode/LLVMBitCodes.h"
#include "llvm/Bitstream/BitstreamReader.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/IR/Argument.h"
#include "llvm/IR/AttributeMask.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/AutoUpgrade.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/CallingConv.h"
#include "llvm/IR/Comdat.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DebugInfo.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/IR/DebugLoc.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GVMaterializer.h"
#include "llvm/IR/GetElementPtrTypeIterator.h"
#include "llvm/IR/GlobalAlias.h"
#include "llvm/IR/GlobalIFunc.h"
#include "llvm/IR/GlobalObject.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/InlineAsm.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsAArch64.h"
#include "llvm/IR/IntrinsicsARM.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/ModuleSummaryIndex.h"
#include "llvm/IR/Operator.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Value.h"
#include "llvm/IR/Verifier.h"
#include "llvm/Support/AtomicOrdering.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/ErrorOr.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/ModRef.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TargetParser/Triple.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <deque>
#include <map>
#include <memory>
#include <optional>
#include <set>
#include <string>
#include <system_error>
#include <tuple>
#include <utility>
#include <vector>
Go to the source code of this file.
Variables | |
static cl::opt< bool > | PrintSummaryGUIDs ("print-summary-global-ids", cl::init(false), cl::Hidden, cl::desc("Print the global id for each value when reading the module summary")) |
static cl::opt< bool > | ExpandConstantExprs ("expand-constant-exprs", cl::Hidden, cl::desc("Expand constant expressions to instructions for testing purposes")) |
cl::opt< cl::boolOrDefault > | LoadBitcodeIntoNewDbgInfoFormat ("load-bitcode-into-experimental-debuginfo-iterators", cl::Hidden, cl::desc("Load bitcode directly into the new debug info format (regardless " "of input format)")) |
Load bitcode directly into RemoveDIs format (use debug records instead of debug intrinsics). | |
|
static |
Definition at line 1826 of file BitcodeReader.cpp.
References A, B, llvm::Attribute::EndAttrKinds, getRawAttributeMask(), I, llvm::Attribute::isTypeAttrKind(), and llvm::Attribute::None.
Referenced by decodeLLVMAttributesForBitcode().
|
static |
Convert a string from a record into an std::string, return true on failure.
Definition at line 168 of file BitcodeReader.cpp.
References Idx.
Referenced by hasObjCCategoryInModule(), readIdentificationBlock(), and readModuleTriple().
|
static |
This fills an AttrBuilder object with the LLVM attributes that have been decoded from the given integer.
This function must stay in sync with 'encodeLLVMAttributesForBitcode'.
Definition at line 1847 of file BitcodeReader.cpp.
References addRawAttributeValue(), assert(), B, llvm::AttributeList::FunctionIndex, llvm::MemoryEffectsBase< LocationEnum >::inaccessibleMemOnly(), llvm::MemoryEffectsBase< LocationEnum >::inaccessibleOrArgMemOnly(), llvm::isPowerOf2_32(), llvm::MemoryEffectsBase< LocationEnum >::none(), llvm::MemoryEffectsBase< LocationEnum >::readOnly(), llvm::MemoryEffectsBase< LocationEnum >::unknown(), and llvm::MemoryEffectsBase< LocationEnum >::writeOnly().
GlobalValue::SanitizerMetadata deserializeSanitizerMetadata | ( | unsigned | V | ) |
Definition at line 3890 of file BitcodeReader.cpp.
Definition at line 120 of file BitcodeReader.cpp.
References llvm::make_error_code().
|
static |
Definition at line 1960 of file BitcodeReader.cpp.
References llvm::bitc::ATTR_KIND_ALIGNMENT, llvm::bitc::ATTR_KIND_ALLOC_ALIGN, llvm::bitc::ATTR_KIND_ALLOC_KIND, llvm::bitc::ATTR_KIND_ALLOC_SIZE, llvm::bitc::ATTR_KIND_ALLOCATED_POINTER, llvm::bitc::ATTR_KIND_ALWAYS_INLINE, llvm::bitc::ATTR_KIND_BUILTIN, llvm::bitc::ATTR_KIND_BY_VAL, llvm::bitc::ATTR_KIND_BYREF, llvm::bitc::ATTR_KIND_COLD, llvm::bitc::ATTR_KIND_CONVERGENT, llvm::bitc::ATTR_KIND_CORO_ONLY_DESTROY_WHEN_COMPLETE, llvm::bitc::ATTR_KIND_DEAD_ON_UNWIND, llvm::bitc::ATTR_KIND_DEREFERENCEABLE, llvm::bitc::ATTR_KIND_DEREFERENCEABLE_OR_NULL, llvm::bitc::ATTR_KIND_DISABLE_SANITIZER_INSTRUMENTATION, llvm::bitc::ATTR_KIND_ELEMENTTYPE, llvm::bitc::ATTR_KIND_FNRETTHUNK_EXTERN, llvm::bitc::ATTR_KIND_HOT, llvm::bitc::ATTR_KIND_IMMARG, llvm::bitc::ATTR_KIND_IN_ALLOCA, llvm::bitc::ATTR_KIND_IN_REG, llvm::bitc::ATTR_KIND_INLINE_HINT, llvm::bitc::ATTR_KIND_JUMP_TABLE, llvm::bitc::ATTR_KIND_MEMORY, llvm::bitc::ATTR_KIND_MIN_SIZE, llvm::bitc::ATTR_KIND_MUSTPROGRESS, llvm::bitc::ATTR_KIND_NAKED, llvm::bitc::ATTR_KIND_NEST, llvm::bitc::ATTR_KIND_NO_ALIAS, llvm::bitc::ATTR_KIND_NO_BUILTIN, llvm::bitc::ATTR_KIND_NO_CALLBACK, llvm::bitc::ATTR_KIND_NO_CAPTURE, llvm::bitc::ATTR_KIND_NO_DUPLICATE, llvm::bitc::ATTR_KIND_NO_IMPLICIT_FLOAT, llvm::bitc::ATTR_KIND_NO_INLINE, llvm::bitc::ATTR_KIND_NO_MERGE, llvm::bitc::ATTR_KIND_NO_PROFILE, llvm::bitc::ATTR_KIND_NO_RECURSE, llvm::bitc::ATTR_KIND_NO_RED_ZONE, llvm::bitc::ATTR_KIND_NO_RETURN, llvm::bitc::ATTR_KIND_NO_SANITIZE_BOUNDS, llvm::bitc::ATTR_KIND_NO_SANITIZE_COVERAGE, llvm::bitc::ATTR_KIND_NO_UNWIND, llvm::bitc::ATTR_KIND_NOCF_CHECK, llvm::bitc::ATTR_KIND_NOFPCLASS, llvm::bitc::ATTR_KIND_NOFREE, llvm::bitc::ATTR_KIND_NON_LAZY_BIND, llvm::bitc::ATTR_KIND_NON_NULL, llvm::bitc::ATTR_KIND_NOSYNC, llvm::bitc::ATTR_KIND_NOUNDEF, llvm::bitc::ATTR_KIND_NULL_POINTER_IS_VALID, llvm::bitc::ATTR_KIND_OPT_FOR_FUZZING, llvm::bitc::ATTR_KIND_OPTIMIZE_FOR_DEBUGGING, llvm::bitc::ATTR_KIND_OPTIMIZE_FOR_SIZE, llvm::bitc::ATTR_KIND_OPTIMIZE_NONE, llvm::bitc::ATTR_KIND_PREALLOCATED, llvm::bitc::ATTR_KIND_PRESPLIT_COROUTINE, llvm::bitc::ATTR_KIND_RANGE, llvm::bitc::ATTR_KIND_READ_NONE, llvm::bitc::ATTR_KIND_READ_ONLY, llvm::bitc::ATTR_KIND_RETURNED, llvm::bitc::ATTR_KIND_RETURNS_TWICE, llvm::bitc::ATTR_KIND_S_EXT, llvm::bitc::ATTR_KIND_SAFESTACK, llvm::bitc::ATTR_KIND_SANITIZE_ADDRESS, llvm::bitc::ATTR_KIND_SANITIZE_HWADDRESS, llvm::bitc::ATTR_KIND_SANITIZE_MEMORY, llvm::bitc::ATTR_KIND_SANITIZE_MEMTAG, llvm::bitc::ATTR_KIND_SANITIZE_THREAD, llvm::bitc::ATTR_KIND_SHADOWCALLSTACK, llvm::bitc::ATTR_KIND_SKIP_PROFILE, llvm::bitc::ATTR_KIND_SPECULATABLE, llvm::bitc::ATTR_KIND_SPECULATIVE_LOAD_HARDENING, llvm::bitc::ATTR_KIND_STACK_ALIGNMENT, llvm::bitc::ATTR_KIND_STACK_PROTECT, llvm::bitc::ATTR_KIND_STACK_PROTECT_REQ, llvm::bitc::ATTR_KIND_STACK_PROTECT_STRONG, llvm::bitc::ATTR_KIND_STRICT_FP, llvm::bitc::ATTR_KIND_STRUCT_RET, llvm::bitc::ATTR_KIND_SWIFT_ASYNC, llvm::bitc::ATTR_KIND_SWIFT_ERROR, llvm::bitc::ATTR_KIND_SWIFT_SELF, llvm::bitc::ATTR_KIND_UW_TABLE, llvm::bitc::ATTR_KIND_VSCALE_RANGE, llvm::bitc::ATTR_KIND_WILLRETURN, llvm::bitc::ATTR_KIND_WRITABLE, llvm::bitc::ATTR_KIND_WRITEONLY, llvm::bitc::ATTR_KIND_Z_EXT, and llvm::Attribute::None.
Definition at line 1270 of file BitcodeReader.cpp.
References llvm::bitc::BINOP_ADD, llvm::bitc::BINOP_AND, llvm::bitc::BINOP_ASHR, llvm::bitc::BINOP_LSHR, llvm::bitc::BINOP_MUL, llvm::bitc::BINOP_OR, llvm::bitc::BINOP_SDIV, llvm::bitc::BINOP_SHL, llvm::bitc::BINOP_SREM, llvm::bitc::BINOP_SUB, llvm::bitc::BINOP_UDIV, llvm::bitc::BINOP_UREM, llvm::bitc::BINOP_XOR, llvm::Type::isFPOrFPVectorTy(), and llvm::Type::isIntOrIntVectorTy().
|
static |
Definition at line 1237 of file BitcodeReader.cpp.
References llvm::bitc::CAST_ADDRSPACECAST, llvm::bitc::CAST_BITCAST, llvm::bitc::CAST_FPEXT, llvm::bitc::CAST_FPTOSI, llvm::bitc::CAST_FPTOUI, llvm::bitc::CAST_FPTRUNC, llvm::bitc::CAST_INTTOPTR, llvm::bitc::CAST_PTRTOINT, llvm::bitc::CAST_SEXT, llvm::bitc::CAST_SITOFP, llvm::bitc::CAST_TRUNC, llvm::bitc::CAST_UITOFP, and llvm::bitc::CAST_ZEXT.
|
static |
Definition at line 1200 of file BitcodeReader.cpp.
References llvm::CodeModel::Kernel, llvm::CodeModel::Large, llvm::CodeModel::Medium, llvm::CodeModel::Small, and llvm::CodeModel::Tiny.
|
static |
Definition at line 1346 of file BitcodeReader.cpp.
References llvm::Comdat::Any, llvm::bitc::COMDAT_SELECTION_KIND_ANY, llvm::bitc::COMDAT_SELECTION_KIND_EXACT_MATCH, llvm::bitc::COMDAT_SELECTION_KIND_LARGEST, llvm::bitc::COMDAT_SELECTION_KIND_NO_DUPLICATES, llvm::bitc::COMDAT_SELECTION_KIND_SAME_SIZE, llvm::Comdat::ExactMatch, llvm::Comdat::Largest, llvm::Comdat::NoDeduplicate, and llvm::Comdat::SameSize.
|
static |
Definition at line 1183 of file BitcodeReader.cpp.
References llvm::GlobalValue::DefaultStorageClass, llvm::GlobalValue::DLLExportStorageClass, and llvm::GlobalValue::DLLImportStorageClass.
Definition at line 1192 of file BitcodeReader.cpp.
|
static |
Definition at line 1362 of file BitcodeReader.cpp.
References llvm::bitc::AllowContract, llvm::bitc::AllowReassoc, llvm::bitc::AllowReciprocal, llvm::bitc::ApproxFunc, llvm::bitc::NoInfs, llvm::bitc::NoNaNs, llvm::bitc::NoSignedZeros, llvm::FastMathFlags::setAllowContract(), llvm::FastMathFlags::setAllowReassoc(), llvm::FastMathFlags::setAllowReciprocal(), llvm::FastMathFlags::setApproxFunc(), llvm::FastMathFlags::setFast(), llvm::FastMathFlags::setNoInfs(), llvm::FastMathFlags::setNoNaNs(), llvm::FastMathFlags::setNoSignedZeros(), and llvm::bitc::UnsafeAlgebra.
|
static |
Definition at line 1110 of file BitcodeReader.cpp.
|
static |
Definition at line 1150 of file BitcodeReader.cpp.
|
static |
Definition at line 1129 of file BitcodeReader.cpp.
References Live.
|
static |
Definition at line 1158 of file BitcodeReader.cpp.
|
static |
Definition at line 1068 of file BitcodeReader.cpp.
References llvm::GlobalValue::AppendingLinkage, llvm::GlobalValue::AvailableExternallyLinkage, llvm::GlobalValue::CommonLinkage, llvm::GlobalValue::ExternalLinkage, llvm::GlobalValue::ExternalWeakLinkage, llvm::GlobalValue::InternalLinkage, llvm::GlobalValue::LinkOnceAnyLinkage, llvm::GlobalValue::LinkOnceODRLinkage, llvm::GlobalValue::PrivateLinkage, llvm::GlobalValue::WeakAnyLinkage, and llvm::GlobalValue::WeakODRLinkage.
|
static |
Definition at line 1333 of file BitcodeReader.cpp.
References llvm::bitc::ORDERING_ACQREL, llvm::bitc::ORDERING_ACQUIRE, llvm::bitc::ORDERING_MONOTONIC, llvm::bitc::ORDERING_NOTATOMIC, llvm::bitc::ORDERING_RELEASE, llvm::bitc::ORDERING_SEQCST, and llvm::bitc::ORDERING_UNORDERED.
|
static |
Definition at line 1165 of file BitcodeReader.cpp.
References llvm::CalleeInfo::RelBlockFreqBits.
|
static |
Definition at line 1308 of file BitcodeReader.cpp.
References llvm::AtomicRMWInst::Add, llvm::AtomicRMWInst::And, llvm::AtomicRMWInst::BAD_BINOP, llvm::AtomicRMWInst::FAdd, llvm::AtomicRMWInst::FMax, llvm::AtomicRMWInst::FMin, llvm::AtomicRMWInst::FSub, llvm::AtomicRMWInst::Max, llvm::AtomicRMWInst::Min, llvm::AtomicRMWInst::Nand, llvm::AtomicRMWInst::Or, llvm::bitc::RMW_ADD, llvm::bitc::RMW_AND, llvm::bitc::RMW_FADD, llvm::bitc::RMW_FMAX, llvm::bitc::RMW_FMIN, llvm::bitc::RMW_FSUB, llvm::bitc::RMW_MAX, llvm::bitc::RMW_MIN, llvm::bitc::RMW_NAND, llvm::bitc::RMW_OR, llvm::bitc::RMW_SUB, llvm::bitc::RMW_UDEC_WRAP, llvm::bitc::RMW_UINC_WRAP, llvm::bitc::RMW_UMAX, llvm::bitc::RMW_UMIN, llvm::bitc::RMW_XCHG, llvm::bitc::RMW_XOR, llvm::AtomicRMWInst::Sub, llvm::AtomicRMWInst::UDecWrap, llvm::AtomicRMWInst::UIncWrap, llvm::AtomicRMWInst::UMax, llvm::AtomicRMWInst::UMin, llvm::AtomicRMWInst::Xchg, and llvm::AtomicRMWInst::Xor.
|
static |
Definition at line 1217 of file BitcodeReader.cpp.
Definition at line 1256 of file BitcodeReader.cpp.
References llvm::Type::isFPOrFPVectorTy(), llvm::Type::isIntOrIntVectorTy(), and llvm::bitc::UNOP_FNEG.
|
static |
Definition at line 1228 of file BitcodeReader.cpp.
|
static |
Definition at line 1173 of file BitcodeReader.cpp.
References llvm::GlobalValue::DefaultVisibility, llvm::GlobalValue::HiddenVisibility, and llvm::GlobalValue::ProtectedVisibility.
|
static |
Definition at line 8244 of file BitcodeReader.cpp.
References llvm::BitstreamCursor::advanceSkippingSubblocks(), assert(), llvm::BitstreamEntry::EndBlock, llvm::BitstreamCursor::EnterSubBlock(), llvm::BitstreamEntry::Error, error, llvm::bitc::FS_FLAGS, llvm::Expected< T >::get(), llvm_unreachable, llvm::BitstreamCursor::readRecord(), llvm::BitstreamEntry::Record, llvm::BitstreamEntry::SubBlock, and llvm::Expected< T >::takeError().
Referenced by llvm::BitcodeModule::getLTOInfo().
|
static |
Definition at line 1748 of file BitcodeReader.cpp.
References llvm::Attribute::EmptyKey, llvm::Attribute::EndAttrKinds, llvm_unreachable, llvm::Attribute::None, and llvm::Attribute::TombstoneKey.
Referenced by addRawAttributeValue().
|
static |
Definition at line 8354 of file BitcodeReader.cpp.
References error, llvm::getBitcodeModuleList(), and llvm::Expected< T >::takeError().
Referenced by llvm::getBitcodeLTOInfo(), llvm::getLazyBitcodeModule(), llvm::getModuleSummaryIndex(), llvm::parseBitcodeFile(), and llvm::readModuleSummaryIndex().
|
static |
Definition at line 1056 of file BitcodeReader.cpp.
|
static |
Definition at line 125 of file BitcodeReader.cpp.
References llvm::CallingConv::C, llvm::BitstreamCursor::canSkipToPos(), llvm::createStringError(), llvm::BitstreamCursor::Read(), and llvm::Error::success().
Referenced by initStream().
|
static |
Definition at line 316 of file BitcodeReader.cpp.
References llvm::BitstreamCursor::advance(), llvm::BitstreamEntry::EndBlock, llvm::BitstreamEntry::Error, error, hasObjCCategoryInModule(), llvm::bitc::MODULE_BLOCK_ID, llvm::BitstreamEntry::Record, llvm::BitstreamCursor::SkipBlock(), llvm::BitstreamCursor::skipRecord(), and llvm::BitstreamEntry::SubBlock.
Referenced by getObjCClassCategory(), and llvm::isBitcodeContainingObjCCategory().
|
static |
Definition at line 269 of file BitcodeReader.cpp.
References llvm::BitstreamCursor::advanceSkippingSubblocks(), convertToString(), llvm::BitstreamEntry::EndBlock, llvm::BitstreamCursor::EnterSubBlock(), llvm::BitstreamEntry::Error, error, llvm::Expected< T >::get(), llvm_unreachable, llvm::bitc::MODULE_BLOCK_ID, llvm::bitc::MODULE_CODE_SECTIONNAME, llvm::BitstreamCursor::readRecord(), llvm::BitstreamEntry::Record, llvm::BitstreamEntry::SubBlock, and llvm::Expected< T >::takeError().
Referenced by hasObjCCategory().
|
static |
Definition at line 3883 of file BitcodeReader.cpp.
References llvm::GlobalValue::hasDefaultVisibility(), llvm::GlobalValue::hasExternalWeakLinkage(), llvm::GlobalValue::hasLocalLinkage(), and llvm::GlobalValue::setDSOLocal().
|
static |
Definition at line 146 of file BitcodeReader.cpp.
References error, llvm::MemoryBufferRef::getBufferSize(), llvm::MemoryBufferRef::getBufferStart(), hasInvalidBitcodeHeader(), llvm::isBitcodeWrapper(), and llvm::SkipBitcodeWrapperHeader().
Referenced by llvm::getBitcodeFileContents(), llvm::getBitcodeProducerString(), llvm::getBitcodeTargetTriple(), and llvm::isBitcodeContainingObjCCategory().
Definition at line 1452 of file BitcodeReader.cpp.
References ExpandConstantExprs, llvm::Instruction::isBinaryOp(), llvm::Instruction::isCast(), llvm::ConstantExpr::isSupportedBinOp(), llvm::ConstantExpr::isSupportedCastOp(), and llvm::ConstantExpr::isSupportedGetElementPtr().
|
static |
Helper to note and return the current location, and jump to the given offset.
Definition at line 2756 of file BitcodeReader.cpp.
References llvm::BitstreamCursor::advance(), error, llvm::Expected< T >::get(), llvm::BitstreamCursor::GetCurrentBitNo(), llvm::BitstreamCursor::JumpToBit(), llvm::Offset, llvm::BitstreamEntry::SubBlock, llvm::Expected< T >::takeError(), and llvm::bitc::VALUE_SYMTAB_BLOCK_ID.
|
static |
Definition at line 7287 of file BitcodeReader.cpp.
References llvm::TypeTestResolution::AlignLog2, llvm::TypeTestResolution::BitMask, llvm::StringRef::data(), llvm::ModuleSummaryIndex::getOrInsertTypeIdSummary(), llvm::TypeTestResolution::InlineBits, parseWholeProgramDevirtResolution(), llvm::TypeTestResolution::SizeM1, llvm::TypeTestResolution::SizeM1BitWidth, llvm::TypeTestResolution::TheKind, and llvm::TypeIdSummary::TTRes.
|
static |
Definition at line 7271 of file BitcodeReader.cpp.
References llvm::StringRef::data(), I, parseWholeProgramDevirtResolutionByArg(), llvm::WholeProgramDevirtResolution::SingleImplName, llvm::WholeProgramDevirtResolution::TheKind, and llvm::TypeIdSummary::WPDRes.
Referenced by parseTypeIdSummaryRecord().
|
static |
Definition at line 7257 of file BitcodeReader.cpp.
References B, and llvm::WholeProgramDevirtResolution::ResByArg.
Referenced by parseWholeProgramDevirtResolution().
|
static |
Definition at line 7995 of file BitcodeReader.cpp.
References llvm::BitstreamCursor::advance(), llvm::Block, llvm::BitstreamEntry::EndBlock, llvm::BitstreamCursor::EnterSubBlock(), llvm::BitstreamEntry::Error, error, llvm::Expected< T >::get(), llvm::BitstreamCursor::readRecord(), llvm::BitstreamEntry::Record, llvm::BitstreamCursor::SkipBlock(), llvm::BitstreamEntry::SubBlock, and llvm::Expected< T >::takeError().
Referenced by llvm::getBitcodeFileContents().
|
static |
Read the "IDENTIFICATION_BLOCK_ID" block, do some basic enforcement on the "epoch" encoded in the bitcode, and return the producer name if any.
Definition at line 189 of file BitcodeReader.cpp.
References llvm::BitstreamCursor::advance(), llvm::bitc::BITCODE_CURRENT_EPOCH, convertToString(), llvm::BitstreamEntry::EndBlock, llvm::BitstreamCursor::EnterSubBlock(), llvm::BitstreamEntry::Error, error, llvm::Expected< T >::get(), llvm::bitc::IDENTIFICATION_BLOCK_ID, llvm::bitc::IDENTIFICATION_CODE_EPOCH, llvm::bitc::IDENTIFICATION_CODE_STRING, llvm::BitstreamCursor::readRecord(), llvm::BitstreamEntry::Record, and llvm::Expected< T >::takeError().
Referenced by readIdentificationCode().
|
static |
Definition at line 237 of file BitcodeReader.cpp.
References llvm::BitstreamCursor::advance(), llvm::BitstreamCursor::AtEndOfStream(), llvm::BitstreamEntry::EndBlock, llvm::BitstreamEntry::Error, error, llvm::bitc::IDENTIFICATION_BLOCK_ID, readIdentificationBlock(), llvm::BitstreamEntry::Record, llvm::BitstreamCursor::SkipBlock(), llvm::BitstreamCursor::skipRecord(), and llvm::BitstreamEntry::SubBlock.
Referenced by llvm::getBitcodeProducerString().
|
static |
Definition at line 347 of file BitcodeReader.cpp.
References llvm::BitstreamCursor::advanceSkippingSubblocks(), convertToString(), llvm::BitstreamEntry::EndBlock, llvm::BitstreamCursor::EnterSubBlock(), llvm::BitstreamEntry::Error, error, llvm::Expected< T >::get(), llvm_unreachable, llvm::bitc::MODULE_BLOCK_ID, llvm::bitc::MODULE_CODE_TRIPLE, llvm::BitstreamCursor::readRecord(), llvm::BitstreamEntry::Record, llvm::BitstreamEntry::SubBlock, and llvm::Expected< T >::takeError().
Referenced by readTriple().
|
static |
Definition at line 392 of file BitcodeReader.cpp.
References llvm::BitstreamCursor::advance(), llvm::BitstreamEntry::EndBlock, llvm::BitstreamEntry::Error, error, llvm::Expected< T >::get(), llvm::bitc::MODULE_BLOCK_ID, readModuleTriple(), llvm::BitstreamEntry::Record, llvm::BitstreamCursor::SkipBlock(), llvm::BitstreamCursor::skipRecord(), llvm::BitstreamEntry::SubBlock, and llvm::Expected< T >::takeError().
Referenced by llvm::getBitcodeTargetTriple().
|
static |
Definition at line 7362 of file BitcodeReader.cpp.
References assert().
|
static |
Definition at line 178 of file BitcodeReader.cpp.
References F, I, and instructions.
|
static |
Definition at line 1383 of file BitcodeReader.cpp.
References llvm::GlobalValue::DLLExportStorageClass, llvm::GlobalValue::DLLImportStorageClass, llvm::GlobalValue::hasLocalLinkage(), and llvm::GlobalValue::setDLLStorageClass().
|
static |
Definition at line 2162 of file BitcodeReader.cpp.
References llvm::MemoryEffectsBase< LocationEnum >::argMemOnly(), llvm::bitc::ATTR_KIND_ARGMEMONLY, llvm::bitc::ATTR_KIND_INACCESSIBLEMEM_ONLY, llvm::bitc::ATTR_KIND_INACCESSIBLEMEM_OR_ARGMEMONLY, llvm::bitc::ATTR_KIND_READ_NONE, llvm::bitc::ATTR_KIND_READ_ONLY, llvm::bitc::ATTR_KIND_WRITEONLY, llvm::MemoryEffectsBase< LocationEnum >::inaccessibleMemOnly(), llvm::MemoryEffectsBase< LocationEnum >::inaccessibleOrArgMemOnly(), llvm::MemoryEffectsBase< LocationEnum >::none(), llvm::MemoryEffectsBase< LocationEnum >::readOnly(), and llvm::MemoryEffectsBase< LocationEnum >::writeOnly().
|
static |
Referenced by isConstExprSupported().
cl::opt< cl::boolOrDefault > LoadBitcodeIntoNewDbgInfoFormat("load-bitcode-into-experimental-debuginfo-iterators", cl::Hidden, cl::desc("Load bitcode directly into the new debug info format (regardless " "of input format)")) | ( | "load-bitcode-into-experimental-debuginfo-iterators" | , |
cl::Hidden | , | ||
cl::desc("Load bitcode directly into the new debug info format (regardless " "of input format)") | |||
) |
Load bitcode directly into RemoveDIs format (use debug records instead of debug intrinsics).
UNSET is treated as FALSE, so the default action is to do nothing. Individual tools can override this to incrementally add support for the RemoveDIs format.
|
static |