|
LLVM
3.7.0
|
#include "llvm/Bitcode/ReaderWriter.h"#include "ValueEnumerator.h"#include "llvm/ADT/Triple.h"#include "llvm/Bitcode/BitstreamWriter.h"#include "llvm/Bitcode/LLVMBitCodes.h"#include "llvm/IR/Constants.h"#include "llvm/IR/DebugInfoMetadata.h"#include "llvm/IR/DerivedTypes.h"#include "llvm/IR/InlineAsm.h"#include "llvm/IR/Instructions.h"#include "llvm/IR/Module.h"#include "llvm/IR/Operator.h"#include "llvm/IR/UseListOrder.h"#include "llvm/IR/ValueSymbolTable.h"#include "llvm/Support/CommandLine.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/MathExtras.h"#include "llvm/Support/Program.h"#include "llvm/Support/raw_ostream.h"#include <cctype>#include <map>#include "llvm/IR/Metadata.def"Go to the source code of this file.
Macros | |
| #define | HANDLE_MDNODE_LEAF(CLASS) unsigned CLASS##Abbrev = 0; |
| #define | HANDLE_MDNODE_LEAF(CLASS) |
Enumerations | |
| enum | { VST_ENTRY_8_ABBREV = bitc::FIRST_APPLICATION_ABBREV, VST_ENTRY_7_ABBREV, VST_ENTRY_6_ABBREV, VST_BBENTRY_6_ABBREV, CONSTANTS_SETTYPE_ABBREV = bitc::FIRST_APPLICATION_ABBREV, CONSTANTS_INTEGER_ABBREV, CONSTANTS_CE_CAST_Abbrev, CONSTANTS_NULL_Abbrev, FUNCTION_INST_LOAD_ABBREV = bitc::FIRST_APPLICATION_ABBREV, FUNCTION_INST_BINOP_ABBREV, FUNCTION_INST_BINOP_FLAGS_ABBREV, FUNCTION_INST_CAST_ABBREV, FUNCTION_INST_RET_VOID_ABBREV, FUNCTION_INST_RET_VAL_ABBREV, FUNCTION_INST_UNREACHABLE_ABBREV, FUNCTION_INST_GEP_ABBREV } |
| These are manifest constants used by the bitcode writer. More... | |
| enum | { DarwinBCSizeFieldOffset = 3*4, DarwinBCHeaderSize = 5*4 } |
| EmitDarwinBCHeader - If generating a bc file on darwin, we have to emit a header and trailer to make it compatible with the system archiver. More... | |
| #define HANDLE_MDNODE_LEAF | ( | CLASS | ) | unsigned CLASS##Abbrev = 0; |
| #define HANDLE_MDNODE_LEAF | ( | CLASS | ) |
| anonymous enum |
These are manifest constants used by the bitcode writer.
They do not need to be kept in sync with the reader, but need to be consistent within this file.
Definition at line 39 of file BitcodeWriter.cpp.
| anonymous enum |
EmitDarwinBCHeader - 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 ... };
| Enumerator | |
|---|---|
| DarwinBCSizeFieldOffset | |
| DarwinBCHeaderSize | |
Definition at line 2419 of file BitcodeWriter.cpp.
|
static |
Definition at line 2430 of file BitcodeWriter.cpp.
References llvm::Triple::arm, DarwinBCHeaderSize, llvm::Triple::getArch(), llvm::Triple::ppc, llvm::Triple::ppc64, llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::SmallVectorTemplateCommon< T, typename >::size(), llvm::Triple::thumb, WriteInt32ToBuffer(), llvm::Triple::x86, and llvm::Triple::x86_64.
Referenced by llvm::WriteBitcodeToFile().
|
static |
Definition at line 1359 of file BitcodeWriter.cpp.
References llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by pushValueSigned(), and WriteConstants().
|
static |
Definition at line 159 of file BitcodeWriter.cpp.
References llvm::Attribute::Alignment, llvm::Attribute::AlwaysInline, llvm::Attribute::ArgMemOnly, llvm::bitc::ATTR_KIND_ALIGNMENT, llvm::bitc::ATTR_KIND_ALWAYS_INLINE, llvm::bitc::ATTR_KIND_ARGMEMONLY, llvm::bitc::ATTR_KIND_BUILTIN, llvm::bitc::ATTR_KIND_BY_VAL, llvm::bitc::ATTR_KIND_COLD, llvm::bitc::ATTR_KIND_CONVERGENT, llvm::bitc::ATTR_KIND_DEREFERENCEABLE, llvm::bitc::ATTR_KIND_DEREFERENCEABLE_OR_NULL, 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_MIN_SIZE, 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_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_RED_ZONE, llvm::bitc::ATTR_KIND_NO_RETURN, llvm::bitc::ATTR_KIND_NO_UNWIND, llvm::bitc::ATTR_KIND_NON_LAZY_BIND, llvm::bitc::ATTR_KIND_NON_NULL, llvm::bitc::ATTR_KIND_OPTIMIZE_FOR_SIZE, llvm::bitc::ATTR_KIND_OPTIMIZE_NONE, 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_MEMORY, llvm::bitc::ATTR_KIND_SANITIZE_THREAD, 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_STRUCT_RET, llvm::bitc::ATTR_KIND_UW_TABLE, llvm::bitc::ATTR_KIND_Z_EXT, llvm::Attribute::Builtin, llvm::Attribute::ByVal, llvm::Attribute::Cold, llvm::Attribute::Convergent, llvm::Attribute::Dereferenceable, llvm::Attribute::DereferenceableOrNull, llvm::Attribute::EndAttrKinds, llvm::Attribute::InAlloca, llvm::Attribute::InlineHint, llvm::Attribute::InReg, llvm::Attribute::JumpTable, llvm_unreachable, llvm::Attribute::MinSize, llvm::Attribute::Naked, llvm::Attribute::Nest, llvm::Attribute::NoAlias, llvm::Attribute::NoBuiltin, llvm::Attribute::NoCapture, llvm::Attribute::NoDuplicate, llvm::Attribute::NoImplicitFloat, llvm::Attribute::NoInline, llvm::Attribute::None, llvm::Attribute::NonLazyBind, llvm::Attribute::NonNull, llvm::Attribute::NoRedZone, llvm::Attribute::NoReturn, llvm::Attribute::NoUnwind, llvm::Attribute::OptimizeForSize, llvm::Attribute::OptimizeNone, llvm::Attribute::ReadNone, llvm::Attribute::ReadOnly, llvm::Attribute::Returned, llvm::Attribute::ReturnsTwice, llvm::Attribute::SafeStack, llvm::Attribute::SanitizeAddress, llvm::Attribute::SanitizeMemory, llvm::Attribute::SanitizeThread, llvm::Attribute::SExt, llvm::Attribute::StackAlignment, llvm::Attribute::StackProtect, llvm::Attribute::StackProtectReq, llvm::Attribute::StackProtectStrong, llvm::Attribute::StructRet, llvm::Attribute::UWTable, and llvm::Attribute::ZExt.
Referenced by WriteAttributeGroupTable().
Definition at line 82 of file BitcodeWriter.cpp.
References llvm::APIntOps::And(), 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_unreachable, llvm::APIntOps::Or(), and llvm::APIntOps::Xor().
Referenced by WriteConstants(), and WriteInstruction().
Definition at line 63 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.
Referenced by WriteConstants(), and WriteInstruction().
Definition at line 545 of file BitcodeWriter.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::getSelectionKind(), llvm::Comdat::Largest, llvm_unreachable, llvm::Comdat::NoDuplicates, and llvm::Comdat::SameSize.
Referenced by writeComdats().
|
static |
Definition at line 525 of file BitcodeWriter.cpp.
References llvm::GlobalValue::DefaultStorageClass, llvm::GlobalValue::DLLExportStorageClass, llvm::GlobalValue::DLLImportStorageClass, llvm::GlobalValue::getDLLStorageClass(), and llvm_unreachable.
Referenced by WriteModuleInfo().
|
static |
Definition at line 488 of file BitcodeWriter.cpp.
References llvm::GlobalValue::AppendingLinkage, llvm::GlobalValue::AvailableExternallyLinkage, llvm::GlobalValue::CommonLinkage, llvm::GlobalValue::ExternalLinkage, llvm::GlobalValue::ExternalWeakLinkage, llvm::GlobalValue::getLinkage(), llvm::GlobalValue::InternalLinkage, llvm::GlobalValue::LinkOnceAnyLinkage, llvm::GlobalValue::LinkOnceODRLinkage, llvm_unreachable, llvm::GlobalValue::PrivateLinkage, llvm::GlobalValue::WeakAnyLinkage, and llvm::GlobalValue::WeakODRLinkage.
Referenced by WriteModuleInfo().
|
static |
Definition at line 123 of file BitcodeWriter.cpp.
References llvm::Acquire, llvm::AcquireRelease, llvm_unreachable, llvm::Monotonic, llvm::NotAtomic, llvm::bitc::ORDERING_ACQREL, llvm::bitc::ORDERING_ACQUIRE, llvm::bitc::ORDERING_MONOTONIC, llvm::bitc::ORDERING_NOTATOMIC, llvm::bitc::ORDERING_RELEASE, llvm::bitc::ORDERING_SEQCST, llvm::bitc::ORDERING_UNORDERED, llvm::Release, llvm::SequentiallyConsistent, and llvm::Unordered.
Referenced by WriteInstruction().
|
static |
Definition at line 106 of file BitcodeWriter.cpp.
References llvm::AtomicRMWInst::Add, llvm::AtomicRMWInst::And, 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_MAX, llvm::bitc::RMW_MIN, llvm::bitc::RMW_NAND, llvm::bitc::RMW_OR, llvm::bitc::RMW_SUB, llvm::bitc::RMW_UMAX, llvm::bitc::RMW_UMIN, llvm::bitc::RMW_XCHG, llvm::bitc::RMW_XOR, llvm::AtomicRMWInst::Sub, llvm::AtomicRMWInst::UMax, llvm::AtomicRMWInst::UMin, llvm::AtomicRMWInst::Xchg, and llvm::AtomicRMWInst::Xor.
Referenced by WriteInstruction().
|
static |
Definition at line 136 of file BitcodeWriter.cpp.
References llvm::CrossThread, llvm_unreachable, llvm::SingleThread, llvm::bitc::SYNCHSCOPE_CROSSTHREAD, and llvm::bitc::SYNCHSCOPE_SINGLETHREAD.
Referenced by WriteInstruction().
|
static |
Definition at line 534 of file BitcodeWriter.cpp.
References llvm::GlobalValue::GeneralDynamicTLSModel, llvm::GlobalValue::getThreadLocalMode(), llvm::GlobalValue::InitialExecTLSModel, llvm_unreachable, llvm::GlobalValue::LocalDynamicTLSModel, llvm::GlobalValue::LocalExecTLSModel, and llvm::GlobalValue::NotThreadLocal.
Referenced by WriteModuleInfo().
|
static |
Definition at line 516 of file BitcodeWriter.cpp.
References llvm::GlobalValue::DefaultVisibility, llvm::GlobalValue::getVisibility(), llvm::GlobalValue::HiddenVisibility, llvm_unreachable, and llvm::GlobalValue::ProtectedVisibility.
Referenced by WriteModuleInfo().
Definition at line 741 of file BitcodeWriter.cpp.
References llvm::FastMathFlags::AllowReciprocal, llvm::FastMathFlags::NoInfs, llvm::FastMathFlags::NoNaNs, llvm::FastMathFlags::NoSignedZeros, llvm::bitc::OBO_NO_SIGNED_WRAP, llvm::bitc::OBO_NO_UNSIGNED_WRAP, llvm::bitc::PEO_EXACT, and llvm::FastMathFlags::UnsafeAlgebra.
Referenced by WriteConstants(), and WriteInstruction().
|
static |
pushValue - Like PushValueAndType, but where the type of the value is omitted (perhaps it was already encoded in an earlier operand).
Definition at line 1669 of file BitcodeWriter.cpp.
References llvm::ValueEnumerator::getValueID(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by WriteInstruction().
|
static |
PushValueAndType - The file has to encode both the value and type id for many values, because we need to know what type to create for forward references.
However, most operands are not forward references, so this type field is not needed.
This function adds V's value ID to Vals. If the value ID is higher than the instruction ID, then it is a forward reference, and it also includes the type ID. The value ID that is written is encoded relative to the InstID.
Definition at line 1654 of file BitcodeWriter.cpp.
References llvm::Value::getType(), llvm::ValueEnumerator::getTypeID(), llvm::ValueEnumerator::getValueID(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by WriteInstruction().
|
static |
Definition at line 1676 of file BitcodeWriter.cpp.
References emitSignedInt64(), and llvm::ValueEnumerator::getValueID().
Referenced by WriteInstruction().
|
static |
Definition at line 825 of file BitcodeWriter.cpp.
References I.
Referenced by WriteDIEnumerator(), and WriteDISubrange().
|
static |
Definition at line 260 of file BitcodeWriter.cpp.
References llvm::ARM_PROC::A, llvm::SmallVectorImpl< T >::append(), llvm::StringRef::begin(), llvm::AttributeSet::begin(), llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::StringRef::empty(), llvm::StringRef::end(), llvm::AttributeSet::end(), llvm::BitstreamWriter::EnterSubblock(), llvm::BitstreamWriter::ExitBlock(), llvm::ValueEnumerator::getAttributeGroupID(), llvm::ValueEnumerator::getAttributeGroups(), getAttrKindEncoding(), llvm::Attribute::getKindAsEnum(), llvm::Attribute::getKindAsString(), llvm::AttributeSet::getNumSlots(), llvm::AttributeSet::getSlotAttributes(), llvm::AttributeSet::getSlotIndex(), llvm::Attribute::getValueAsInt(), llvm::Attribute::getValueAsString(), I, llvm::Attribute::isEnumAttribute(), llvm::Attribute::isIntAttribute(), Kind, llvm::bitc::PARAMATTR_GROUP_BLOCK_ID, llvm::bitc::PARAMATTR_GRP_CODE_ENTRY, and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
Referenced by WriteModule().
|
static |
Definition at line 308 of file BitcodeWriter.cpp.
References llvm::ARM_PROC::A, llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::BitstreamWriter::EnterSubblock(), llvm::BitstreamWriter::ExitBlock(), llvm::ValueEnumerator::getAttributeGroupID(), llvm::ValueEnumerator::getAttributes(), llvm::AttributeSet::getNumSlots(), llvm::AttributeSet::getSlotAttributes(), llvm::bitc::PARAMATTR_BLOCK_ID, llvm::bitc::PARAMATTR_CODE_ENTRY, and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
Referenced by WriteModule().
|
static |
Definition at line 2177 of file BitcodeWriter.cpp.
References llvm::BitCodeAbbrev::Add(), llvm::BitCodeAbbrevOp::Array, llvm::BitCodeAbbrevOp::Char6, llvm::ValueEnumerator::computeBitsRequiredForTypeIndicies(), llvm::bitc::CONSTANTS_BLOCK_ID, CONSTANTS_CE_CAST_Abbrev, CONSTANTS_INTEGER_ABBREV, CONSTANTS_NULL_Abbrev, CONSTANTS_SETTYPE_ABBREV, llvm::bitc::CST_CODE_CE_CAST, llvm::bitc::CST_CODE_INTEGER, llvm::bitc::CST_CODE_NULL, llvm::bitc::CST_CODE_SETTYPE, llvm::BitstreamWriter::EmitBlockInfoAbbrev(), llvm::BitstreamWriter::EnterBlockInfoBlock(), llvm::BitstreamWriter::ExitBlock(), llvm::BitCodeAbbrevOp::Fixed, llvm::bitc::FUNC_CODE_INST_BINOP, llvm::bitc::FUNC_CODE_INST_CAST, llvm::bitc::FUNC_CODE_INST_GEP, llvm::bitc::FUNC_CODE_INST_LOAD, llvm::bitc::FUNC_CODE_INST_RET, llvm::bitc::FUNC_CODE_INST_UNREACHABLE, llvm::bitc::FUNCTION_BLOCK_ID, FUNCTION_INST_BINOP_ABBREV, FUNCTION_INST_BINOP_FLAGS_ABBREV, FUNCTION_INST_CAST_ABBREV, FUNCTION_INST_GEP_ABBREV, FUNCTION_INST_LOAD_ABBREV, FUNCTION_INST_RET_VAL_ABBREV, FUNCTION_INST_RET_VOID_ABBREV, FUNCTION_INST_UNREACHABLE_ABBREV, llvm::ValueEnumerator::getTypes(), llvm_unreachable, llvm::Log2_32_Ceil(), llvm::bitc::VALUE_SYMTAB_BLOCK_ID, llvm::BitCodeAbbrevOp::VBR, VST_BBENTRY_6_ABBREV, llvm::bitc::VST_CODE_BBENTRY, llvm::bitc::VST_CODE_ENTRY, VST_ENTRY_6_ABBREV, VST_ENTRY_7_ABBREV, and VST_ENTRY_8_ABBREV.
Referenced by WriteModule().
|
static |
Definition at line 561 of file BitcodeWriter.cpp.
References llvm::CallingConv::C, llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::ValueEnumerator::getComdats(), getEncodedComdatSelectionKind(), llvm::isUInt< 16 >(), llvm::bitc::MODULE_CODE_COMDAT, and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
Referenced by WriteModule().
|
static |
Definition at line 1366 of file BitcodeWriter.cpp.
References llvm::BitCodeAbbrev::Add(), llvm::SmallVectorImpl< T >::append(), llvm::BitCodeAbbrevOp::Array, llvm::CallingConv::C, llvm::BitCodeAbbrevOp::Char6, llvm::SmallVectorImpl< T >::clear(), llvm::tgtok::Code, llvm::bitc::CONSTANTS_BLOCK_ID, CONSTANTS_CE_CAST_Abbrev, CONSTANTS_INTEGER_ABBREV, CONSTANTS_SETTYPE_ABBREV, llvm::bitc::CST_CODE_AGGREGATE, llvm::bitc::CST_CODE_BLOCKADDRESS, llvm::bitc::CST_CODE_CE_BINOP, llvm::bitc::CST_CODE_CE_CAST, llvm::bitc::CST_CODE_CE_CMP, llvm::bitc::CST_CODE_CE_EXTRACTELT, llvm::bitc::CST_CODE_CE_GEP, llvm::bitc::CST_CODE_CE_INBOUNDS_GEP, llvm::bitc::CST_CODE_CE_INSERTELT, llvm::bitc::CST_CODE_CE_SELECT, llvm::bitc::CST_CODE_CE_SHUFFLEVEC, llvm::bitc::CST_CODE_CE_SHUFVEC_EX, llvm::bitc::CST_CODE_CSTRING, llvm::bitc::CST_CODE_DATA, llvm::bitc::CST_CODE_FLOAT, llvm::bitc::CST_CODE_INLINEASM, llvm::bitc::CST_CODE_INTEGER, llvm::bitc::CST_CODE_NULL, llvm::bitc::CST_CODE_SETTYPE, llvm::bitc::CST_CODE_STRING, llvm::bitc::CST_CODE_UNDEF, llvm::bitc::CST_CODE_WIDE_INTEGER, llvm::Value::dump(), llvm::BitstreamWriter::EmitAbbrev(), llvm::BitstreamWriter::EmitRecord(), emitSignedInt64(), llvm::BitstreamWriter::EnterSubblock(), llvm::BitstreamWriter::ExitBlock(), ExtractElement(), F(), llvm::BitCodeAbbrevOp::Fixed, llvm::ConstantDataSequential::getElementAsInteger(), GetEncodedBinaryOpcode(), GetEncodedCastOpcode(), llvm::ValueEnumerator::getGlobalBasicBlockID(), llvm::ConstantDataSequential::getNumElements(), llvm::User::getOperand(), GetOptimizationFlags(), llvm::APInt::getRawData(), llvm::Value::getType(), llvm::ValueEnumerator::getTypeID(), llvm::ValueEnumerator::getValueID(), llvm::ValueEnumerator::getValues(), I, llvm::Instruction::isCast(), llvm::BitCodeAbbrevOp::isChar6(), llvm::ConstantDataSequential::isCString(), llvm::Type::isDoubleTy(), llvm::Type::isFloatTy(), llvm::Type::isFP128Ty(), llvm::Type::isHalfTy(), llvm::Constant::isNullValue(), llvm::Type::isPPC_FP128Ty(), llvm::Type::isX86_FP80Ty(), llvm_unreachable, llvm::Log2_32_Ceil(), llvm::User::operands(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::MCID::Select.
Referenced by WriteFunction(), and WriteModuleConstants().
|
static |
Definition at line 854 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::DIType::getAlignInBits(), llvm::DIBasicType::getEncoding(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::DIType::getRawName(), llvm::DIType::getSizeInBits(), llvm::DINode::getTag(), llvm::MDNode::isDistinct(), llvm::bitc::METADATA_BASIC_TYPE, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
Definition at line 941 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::DICompileUnit::getDWOId(), llvm::DICompileUnit::getEmissionKind(), llvm::DICompileUnit::getEnumTypes(), llvm::DIScope::getFile(), llvm::DICompileUnit::getGlobalVariables(), llvm::DICompileUnit::getImportedEntities(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::DICompileUnit::getRawFlags(), llvm::DICompileUnit::getRawProducer(), llvm::DICompileUnit::getRawSplitDebugFilename(), llvm::DICompileUnit::getRetainedTypes(), llvm::DICompileUnit::getRuntimeVersion(), llvm::DICompileUnit::getSourceLanguage(), llvm::DICompileUnit::getSubprograms(), llvm::MDNode::isDistinct(), llvm::DICompileUnit::isOptimized(), llvm::bitc::METADATA_COMPILE_UNIT, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
Definition at line 891 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::DIType::getAlignInBits(), llvm::DIDerivedTypeBase::getBaseType(), llvm::DICompositeTypeBase::getElements(), llvm::DIScope::getFile(), llvm::DIType::getFlags(), llvm::DIType::getLine(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::DIType::getOffsetInBits(), llvm::DICompositeTypeBase::getRawIdentifier(), llvm::DIType::getRawName(), llvm::DICompositeTypeBase::getRuntimeLang(), llvm::DIType::getScope(), llvm::DIType::getSizeInBits(), llvm::DINode::getTag(), llvm::DICompositeTypeBase::getTemplateParams(), llvm::DICompositeTypeBase::getVTableHolder(), llvm::MDNode::isDistinct(), llvm::bitc::METADATA_COMPOSITE_TYPE, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
Definition at line 869 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::DIType::getAlignInBits(), llvm::DIDerivedTypeBase::getBaseType(), llvm::DIScope::getFile(), llvm::DIType::getFlags(), llvm::DIType::getLine(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::DIType::getOffsetInBits(), llvm::DIType::getRawName(), llvm::DIType::getScope(), llvm::DIType::getSizeInBits(), llvm::DINode::getTag(), llvm::MDNode::isDistinct(), llvm::bitc::METADATA_DERIVED_TYPE, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
Definition at line 842 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::DIEnumerator::getRawName(), llvm::DIEnumerator::getValue(), llvm::MDNode::isDistinct(), llvm::bitc::METADATA_ENUMERATOR, llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), and rotateSign().
|
static |
Definition at line 1116 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::append(), llvm::SmallVectorImpl< T >::clear(), llvm::DIExpression::elements_begin(), llvm::DIExpression::elements_end(), llvm::BitstreamWriter::EmitRecord(), llvm::DIExpression::getElements(), llvm::MDNode::isDistinct(), llvm::bitc::METADATA_EXPRESSION, llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::SmallVectorImpl< T >::reserve(), and llvm::ArrayRef< T >::size().
|
static |
Definition at line 930 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::DIFile::getRawDirectory(), llvm::DIFile::getRawFilename(), llvm::MDNode::isDistinct(), llvm::bitc::METADATA_FILE, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
Definition at line 1076 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::DIVariable::getFile(), llvm::DIVariable::getLine(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::DIGlobalVariable::getRawLinkageName(), llvm::DIVariable::getRawName(), llvm::DIGlobalVariable::getRawVariable(), llvm::DIVariable::getScope(), llvm::DIGlobalVariable::getStaticDataMemberDeclaration(), llvm::DIVariable::getType(), llvm::DIGlobalVariable::isDefinition(), llvm::MDNode::isDistinct(), llvm::DIGlobalVariable::isLocalToUnit(), llvm::bitc::METADATA_GLOBAL_VAR, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
Definition at line 1147 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::DIImportedEntity::getEntity(), llvm::DIImportedEntity::getLine(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::DIImportedEntity::getRawName(), llvm::DIImportedEntity::getScope(), llvm::DINode::getTag(), llvm::MDNode::isDistinct(), llvm::bitc::METADATA_IMPORTED_ENTITY, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
Definition at line 994 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::DILexicalBlock::getColumn(), llvm::DIScope::getFile(), llvm::DILexicalBlock::getLine(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::DILexicalBlockBase::getScope(), llvm::MDNode::isDistinct(), llvm::bitc::METADATA_LEXICAL_BLOCK, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
Definition at line 1009 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::DILexicalBlockFile::getDiscriminator(), llvm::DIScope::getFile(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::DILexicalBlockBase::getScope(), llvm::MDNode::isDistinct(), llvm::bitc::METADATA_LEXICAL_BLOCK_FILE, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
Definition at line 1097 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::DILocalVariable::getArg(), llvm::DIVariable::getFile(), llvm::DILocalVariable::getFlags(), llvm::DIVariable::getLine(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::DIVariable::getRawName(), llvm::DILocalVariable::getScope(), llvm::DINode::getTag(), llvm::DIVariable::getType(), llvm::MDNode::isDistinct(), llvm::bitc::METADATA_LOCAL_VAR, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
Definition at line 795 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::ValueEnumerator::getMetadataID(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::MDNode::isDistinct(), llvm::bitc::METADATA_LOCATION, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
Definition at line 1037 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::ValueEnumerator::getMetadataOrNullID(), I, llvm::MDNode::isDistinct(), llvm::bitc::METADATA_MODULE, llvm::MDNode::operands(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
Definition at line 1023 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::DIScope::getFile(), llvm::DINamespace::getLine(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::DINamespace::getRawName(), llvm::DINamespace::getScope(), llvm::MDNode::isDistinct(), llvm::bitc::METADATA_NAMESPACE, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
Definition at line 1129 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::DIObjCProperty::getAttributes(), llvm::DIObjCProperty::getFile(), llvm::DIObjCProperty::getLine(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::DIObjCProperty::getRawGetterName(), llvm::DIObjCProperty::getRawName(), llvm::DIObjCProperty::getRawSetterName(), llvm::DIObjCProperty::getType(), llvm::MDNode::isDistinct(), llvm::bitc::METADATA_OBJC_PROPERTY, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
Definition at line 966 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::MDNode::get(), llvm::DIScope::getFile(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::DIScope::getScope(), llvm::MDNode::isDistinct(), llvm::bitc::METADATA_SUBPROGRAM, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
Definition at line 830 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::DISubrange::getCount(), llvm::DISubrange::getLowerBound(), llvm::MDNode::isDistinct(), llvm::bitc::METADATA_SUBRANGE, llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), and rotateSign().
|
static |
Definition at line 917 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::DITypeRefArray::get(), llvm::DIType::getFlags(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::DISubroutineType::getTypeArray(), llvm::MDNode::isDistinct(), llvm::bitc::METADATA_SUBROUTINE_TYPE, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
Definition at line 1048 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::DITemplateParameter::getRawName(), llvm::DITemplateParameter::getType(), llvm::MDNode::isDistinct(), llvm::bitc::METADATA_TEMPLATE_TYPE, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
Definition at line 1061 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::DITemplateParameter::getRawName(), llvm::DINode::getTag(), llvm::DITemplateParameter::getType(), llvm::DITemplateValueParameter::getValue(), llvm::MDNode::isDistinct(), llvm::bitc::METADATA_TEMPLATE_VALUE, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
WriteFunction - Emit a function body to the module stream.
Definition at line 2104 of file BitcodeWriter.cpp.
References llvm::Function::begin(), llvm::SmallVectorImpl< T >::clear(), llvm::DL, llvm::BitstreamWriter::EmitRecord(), llvm::Function::end(), llvm::BitstreamWriter::EnterSubblock(), llvm::BitstreamWriter::ExitBlock(), llvm::bitc::FUNC_CODE_DEBUG_LOC, llvm::bitc::FUNC_CODE_DEBUG_LOC_AGAIN, llvm::bitc::FUNC_CODE_DECLAREBLOCKS, llvm::bitc::FUNCTION_BLOCK_ID, llvm::ValueEnumerator::getBasicBlocks(), llvm::ValueEnumerator::getFunctionConstantRange(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::Function::getValueSymbolTable(), llvm::Function::hasMetadata(), I, llvm::ValueEnumerator::incorporateFunction(), llvm::ValueEnumerator::purgeFunction(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::ValueEnumerator::shouldPreserveUseListOrder(), WriteConstants(), WriteFunctionLocalMetadata(), WriteInstruction(), WriteMetadataAttachment(), WriteUseListBlock(), and WriteValueSymbolTable().
Referenced by WriteModule().
|
static |
Definition at line 1273 of file BitcodeWriter.cpp.
References llvm::BitstreamWriter::EnterSubblock(), llvm::BitstreamWriter::ExitBlock(), llvm::ValueEnumerator::getFunctionLocalMDs(), llvm::bitc::METADATA_BLOCK_ID, llvm::SmallVectorTemplateCommon< T >::size(), and WriteValueAsMetadata().
Referenced by WriteFunction().
|
static |
Definition at line 809 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::GenericDINode::getTag(), I, llvm::MDNode::isDistinct(), llvm::bitc::METADATA_GENERIC_DEBUG, llvm::MDNode::operands(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
WriteInstruction - Emit an instruction to the specified stream.
Definition at line 1685 of file BitcodeWriter.cpp.
References llvm::Call, llvm::SwitchInst::case_begin(), llvm::SwitchInst::case_end(), llvm::LandingPadInst::Catch, llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), ExtractElement(), llvm::LandingPadInst::Filter, llvm::bitc::FUNC_CODE_INST_ALLOCA, llvm::bitc::FUNC_CODE_INST_ATOMICRMW, llvm::bitc::FUNC_CODE_INST_BINOP, llvm::bitc::FUNC_CODE_INST_BR, llvm::bitc::FUNC_CODE_INST_CALL, llvm::bitc::FUNC_CODE_INST_CAST, llvm::bitc::FUNC_CODE_INST_CMP2, llvm::bitc::FUNC_CODE_INST_CMPXCHG, llvm::bitc::FUNC_CODE_INST_EXTRACTELT, llvm::bitc::FUNC_CODE_INST_EXTRACTVAL, llvm::bitc::FUNC_CODE_INST_FENCE, llvm::bitc::FUNC_CODE_INST_GEP, llvm::bitc::FUNC_CODE_INST_INDIRECTBR, llvm::bitc::FUNC_CODE_INST_INSERTELT, llvm::bitc::FUNC_CODE_INST_INSERTVAL, llvm::bitc::FUNC_CODE_INST_INVOKE, llvm::bitc::FUNC_CODE_INST_LANDINGPAD, llvm::bitc::FUNC_CODE_INST_LOAD, llvm::bitc::FUNC_CODE_INST_LOADATOMIC, llvm::bitc::FUNC_CODE_INST_PHI, llvm::bitc::FUNC_CODE_INST_RESUME, llvm::bitc::FUNC_CODE_INST_RET, llvm::bitc::FUNC_CODE_INST_SHUFFLEVEC, llvm::bitc::FUNC_CODE_INST_STORE, llvm::bitc::FUNC_CODE_INST_STOREATOMIC, llvm::bitc::FUNC_CODE_INST_SWITCH, llvm::bitc::FUNC_CODE_INST_UNREACHABLE, llvm::bitc::FUNC_CODE_INST_VAARG, llvm::bitc::FUNC_CODE_INST_VSELECT, FUNCTION_INST_BINOP_ABBREV, FUNCTION_INST_BINOP_FLAGS_ABBREV, FUNCTION_INST_CAST_ABBREV, FUNCTION_INST_GEP_ABBREV, FUNCTION_INST_LOAD_ABBREV, FUNCTION_INST_RET_VAL_ABBREV, FUNCTION_INST_RET_VOID_ABBREV, FUNCTION_INST_UNREACHABLE_ABBREV, llvm::AllocaInst::getAlignment(), llvm::AllocaInst::getAllocatedType(), llvm::CallInst::getArgOperand(), llvm::ValueEnumerator::getAttributeID(), llvm::CallInst::getAttributes(), llvm::InvokeInst::getAttributes(), llvm::CallInst::getCalledValue(), llvm::InvokeInst::getCalledValue(), llvm::CallInst::getCallingConv(), llvm::InvokeInst::getCallingConv(), llvm::LandingPadInst::getClause(), llvm::BranchInst::getCondition(), llvm::SwitchInst::getCondition(), llvm::SwitchInst::getDefaultDest(), GetEncodedBinaryOpcode(), GetEncodedCastOpcode(), GetEncodedOrdering(), GetEncodedRMWOperation(), GetEncodedSynchScope(), llvm::CallInst::getFunctionType(), llvm::InvokeInst::getFunctionType(), llvm::PHINode::getIncomingBlock(), llvm::PHINode::getIncomingValue(), llvm::InvokeInst::getNormalDest(), llvm::CallInst::getNumArgOperands(), llvm::LandingPadInst::getNumClauses(), llvm::PHINode::getNumIncomingValues(), llvm::User::getNumOperands(), llvm::FunctionType::getNumParams(), llvm::Instruction::getOpcode(), llvm::User::getOperand(), GetOptimizationFlags(), llvm::BranchInst::getSuccessor(), llvm::Value::getType(), llvm::ValueEnumerator::getTypeID(), llvm::InvokeInst::getUnwindDest(), llvm::ValueEnumerator::getValueID(), I, isAtomic(), llvm::Instruction::isCast(), llvm::LandingPadInst::isCatch(), llvm::LandingPadInst::isCleanup(), llvm::BranchInst::isConditional(), llvm::CallInst::isMustTailCall(), llvm::CallInst::isTailCall(), llvm::AllocaInst::isUsedWithInAlloca(), llvm::FunctionType::isVarArg(), isVolatile(), isWeak(), llvm::SPII::Load, llvm::Log2_32(), llvm::Value::MaximumAlignment, llvm::TargetOpcode::PHI, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), pushValue(), PushValueAndType(), pushValueSigned(), llvm::MipsISD::Ret, llvm::MCID::Select, llvm::ValueEnumerator::setInstructionID(), SI, and llvm::SPII::Store.
Referenced by WriteFunction().
|
static |
Definition at line 2424 of file BitcodeWriter.cpp.
References llvm::support::endian::write32le().
Referenced by EmitDarwinBCHeaderAndTrailer().
|
static |
Definition at line 780 of file BitcodeWriter.cpp.
References llvm::BitstreamWriter::EmitRecord(), llvm::ValueEnumerator::getMetadataOrNullID(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), llvm::MDNode::isDistinct(), llvm::bitc::METADATA_DISTINCT_NODE, llvm::bitc::METADATA_NODE, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
|
static |
Definition at line 1293 of file BitcodeWriter.cpp.
References llvm::Function::begin(), llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::SmallVectorBase::empty(), llvm::Function::end(), llvm::BitstreamWriter::EnterSubblock(), llvm::BitstreamWriter::ExitBlock(), llvm::Function::getAllMetadata(), llvm::ValueEnumerator::getInstructionID(), llvm::ValueEnumerator::getMetadataID(), I, llvm::bitc::METADATA_ATTACHMENT, llvm::bitc::METADATA_ATTACHMENT_ID, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::SmallVectorTemplateCommon< T >::size().
Referenced by WriteFunction().
|
static |
WriteModule - Emit the specified module to the bitstream.
Definition at line 2352 of file BitcodeWriter.cpp.
References llvm::Module::begin(), llvm::BitstreamWriter::EmitRecord(), llvm::Module::end(), llvm::BitstreamWriter::EnterSubblock(), llvm::BitstreamWriter::ExitBlock(), F(), llvm::Module::getValueSymbolTable(), llvm::bitc::MODULE_BLOCK_ID, llvm::bitc::MODULE_CODE_VERSION, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::ValueEnumerator::shouldPreserveUseListOrder(), WriteAttributeGroupTable(), WriteAttributeTable(), WriteBlockInfo(), writeComdats(), WriteFunction(), WriteModuleConstants(), WriteModuleInfo(), WriteModuleMetadata(), WriteModuleMetadataStore(), WriteTypeTable(), WriteUseListBlock(), and WriteValueSymbolTable().
Referenced by llvm::WriteBitcodeToFile().
|
static |
Definition at line 1632 of file BitcodeWriter.cpp.
References llvm::ValueEnumerator::getValues(), and WriteConstants().
Referenced by WriteModule().
|
static |
Definition at line 578 of file BitcodeWriter.cpp.
References llvm::ARM_PROC::A, llvm::BitCodeAbbrev::Add(), llvm::SmallVectorImpl< T >::clear(), llvm::GlobalValue::DefaultStorageClass, llvm::GlobalValue::DefaultVisibility, llvm::DL, llvm::BitstreamWriter::EmitAbbrev(), llvm::BitstreamWriter::EmitRecord(), F(), llvm::BitCodeAbbrevOp::Fixed, llvm::ValueEnumerator::getAttributeID(), llvm::ValueEnumerator::getComdatID(), llvm::Module::getDataLayoutStr(), getEncodedDLLStorageClass(), getEncodedLinkage(), getEncodedThreadLocalMode(), getEncodedVisibility(), llvm::Module::getModuleInlineAsm(), llvm::Module::getTargetTriple(), llvm::ValueEnumerator::getTypeID(), llvm::ValueEnumerator::getValueID(), llvm::Module::globals(), llvm::Log2_32(), llvm::Log2_32_Ceil(), llvm::bitc::MODULE_CODE_ALIAS, llvm::bitc::MODULE_CODE_ASM, llvm::bitc::MODULE_CODE_DATALAYOUT, llvm::bitc::MODULE_CODE_FUNCTION, llvm::bitc::MODULE_CODE_GCNAME, llvm::bitc::MODULE_CODE_GLOBALVAR, llvm::bitc::MODULE_CODE_SECTIONNAME, llvm::bitc::MODULE_CODE_TRIPLE, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::BitCodeAbbrevOp::VBR, and WriteStringRecord().
Referenced by WriteModule().
|
static |
Definition at line 1163 of file BitcodeWriter.cpp.
References llvm::BitCodeAbbrev::Add(), llvm::SmallVectorImpl< T >::append(), llvm::BitCodeAbbrevOp::Array, llvm::StringRef::bytes_begin(), llvm::MDString::bytes_begin(), llvm::StringRef::bytes_end(), llvm::MDString::bytes_end(), llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitAbbrev(), llvm::BitstreamWriter::EmitRecord(), llvm::BitstreamWriter::EnterSubblock(), llvm::BitstreamWriter::ExitBlock(), llvm::BitCodeAbbrevOp::Fixed, llvm::ValueEnumerator::getMDs(), llvm::ValueEnumerator::getMetadataID(), llvm::ValueEnumerator::hasDILocation(), llvm::ValueEnumerator::hasGenericDINode(), llvm::ValueEnumerator::hasMDString(), llvm_unreachable, llvm::bitc::METADATA_BLOCK_ID, llvm::bitc::METADATA_GENERIC_DEBUG, llvm::bitc::METADATA_LOCATION, llvm::bitc::METADATA_NAME, llvm::bitc::METADATA_NAMED_NODE, llvm::bitc::METADATA_STRING, N, llvm::Module::named_metadata(), llvm::Module::named_metadata_empty(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::BitCodeAbbrevOp::VBR, and WriteValueAsMetadata().
Referenced by WriteModule().
|
static |
Definition at line 1335 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::append(), llvm::StringRef::begin(), llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::SmallVectorBase::empty(), llvm::StringRef::end(), llvm::BitstreamWriter::EnterSubblock(), llvm::BitstreamWriter::ExitBlock(), llvm::Module::getMDKindNames(), llvm::bitc::METADATA_BLOCK_ID, llvm::bitc::METADATA_KIND, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::SmallVectorTemplateCommon< T >::size().
Referenced by WriteModule().
|
static |
Definition at line 144 of file BitcodeWriter.cpp.
References llvm::BitstreamWriter::EmitRecord(), llvm::BitCodeAbbrevOp::isChar6(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::StringRef::size().
Referenced by WriteModuleInfo(), and WriteTypeTable().
|
static |
WriteTypeTable - Write out the type table for a module.
Definition at line 329 of file BitcodeWriter.cpp.
References llvm::BitCodeAbbrev::Add(), llvm::BitCodeAbbrevOp::Array, llvm::Type::ArrayTyID, llvm::BitCodeAbbrevOp::Char6, llvm::SmallVectorImpl< T >::clear(), llvm::tgtok::Code, llvm::ValueEnumerator::computeBitsRequiredForTypeIndicies(), llvm::Type::DoubleTyID, llvm::StructType::element_begin(), llvm::StructType::element_end(), llvm::BitstreamWriter::EmitAbbrev(), llvm::BitstreamWriter::EmitRecord(), llvm::StringRef::empty(), llvm::BitstreamWriter::EnterSubblock(), llvm::BitstreamWriter::ExitBlock(), llvm::BitCodeAbbrevOp::Fixed, llvm::Type::FloatTyID, llvm::Type::FP128TyID, llvm::Type::FunctionTyID, llvm::PointerType::getAddressSpace(), getBitWidth(), llvm::SequentialType::getElementType(), llvm::StructType::getName(), llvm::ArrayType::getNumElements(), llvm::VectorType::getNumElements(), llvm::FunctionType::getNumParams(), llvm::FunctionType::getParamType(), llvm::FunctionType::getReturnType(), llvm::ValueEnumerator::getTypeID(), llvm::Type::getTypeID(), llvm::ValueEnumerator::getTypes(), llvm::Type::HalfTyID, I, llvm::Type::IntegerTyID, llvm::StructType::isLiteral(), llvm::StructType::isOpaque(), llvm::StructType::isPacked(), llvm::FunctionType::isVarArg(), llvm::Type::LabelTyID, llvm::Type::MetadataTyID, llvm::Type::PointerTyID, llvm::Type::PPC_FP128TyID, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::AArch64DB::ST, llvm::Type::StructTyID, T, llvm::bitc::TYPE_BLOCK_ID_NEW, llvm::bitc::TYPE_CODE_ARRAY, llvm::bitc::TYPE_CODE_DOUBLE, llvm::bitc::TYPE_CODE_FLOAT, llvm::bitc::TYPE_CODE_FP128, llvm::bitc::TYPE_CODE_FUNCTION, llvm::bitc::TYPE_CODE_HALF, llvm::bitc::TYPE_CODE_INTEGER, llvm::bitc::TYPE_CODE_LABEL, llvm::bitc::TYPE_CODE_METADATA, llvm::bitc::TYPE_CODE_NUMENTRY, llvm::bitc::TYPE_CODE_OPAQUE, llvm::bitc::TYPE_CODE_POINTER, llvm::bitc::TYPE_CODE_PPC_FP128, llvm::bitc::TYPE_CODE_STRUCT_ANON, llvm::bitc::TYPE_CODE_STRUCT_NAME, llvm::bitc::TYPE_CODE_STRUCT_NAMED, llvm::bitc::TYPE_CODE_VECTOR, llvm::bitc::TYPE_CODE_VOID, llvm::bitc::TYPE_CODE_X86_FP80, llvm::bitc::TYPE_CODE_X86_MMX, llvm::BitCodeAbbrevOp::VBR, llvm::Type::VectorTyID, llvm::Type::VoidTyID, WriteStringRecord(), llvm::Type::X86_FP80TyID, and llvm::Type::X86_MMXTyID.
Referenced by WriteModule().
|
static |
Definition at line 2069 of file BitcodeWriter.cpp.
References llvm::BitstreamWriter::EmitRecord(), llvm::ValueEnumerator::getValueID(), llvm::bitc::USELIST_CODE_BB, and llvm::bitc::USELIST_CODE_DEFAULT.
Referenced by WriteUseListBlock().
|
static |
Definition at line 2083 of file BitcodeWriter.cpp.
References llvm::BitstreamWriter::EnterSubblock(), llvm::BitstreamWriter::ExitBlock(), F(), llvm::ValueEnumerator::shouldPreserveUseListOrder(), llvm::bitc::USELIST_BLOCK_ID, llvm::ValueEnumerator::UseListOrders, and WriteUseList().
Referenced by WriteFunction(), and WriteModule().
|
static |
Definition at line 768 of file BitcodeWriter.cpp.
References llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::Value::getType(), llvm::ValueEnumerator::getTypeID(), llvm::ValueAsMetadata::getValue(), llvm::ValueEnumerator::getValueID(), llvm::bitc::METADATA_VALUE, and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().
Referenced by WriteFunctionLocalMetadata(), and WriteModuleMetadata().
|
static |
Definition at line 2012 of file BitcodeWriter.cpp.
References llvm::ValueSymbolTable::begin(), llvm::SmallVectorImpl< T >::clear(), llvm::BitstreamWriter::EmitRecord(), llvm::ValueSymbolTable::empty(), llvm::ValueSymbolTable::end(), llvm::BitstreamWriter::EnterSubblock(), llvm::BitstreamWriter::ExitBlock(), llvm::StringMapEntry< ValueTy >::getKeyData(), llvm::StringMapEntryBase::getKeyLength(), llvm::ValueEnumerator::getValueID(), llvm::BitCodeAbbrevOp::isChar6(), P, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), SI, llvm::bitc::VALUE_SYMTAB_BLOCK_ID, VST_BBENTRY_6_ABBREV, llvm::bitc::VST_CODE_BBENTRY, llvm::bitc::VST_CODE_ENTRY, VST_ENTRY_6_ABBREV, VST_ENTRY_7_ABBREV, and VST_ENTRY_8_ABBREV.
Referenced by WriteFunction(), and WriteModule().
1.8.6