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). | |
cl::opt< cl::boolOrDefault > | PreserveInputDbgFormat |
bool | WriteNewDbgInfoFormatToBitcode |
cl::opt< bool > | WriteNewDbgInfoFormat |
|
static |
Definition at line 1835 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 171 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 1856 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 3903 of file BitcodeReader.cpp.
Definition at line 123 of file BitcodeReader.cpp.
References llvm::make_error_code().
|
static |
Definition at line 1969 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 1279 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 1246 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 1209 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 1355 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 1192 of file BitcodeReader.cpp.
References llvm::GlobalValue::DefaultStorageClass, llvm::GlobalValue::DLLExportStorageClass, and llvm::GlobalValue::DLLImportStorageClass.
Definition at line 1201 of file BitcodeReader.cpp.
|
static |
Definition at line 1371 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 1118 of file BitcodeReader.cpp.
|
static |
Definition at line 1159 of file BitcodeReader.cpp.
|
static |
Definition at line 1137 of file BitcodeReader.cpp.
References Live.
|
static |
Definition at line 1167 of file BitcodeReader.cpp.
|
static |
Definition at line 1076 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 1342 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 1174 of file BitcodeReader.cpp.
References llvm::CalleeInfo::RelBlockFreqBits.
|
static |
Definition at line 1317 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 1226 of file BitcodeReader.cpp.
Definition at line 1265 of file BitcodeReader.cpp.
References llvm::Type::isFPOrFPVectorTy(), llvm::Type::isIntOrIntVectorTy(), and llvm::bitc::UNOP_FNEG.
|
static |
Definition at line 1237 of file BitcodeReader.cpp.
|
static |
Definition at line 1182 of file BitcodeReader.cpp.
References llvm::GlobalValue::DefaultVisibility, llvm::GlobalValue::HiddenVisibility, and llvm::GlobalValue::ProtectedVisibility.
|
static |
Definition at line 8302 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 1757 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 8412 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 1064 of file BitcodeReader.cpp.
|
static |
Definition at line 128 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 319 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 272 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 3896 of file BitcodeReader.cpp.
References llvm::GlobalValue::hasDefaultVisibility(), llvm::GlobalValue::hasExternalWeakLinkage(), llvm::GlobalValue::hasLocalLinkage(), and llvm::GlobalValue::setDSOLocal().
|
static |
Definition at line 149 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 1461 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 2765 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 7345 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 7329 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 7315 of file BitcodeReader.cpp.
References B, and llvm::WholeProgramDevirtResolution::ResByArg.
Referenced by parseWholeProgramDevirtResolution().
|
static |
Definition at line 8053 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 192 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 240 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 350 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 395 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 7420 of file BitcodeReader.cpp.
References assert().
|
static |
Definition at line 181 of file BitcodeReader.cpp.
References F, I, and instructions.
|
static |
Definition at line 1392 of file BitcodeReader.cpp.
References llvm::GlobalValue::DLLExportStorageClass, llvm::GlobalValue::DLLImportStorageClass, llvm::GlobalValue::hasLocalLinkage(), and llvm::GlobalValue::setDLLStorageClass().
|
static |
Definition at line 2171 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.
|
extern |
|
static |
|
extern |
Definition at line 47 of file BasicBlock.cpp.