LLVM 20.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/ConstantRangeList.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/ProfDataUtils.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< bool > | UseNewDbgInfoFormat |
cl::opt< cl::boolOrDefault > | PreserveInputDbgFormat |
bool | WriteNewDbgInfoFormatToBitcode |
cl::opt< bool > | WriteNewDbgInfoFormat |
|
static |
Definition at line 1921 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 174 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 1942 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 4054 of file BitcodeReader.cpp.
Definition at line 126 of file BitcodeReader.cpp.
References llvm::make_error_code().
|
static |
Definition at line 2055 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_ELIDE_SAFE, 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_INITIALIZES, 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_DIVERGENCE_SOURCE, llvm::bitc::ATTR_KIND_NO_DUPLICATE, llvm::bitc::ATTR_KIND_NO_EXT, 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_NUMERICAL_STABILITY, llvm::bitc::ATTR_KIND_SANITIZE_REALTIME, llvm::bitc::ATTR_KIND_SANITIZE_REALTIME_BLOCKING, llvm::bitc::ATTR_KIND_SANITIZE_THREAD, llvm::bitc::ATTR_KIND_SANITIZE_TYPE, 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 1314 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 1281 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 1244 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 1394 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 1227 of file BitcodeReader.cpp.
References llvm::GlobalValue::DefaultStorageClass, llvm::GlobalValue::DLLExportStorageClass, and llvm::GlobalValue::DLLImportStorageClass.
Definition at line 1236 of file BitcodeReader.cpp.
|
static |
Definition at line 1410 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 1153 of file BitcodeReader.cpp.
|
static |
Definition at line 1194 of file BitcodeReader.cpp.
|
static |
Definition at line 1172 of file BitcodeReader.cpp.
|
static |
Definition at line 1202 of file BitcodeReader.cpp.
|
static |
Definition at line 1111 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 1381 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 1209 of file BitcodeReader.cpp.
References llvm::CalleeInfo::RelBlockFreqBits.
|
static |
Definition at line 1352 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_USUB_COND, llvm::bitc::RMW_USUB_SAT, 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::USubCond, llvm::AtomicRMWInst::USubSat, llvm::AtomicRMWInst::Xchg, and llvm::AtomicRMWInst::Xor.
|
static |
Definition at line 1261 of file BitcodeReader.cpp.
Definition at line 1300 of file BitcodeReader.cpp.
References llvm::Type::isFPOrFPVectorTy(), llvm::Type::isIntOrIntVectorTy(), and llvm::bitc::UNOP_FNEG.
|
static |
Definition at line 1272 of file BitcodeReader.cpp.
|
static |
Definition at line 1217 of file BitcodeReader.cpp.
References llvm::GlobalValue::DefaultVisibility, llvm::GlobalValue::HiddenVisibility, and llvm::GlobalValue::ProtectedVisibility.
|
static |
Definition at line 8566 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 1843 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 8676 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 1099 of file BitcodeReader.cpp.
|
static |
Definition at line 131 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 323 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 275 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 4047 of file BitcodeReader.cpp.
References llvm::GlobalValue::hasDefaultVisibility(), llvm::GlobalValue::hasExternalWeakLinkage(), llvm::GlobalValue::hasLocalLinkage(), and llvm::GlobalValue::setDSOLocal().
|
static |
Definition at line 152 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 1511 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 2901 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 7512 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 7496 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 7482 of file BitcodeReader.cpp.
References B, and llvm::WholeProgramDevirtResolution::ResByArg.
Referenced by parseWholeProgramDevirtResolution().
|
static |
Definition at line 8317 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 195 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 243 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 354 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 399 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 7629 of file BitcodeReader.cpp.
References assert(), and llvm::SmallVectorBase< Size_T >::size().
|
static |
Definition at line 184 of file BitcodeReader.cpp.
References F, I, and instructions.
|
static |
Definition at line 1500 of file BitcodeReader.cpp.
References llvm::bitc::GEP_INBOUNDS, llvm::bitc::GEP_NUSW, llvm::bitc::GEP_NUW, llvm::GEPNoWrapFlags::inBounds(), llvm::GEPNoWrapFlags::noUnsignedSignedWrap(), and llvm::GEPNoWrapFlags::noUnsignedWrap().
|
static |
Definition at line 1431 of file BitcodeReader.cpp.
References llvm::GlobalValue::DLLExportStorageClass, llvm::GlobalValue::DLLImportStorageClass, llvm::GlobalValue::hasLocalLinkage(), and llvm::GlobalValue::setDLLStorageClass().
|
static |
Definition at line 2273 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.