LLVM 20.0.0git
|
#include "llvm/Bitcode/BitcodeWriter.h"
#include "ValueEnumerator.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/SetVector.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Bitcode/BitcodeCommon.h"
#include "llvm/Bitcode/BitcodeReader.h"
#include "llvm/Bitcode/LLVMBitCodes.h"
#include "llvm/Bitstream/BitCodes.h"
#include "llvm/Bitstream/BitstreamWriter.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Comdat.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/ConstantRangeList.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/IR/DebugLoc.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.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/InstrTypes.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.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/UseListOrder.h"
#include "llvm/IR/Value.h"
#include "llvm/IR/ValueSymbolTable.h"
#include "llvm/MC/StringTableBuilder.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Object/IRSymtab.h"
#include "llvm/ProfileData/MemProf.h"
#include "llvm/Support/AtomicOrdering.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/SHA1.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TargetParser/Triple.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <iterator>
#include <map>
#include <memory>
#include <optional>
#include <string>
#include <utility>
#include <vector>
#include "llvm/IR/Metadata.def"
Go to the source code of this file.
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
Macros | |
#define | HANDLE_MDNODE_LEAF(CLASS) CLASS##AbbrevID, |
#define | HANDLE_MDNODE_LEAF(CLASS) unsigned CLASS##Abbrev = 0; |
#define | HANDLE_MDNODE_LEAF(CLASS) |
Enumerations | |
enum | StringEncoding { SE_Char6 , SE_Fixed7 , SE_Fixed8 } |
enum | MetadataAbbrev : unsigned { LastPlusOne } |
Variables | |
static cl::opt< unsigned > | IndexThreshold ("bitcode-mdindex-threshold", cl::Hidden, cl::init(25), cl::desc("Number of metadatas above which we emit an index " "to enable lazy-loading")) |
static cl::opt< uint32_t > | FlushThreshold ("bitcode-flush-threshold", cl::Hidden, cl::init(512), cl::desc("The threshold (unit M) for flushing LLVM bitcode.")) |
static cl::opt< bool > | WriteRelBFToSummary ("write-relbf-to-summary", cl::Hidden, cl::init(false), cl::desc("Write relative block frequency to function summary ")) |
bool | WriteNewDbgInfoFormatToBitcode |
llvm::cl::opt< bool > | UseNewDbgInfoFormat |
#define HANDLE_MDNODE_LEAF | ( | CLASS | ) | CLASS##AbbrevID, |
Definition at line 2389 of file BitcodeWriter.cpp.
#define HANDLE_MDNODE_LEAF | ( | CLASS | ) | unsigned CLASS##Abbrev = 0; |
Definition at line 2389 of file BitcodeWriter.cpp.
#define HANDLE_MDNODE_LEAF | ( | CLASS | ) |
Definition at line 2389 of file BitcodeWriter.cpp.
enum MetadataAbbrev : unsigned |
Enumerator | |
---|---|
LastPlusOne |
Definition at line 2388 of file BitcodeWriter.cpp.
enum StringEncoding |
Enumerator | |
---|---|
SE_Char6 | |
SE_Fixed7 | |
SE_Fixed8 |
Definition at line 1408 of file BitcodeWriter.cpp.
|
static |
Definition at line 4207 of file BitcodeWriter.cpp.
References llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::SmallVectorImpl< T >::reserve().
|
static |
Definition at line 940 of file BitcodeWriter.cpp.
References llvm::BitWidth, emitSignedInt64(), emitWideAPInt(), llvm::APInt::getActiveWords(), llvm::ConstantRange::getBitWidth(), llvm::ConstantRange::getLower(), llvm::APInt::getSExtValue(), and llvm::ConstantRange::getUpper().
|
static |
If generating a bc file on darwin, we have to emit a header and trailer to make it compatible with the system archiver.
To do this we emit the following header, and then emit a trailer that pads the file out to be a multiple of 16 bytes.
struct bc_header { uint32_t Magic; // 0x0B17C0DE uint32_t Version; // Version, currently always 0. uint32_t BitcodeOffset; // Offset to traditional bitcode file. uint32_t BitcodeSize; // Size of traditional bitcode file. uint32_t CPUType; // CPU specifier. ... potentially more later ... };
Definition at line 5199 of file BitcodeWriter.cpp.
References llvm::Triple::arm, assert(), llvm::BWH_HeaderSize, llvm::Triple::ppc, llvm::Triple::ppc64, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorBase< Size_T >::size(), llvm::Triple::thumb, writeInt32ToBuffer(), llvm::Triple::x86, and llvm::Triple::x86_64.
Referenced by llvm::WriteBitcodeToFile().
|
static |
Definition at line 922 of file BitcodeWriter.cpp.
References llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by emitConstantRange(), emitWideAPInt(), and writeFunctionTypeMetadataRecords().
|
static |
Definition at line 929 of file BitcodeWriter.cpp.
References A, and emitSignedInt64().
Referenced by emitConstantRange().
|
static |
Definition at line 712 of file BitcodeWriter.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_HYBRID_PATCHABLE, 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, llvm::Attribute::EmptyKey, llvm::Attribute::EndAttrKinds, llvm_unreachable, llvm::Attribute::None, and llvm::Attribute::TombstoneKey.
Definition at line 631 of file BitcodeWriter.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, and llvm_unreachable.
Definition at line 605 of file BitcodeWriter.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, llvm::bitc::CAST_ZEXT, and llvm_unreachable.
Definition at line 1339 of file BitcodeWriter.cpp.
References llvm::Comdat::Any, llvm::CallingConv::C, 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_unreachable, llvm::Comdat::NoDeduplicate, and llvm::Comdat::SameSize.
|
static |
Definition at line 1319 of file BitcodeWriter.cpp.
References llvm::GlobalValue::DefaultStorageClass, llvm::GlobalValue::DLLExportStorageClass, llvm::GlobalValue::DLLImportStorageClass, llvm::GlobalValue::getDLLStorageClass(), and llvm_unreachable.
|
static |
Definition at line 1247 of file BitcodeWriter.cpp.
|
static |
Definition at line 1286 of file BitcodeWriter.cpp.
|
static |
Definition at line 1264 of file BitcodeWriter.cpp.
|
static |
Definition at line 1292 of file BitcodeWriter.cpp.
References llvm::CalleeInfo::HasTailCall, and llvm::CalleeInfo::Hotness.
|
static |
Definition at line 1243 of file BitcodeWriter.cpp.
References getEncodedLinkage(), and llvm::GlobalValue::getLinkage().
|
static |
Definition at line 1215 of file BitcodeWriter.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_unreachable, llvm::GlobalValue::PrivateLinkage, llvm::GlobalValue::WeakAnyLinkage, and llvm::GlobalValue::WeakODRLinkage.
Referenced by getEncodedLinkage().
|
static |
Definition at line 684 of file BitcodeWriter.cpp.
References llvm_unreachable, 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 1301 of file BitcodeWriter.cpp.
References llvm::CalleeInfo::HasTailCall, llvm::CalleeInfo::RelBlockFreq, and llvm::CalleeInfo::RelBlockFreqBits.
|
static |
Definition at line 655 of file BitcodeWriter.cpp.
References llvm::AtomicRMWInst::Add, llvm::AtomicRMWInst::And, llvm::AtomicRMWInst::FAdd, llvm::AtomicRMWInst::FMax, llvm::AtomicRMWInst::FMin, llvm::AtomicRMWInst::FSub, llvm_unreachable, 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 1328 of file BitcodeWriter.cpp.
References llvm::GlobalValue::getThreadLocalMode(), and llvm_unreachable.
Definition at line 624 of file BitcodeWriter.cpp.
References llvm_unreachable, and llvm::bitc::UNOP_FNEG.
|
static |
Definition at line 1355 of file BitcodeWriter.cpp.
References llvm::GlobalValue::getUnnamedAddr(), and llvm_unreachable.
|
static |
Definition at line 1310 of file BitcodeWriter.cpp.
References llvm::GlobalValue::DefaultVisibility, llvm::GlobalValue::getVisibility(), llvm::GlobalValue::HiddenVisibility, llvm_unreachable, and llvm::GlobalValue::ProtectedVisibility.
Definition at line 1683 of file BitcodeWriter.cpp.
References llvm::bitc::AllowContract, llvm::bitc::AllowReassoc, llvm::bitc::AllowReciprocal, llvm::bitc::ApproxFunc, GEP, llvm::bitc::GEP_INBOUNDS, llvm::bitc::GEP_NUSW, llvm::bitc::GEP_NUW, llvm::bitc::ICMP_SAME_SIGN, llvm::bitc::NoInfs, llvm::bitc::NoNaNs, llvm::bitc::NoSignedZeros, llvm::bitc::OBO_NO_SIGNED_WRAP, llvm::bitc::OBO_NO_UNSIGNED_WRAP, llvm::bitc::PDI_DISJOINT, llvm::bitc::PEO_EXACT, llvm::bitc::PNNI_NON_NEG, llvm::bitc::TIO_NO_SIGNED_WRAP, and llvm::bitc::TIO_NO_UNSIGNED_WRAP.
|
static |
Collect type IDs from type tests used by function.
Definition at line 4120 of file BitcodeWriter.cpp.
Definition at line 5583 of file BitcodeWriter.cpp.
References llvm::Triple::AMD, llvm::Triple::COFF, llvm::Triple::DXContainer, llvm::Triple::ELF, llvm::Triple::GOFF, llvm_unreachable, llvm::Triple::MachO, llvm::Triple::SPIRV, llvm::Triple::UnknownObjectFormat, llvm::Triple::Wasm, and llvm::Triple::XCOFF.
Referenced by llvm::embedBitcodeInModule().
Definition at line 5610 of file BitcodeWriter.cpp.
References llvm::Triple::AMD, llvm::Triple::COFF, llvm::Triple::DXContainer, llvm::Triple::ELF, llvm::Triple::GOFF, llvm_unreachable, llvm::Triple::MachO, llvm::Triple::SPIRV, llvm::Triple::UnknownObjectFormat, llvm::Triple::Wasm, and llvm::Triple::XCOFF.
Referenced by llvm::embedBitcodeInModule().
|
static |
Determine the encoding to use for the given string name and length.
Definition at line 1411 of file BitcodeWriter.cpp.
References llvm::CallingConv::C, llvm::BitCodeAbbrevOp::isChar6(), SE_Char6, SE_Fixed7, and SE_Fixed8.
|
static |
Definition at line 1428 of file BitcodeWriter.cpp.
|
static |
Helper to write the header common to all bitcode files.
Definition at line 5246 of file BitcodeWriter.cpp.
References llvm::BitstreamWriter::Emit().
Referenced by llvm::BitcodeWriter::BitcodeWriter().
|
static |
Definition at line 4247 of file BitcodeWriter.cpp.
References assert(), llvm::BitstreamWriter::EmitRecord(), llvm::bitc::FS_ALLOC_CONTEXT_IDS, llvm::bitc::FS_COMBINED_ALLOC_INFO, llvm::bitc::FS_COMBINED_CALLSITE_INFO, llvm::bitc::FS_PERMODULE_ALLOC_INFO, llvm::bitc::FS_PERMODULE_CALLSITE_INFO, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorImpl< T >::reserve(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::size().
|
static |
Write the function type metadata related records that need to appear before a function summary entry (whether per-module or combined).
Definition at line 4044 of file BitcodeWriter.cpp.
References llvm::append_range(), assert(), llvm::BitstreamWriter::EmitRecord(), emitSignedInt64(), llvm::bitc::FS_PARAM_ACCESS, llvm::bitc::FS_TYPE_CHECKED_LOAD_CONST_VCALL, llvm::bitc::FS_TYPE_CHECKED_LOAD_VCALLS, llvm::bitc::FS_TYPE_TEST_ASSUME_CONST_VCALL, llvm::bitc::FS_TYPE_TEST_ASSUME_VCALLS, llvm::bitc::FS_TYPE_TESTS, llvm::ConstantRange::getLower(), llvm::APInt::getNumWords(), llvm::APInt::getRawData(), llvm::ConstantRange::getUpper(), Range, llvm::FunctionSummary::ParamAccess::RangeWidth, and llvm::ConstantRange::sextOrTrunc().
|
static |
Create the "IDENTIFICATION_BLOCK_ID" containing a single string with the current llvm version, and a record for the epoch number.
Definition at line 5075 of file BitcodeWriter.cpp.
References llvm::BitCodeAbbrevOp::Array, llvm::bitc::BITCODE_CURRENT_EPOCH, llvm::BitCodeAbbrevOp::Char6, llvm::BitstreamWriter::EmitAbbrev(), llvm::BitstreamWriter::EmitRecord(), llvm::BitstreamWriter::EnterSubblock(), llvm::BitstreamWriter::ExitBlock(), llvm::bitc::IDENTIFICATION_BLOCK_ID, llvm::bitc::IDENTIFICATION_CODE_EPOCH, llvm::bitc::IDENTIFICATION_CODE_STRING, llvm::BitCodeAbbrevOp::VBR, and writeStringRecord().
|
static |
Definition at line 5180 of file BitcodeWriter.cpp.
References llvm::support::endian::write32le().
Referenced by emitDarwinBCHeaderAndTrailer().
|
static |
Definition at line 4231 of file BitcodeWriter.cpp.
References assert(), llvm::memprof::CallStackRadixTreeBuilder< FrameIdTy >::build(), llvm::memprof::computeFrameHistogram< LinearFrameId >(), llvm::BitstreamWriter::EmitRecord(), llvm::bitc::FS_CONTEXT_RADIX_TREE_ARRAY, llvm::memprof::CallStackRadixTreeBuilder< FrameIdTy >::getRadixArray(), and llvm::memprof::CallStackRadixTreeBuilder< FrameIdTy >::takeCallStackPos().
|
static |
Definition at line 697 of file BitcodeWriter.cpp.
References llvm::CallingConv::C, llvm::BitstreamWriter::EmitRecord(), llvm::BitCodeAbbrevOp::isChar6(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by writeIdentificationBlock().
|
static |
Definition at line 4190 of file BitcodeWriter.cpp.
References llvm::StringTableBuilder::add(), llvm::ValueEnumerator::getValueID(), P, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
|
static |
Definition at line 4171 of file BitcodeWriter.cpp.
References llvm::StringTableBuilder::add(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and writeWholeProgramDevirtResolution().
|
static |
Definition at line 4157 of file BitcodeWriter.cpp.
References A, llvm::StringTableBuilder::add(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::WholeProgramDevirtResolution::ResByArg, llvm::WholeProgramDevirtResolution::SingleImplName, llvm::WholeProgramDevirtResolution::TheKind, and writeWholeProgramDevirtResolutionByArg().
Referenced by writeTypeIdSummaryRecord().
|
static |
Definition at line 4145 of file BitcodeWriter.cpp.
References llvm::append_range(), args, llvm::WholeProgramDevirtResolution::ByArg::Bit, llvm::WholeProgramDevirtResolution::ByArg::Byte, llvm::WholeProgramDevirtResolution::ByArg::Info, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::WholeProgramDevirtResolution::ByArg::TheKind.
Referenced by writeWholeProgramDevirtResolution().
|
static |
|
static |
|
extern |
|
extern |
Definition at line 47 of file BasicBlock.cpp.