|
LLVM 24.0.0git
|
#include "LLVMContextImpl.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/STLFunctionalExtras.h"#include "llvm/ADT/SmallPtrSet.h"#include "llvm/ADT/SmallString.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/StringExtras.h"#include "llvm/ADT/StringRef.h"#include "llvm/ADT/iterator_range.h"#include "llvm/BinaryFormat/Dwarf.h"#include "llvm/Config/llvm-config.h"#include "llvm/IR/Argument.h"#include "llvm/IR/AssemblyAnnotationWriter.h"#include "llvm/IR/Attributes.h"#include "llvm/IR/BasicBlock.h"#include "llvm/IR/CFG.h"#include "llvm/IR/CallingConv.h"#include "llvm/IR/Comdat.h"#include "llvm/IR/Constant.h"#include "llvm/IR/Constants.h"#include "llvm/IR/DebugInfoMetadata.h"#include "llvm/IR/DebugProgramInstruction.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/IRPrintingPasses.h"#include "llvm/IR/InlineAsm.h"#include "llvm/IR/InstrTypes.h"#include "llvm/IR/Instruction.h"#include "llvm/IR/Instructions.h"#include "llvm/IR/IntrinsicInst.h"#include "llvm/IR/Intrinsics.h"#include "llvm/IR/LLVMContext.h"#include "llvm/IR/Metadata.h"#include "llvm/IR/Module.h"#include "llvm/IR/ModuleSlotTracker.h"#include "llvm/IR/ModuleSummaryIndex.h"#include "llvm/IR/Operator.h"#include "llvm/IR/Type.h"#include "llvm/IR/TypeFinder.h"#include "llvm/IR/TypedPointerType.h"#include "llvm/IR/Use.h"#include "llvm/IR/User.h"#include "llvm/IR/Value.h"#include "llvm/Support/AtomicOrdering.h"#include "llvm/Support/Casting.h"#include "llvm/Support/Compiler.h"#include "llvm/Support/Debug.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/FormattedStream.h"#include "llvm/Support/SaveAndRestore.h"#include "llvm/Support/raw_ostream.h"#include <cassert>#include <cctype>#include <cstddef>#include <cstdint>#include <iterator>#include <memory>#include <optional>#include <string>#include <tuple>#include <utility>#include <vector>#include "llvm/IR/Metadata.def"Go to the source code of this file.
Classes | |
| class | llvm::SlotTracker |
| This class provides computation of slot numbers for LLVM Assembly writing. More... | |
Macros | |
| #define | CC_VLS_CASE(ABI_VLEN) |
| #define | ST_DEBUG(X) |
| #define | HANDLE_MDNODE_LEAF(CLASS) |
Typedefs | |
| using | OrderMap = MapVector<const Value *, unsigned> |
| using | UseListOrderMap |
Enumerations | |
| enum | PrefixType { GlobalPrefix , ComdatPrefix , LabelPrefix , LocalPrefix , NoPrefix } |
Functions | |
| static const Value * | skipMetadataWrapper (const Value *V) |
| Look for a value that might be wrapped as metadata, e.g. | |
| static void | orderValue (const Value *V, OrderMap &OM) |
| static OrderMap | orderModule (const Module *M) |
| static std::vector< unsigned > | predictValueUseListOrder (const Value *V, unsigned ID, const OrderMap &OM) |
| static UseListOrderMap | predictUseListOrder (const Module *M) |
| static const Module * | getModuleFromVal (const Value *V) |
| static const Module * | getModuleFromDPI (const DbgMarker *Marker) |
| static const Module * | getModuleFromDPI (const DbgRecord *DR) |
| static void | printCallingConv (unsigned cc, raw_ostream &Out) |
| static void | printLLVMName (raw_ostream &OS, StringRef Name, PrefixType Prefix) |
| Turn the specified name into an 'LLVM name', which is either prefixed with % (if the string only contains simple characters) or is surrounded with ""'s (if it has special chars in it). | |
| static void | printLLVMName (raw_ostream &OS, const Value *V) |
| Turn the specified name into an 'LLVM name', which is either prefixed with % (if the string only contains simple characters) or is surrounded with ""'s (if it has special chars in it). | |
| static void | printShuffleMask (raw_ostream &Out, Type *Ty, ArrayRef< int > Mask) |
| static void | printAddressSpace (const Module *M, unsigned AS, raw_ostream &OS, StringRef Prefix=" ", StringRef Suffix="", bool ForcePrint=false) |
| static SlotTracker * | createSlotTracker (const Value *V) |
| static void | writeAsOperandInternal (raw_ostream &Out, const Value *V, AsmWriterContext &WriterCtx, bool PrintType=false) |
| static void | writeAsOperandInternal (raw_ostream &Out, const Metadata *MD, AsmWriterContext &WriterCtx, bool FromValue=false) |
| static void | writeOptimizationInfo (raw_ostream &Out, const User *U) |
| static void | WriteFullHexAPInt (raw_ostream &Out, const APInt &Val) |
| static void | writeAPFloatInternal (raw_ostream &Out, const APFloat &APF) |
| static void | writeConstantInternal (raw_ostream &Out, const Constant *CV, AsmWriterContext &WriterCtx) |
| static void | writeMDTuple (raw_ostream &Out, const MDTuple *Node, AsmWriterContext &WriterCtx) |
| static void | writeMetadataAsOperand (raw_ostream &Out, const Metadata *MD, AsmWriterContext &WriterCtx) |
| static void | writeGenericDINode (raw_ostream &Out, const GenericDINode *N, AsmWriterContext &WriterCtx) |
| static void | writeDILocation (raw_ostream &Out, const DILocation *DL, AsmWriterContext &WriterCtx) |
| static void | writeDILayerLoc (raw_ostream &Out, const DILayerLoc *N, AsmWriterContext &WriterCtx) |
| static void | writeDILayerLocList (raw_ostream &Out, const DILayerLocList *N, AsmWriterContext &WriterCtx) |
| static void | writeDIAssignID (raw_ostream &Out, const DIAssignID *DL, AsmWriterContext &WriterCtx) |
| static void | writeDISubrange (raw_ostream &Out, const DISubrange *N, AsmWriterContext &WriterCtx) |
| static void | writeDIGenericSubrange (raw_ostream &Out, const DIGenericSubrange *N, AsmWriterContext &WriterCtx) |
| static void | writeDIEnumerator (raw_ostream &Out, const DIEnumerator *N, AsmWriterContext &) |
| static void | writeDIBasicType (raw_ostream &Out, const DIBasicType *N, AsmWriterContext &WriterCtx) |
| static void | writeDIFixedPointType (raw_ostream &Out, const DIFixedPointType *N, AsmWriterContext &WriterCtx) |
| static void | writeDIStringType (raw_ostream &Out, const DIStringType *N, AsmWriterContext &WriterCtx) |
| static void | writeDIDerivedType (raw_ostream &Out, const DIDerivedType *N, AsmWriterContext &WriterCtx) |
| static void | writeDISubrangeType (raw_ostream &Out, const DISubrangeType *N, AsmWriterContext &WriterCtx) |
| static void | writeDICompositeType (raw_ostream &Out, const DICompositeType *N, AsmWriterContext &WriterCtx) |
| static void | writeDISubroutineType (raw_ostream &Out, const DISubroutineType *N, AsmWriterContext &WriterCtx) |
| static void | writeDIFile (raw_ostream &Out, const DIFile *N, AsmWriterContext &) |
| static void | writeDICompileUnit (raw_ostream &Out, const DICompileUnit *N, AsmWriterContext &WriterCtx) |
| static void | writeDISubprogram (raw_ostream &Out, const DISubprogram *N, AsmWriterContext &WriterCtx) |
| static void | writeDILexicalBlock (raw_ostream &Out, const DILexicalBlock *N, AsmWriterContext &WriterCtx) |
| static void | writeDILexicalBlockFile (raw_ostream &Out, const DILexicalBlockFile *N, AsmWriterContext &WriterCtx) |
| static void | writeDINamespace (raw_ostream &Out, const DINamespace *N, AsmWriterContext &WriterCtx) |
| static void | writeDICommonBlock (raw_ostream &Out, const DICommonBlock *N, AsmWriterContext &WriterCtx) |
| static void | writeDIMacro (raw_ostream &Out, const DIMacro *N, AsmWriterContext &WriterCtx) |
| static void | writeDIMacroFile (raw_ostream &Out, const DIMacroFile *N, AsmWriterContext &WriterCtx) |
| static void | writeDIModule (raw_ostream &Out, const DIModule *N, AsmWriterContext &WriterCtx) |
| static void | writeDITemplateTypeParameter (raw_ostream &Out, const DITemplateTypeParameter *N, AsmWriterContext &WriterCtx) |
| static void | writeDITemplateValueParameter (raw_ostream &Out, const DITemplateValueParameter *N, AsmWriterContext &WriterCtx) |
| static void | writeDIGlobalVariable (raw_ostream &Out, const DIGlobalVariable *N, AsmWriterContext &WriterCtx) |
| static void | writeDILocalVariable (raw_ostream &Out, const DILocalVariable *N, AsmWriterContext &WriterCtx) |
| static void | writeDILabel (raw_ostream &Out, const DILabel *N, AsmWriterContext &WriterCtx) |
| static void | writeDIExpression (raw_ostream &Out, const DIExpression *N, AsmWriterContext &WriterCtx) |
| static void | writeDIArgList (raw_ostream &Out, const DIArgList *N, AsmWriterContext &WriterCtx, bool FromValue=false) |
| static void | writeDIGlobalVariableExpression (raw_ostream &Out, const DIGlobalVariableExpression *N, AsmWriterContext &WriterCtx) |
| static void | writeDIObjCProperty (raw_ostream &Out, const DIObjCProperty *N, AsmWriterContext &WriterCtx) |
| static void | writeDIProperty (raw_ostream &Out, const DIProperty *N, AsmWriterContext &WriterCtx) |
| static void | writeDIImportedEntity (raw_ostream &Out, const DIImportedEntity *N, AsmWriterContext &WriterCtx) |
| static void | writeMDNodeBodyInternal (raw_ostream &Out, const MDNode *Node, AsmWriterContext &Ctx) |
| static const char * | getWholeProgDevirtResKindName (WholeProgramDevirtResolution::Kind K) |
| static const char * | getWholeProgDevirtResByArgKindName (WholeProgramDevirtResolution::ByArg::Kind K) |
| static const char * | getTTResKindName (TypeTestResolution::Kind K) |
| static const char * | getSummaryKindName (GlobalValueSummary::SummaryKind SK) |
| static std::string | getLinkageName (GlobalValue::LinkageTypes LT) |
| static std::string | getLinkageNameWithSpace (GlobalValue::LinkageTypes LT) |
| static const char * | getVisibilityName (GlobalValue::VisibilityTypes Vis) |
| static const char * | getImportTypeName (GlobalValueSummary::ImportKind IK) |
| static void | printMetadataIdentifier (StringRef Name, formatted_raw_ostream &Out) |
| static void | printVisibility (GlobalValue::VisibilityTypes Vis, formatted_raw_ostream &Out) |
| static void | printDSOLocation (const GlobalValue &GV, formatted_raw_ostream &Out) |
| static void | printDLLStorageClass (GlobalValue::DLLStorageClassTypes SCT, formatted_raw_ostream &Out) |
| static void | printThreadLocalModel (GlobalVariable::ThreadLocalMode TLM, formatted_raw_ostream &Out) |
| static StringRef | getUnnamedAddrEncoding (GlobalVariable::UnnamedAddr UA) |
| static void | maybePrintComdat (formatted_raw_ostream &Out, const GlobalObject &GO) |
| static void | maybePrintCallAddrSpace (const Value *Operand, const Instruction *I, raw_ostream &Out) |
| static bool | printWithoutType (const Value &V, raw_ostream &O, SlotTracker *Machine, const Module *M) |
| Print without a type, skipping the TypePrinting object. | |
| static void | printAsOperandImpl (const Value &V, raw_ostream &O, bool PrintType, ModuleSlotTracker &MST) |
| static void | printMetadataImplRec (raw_ostream &ROS, const Metadata &MD, AsmWriterContext &WriterCtx) |
| Recursive version of printMetadataImpl. | |
| static void | printMetadataImpl (raw_ostream &ROS, const Metadata &MD, ModuleSlotTracker &MST, const Module *M, bool OnlyAsOperand, bool PrintAsTree=false) |
Variables | |
| static cl::opt< bool > | PrintInstAddrs ("print-inst-addrs", cl::Hidden, cl::desc("Print addresses of instructions when dumping")) |
| static cl::opt< bool > | PrintInstDebugLocs ("print-inst-debug-locs", cl::Hidden, cl::desc("Pretty print debug locations of instructions when dumping")) |
| static cl::opt< bool > | PrintProfData ("print-prof-data", cl::Hidden, cl::desc("Pretty print perf data (branch weights, etc) when dumping")) |
| static cl::opt< bool > | PreserveAssemblyUseListOrder ("preserve-ll-uselistorder", cl::Hidden, cl::init(false), cl::desc("Preserve use-list order when writing LLVM assembly.")) |
| static cl::opt< bool > | PrintAddrspaceName ("print-addrspace-name", cl::Hidden, cl::init(false), cl::desc("Print address space names")) |
| #define CC_VLS_CASE | ( | ABI_VLEN | ) |
Referenced by printCallingConv().
| #define HANDLE_MDNODE_LEAF | ( | CLASS | ) |
| #define ST_DEBUG | ( | X | ) |
Definition at line 1026 of file AsmWriter.cpp.
Referenced by llvm::SlotTracker::purgeFunction().
| using UseListOrderMap |
Definition at line 123 of file AsmWriter.cpp.
| enum PrefixType |
| Enumerator | |
|---|---|
| GlobalPrefix | |
| ComdatPrefix | |
| LabelPrefix | |
| LocalPrefix | |
| NoPrefix | |
Definition at line 454 of file AsmWriter.cpp.
|
static |
Definition at line 997 of file AsmWriter.cpp.
References llvm::dyn_cast(), and I.
Referenced by writeAsOperandInternal().
|
static |
Definition at line 3621 of file AsmWriter.cpp.
References llvm::GlobalValueSummary::Declaration, llvm::GlobalValueSummary::Definition, and llvm_unreachable.
|
static |
Definition at line 3572 of file AsmWriter.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 getLinkageNameWithSpace().
|
static |
Definition at line 3603 of file AsmWriter.cpp.
References llvm::GlobalValue::ExternalLinkage, and getLinkageName().
Definition at line 339 of file AsmWriter.cpp.
References llvm::BasicBlock::getParent(), llvm::DbgMarker::getParent(), and llvm::GlobalValue::getParent().
Referenced by getModuleFromDPI(), llvm::DbgLabelRecord::print(), llvm::DbgLabelRecord::print(), llvm::DbgMarker::print(), llvm::DbgMarker::print(), llvm::DbgVariableRecord::print(), and llvm::DbgVariableRecord::print().
Definition at line 345 of file AsmWriter.cpp.
References llvm::DbgRecord::getMarker(), and getModuleFromDPI().
Definition at line 313 of file AsmWriter.cpp.
References llvm::dyn_cast(), getModuleFromVal(), I, llvm::isa(), and llvm::Value::users().
Referenced by getModuleFromVal(), maybePrintCallAddrSpace(), llvm::Value::print(), llvm::Value::print(), and llvm::Value::printAsOperand().
|
static |
Definition at line 3526 of file AsmWriter.cpp.
References llvm::GlobalValueSummary::AliasKind, llvm::GlobalValueSummary::FunctionKind, llvm::GlobalValueSummary::GlobalVarKind, and llvm_unreachable.
|
static |
Definition at line 3421 of file AsmWriter.cpp.
References llvm::TypeTestResolution::AllOnes, llvm::TypeTestResolution::ByteArray, llvm::TypeTestResolution::Inline, llvm_unreachable, llvm::TypeTestResolution::Single, llvm::TypeTestResolution::Unknown, and llvm::TypeTestResolution::Unsat.
|
static |
Definition at line 4006 of file AsmWriter.cpp.
References llvm::GlobalValue::Global, llvm_unreachable, llvm::GlobalValue::Local, and llvm::GlobalValue::None.
|
static |
Definition at line 3609 of file AsmWriter.cpp.
References llvm::GlobalValue::DefaultVisibility, llvm::GlobalValue::HiddenVisibility, llvm_unreachable, and llvm::GlobalValue::ProtectedVisibility.
|
static |
Definition at line 3406 of file AsmWriter.cpp.
References llvm::WholeProgramDevirtResolution::ByArg::Indir, llvm_unreachable, llvm::WholeProgramDevirtResolution::ByArg::UniformRetVal, llvm::WholeProgramDevirtResolution::ByArg::UniqueRetVal, and llvm::WholeProgramDevirtResolution::ByArg::VirtualConstProp.
|
static |
Definition at line 3394 of file AsmWriter.cpp.
References llvm::WholeProgramDevirtResolution::BranchFunnel, llvm::WholeProgramDevirtResolution::Indir, llvm_unreachable, and llvm::WholeProgramDevirtResolution::SingleImpl.
|
static |
Definition at line 4517 of file AsmWriter.cpp.
References getModuleFromVal(), llvm::Type::getPointerAddressSpace(), llvm::Value::getType(), I, Mod, and printAddressSpace().
|
static |
Definition at line 4018 of file AsmWriter.cpp.
References C(), ComdatPrefix, llvm::GlobalObject::getComdat(), llvm::Value::getName(), llvm::isa(), and printLLVMName().
Definition at line 155 of file AsmWriter.cpp.
References A(), llvm::dyn_cast(), F, llvm::filterDbgVars(), G, I, llvm::isa(), orderValue(), and skipMetadataWrapper().
Referenced by predictUseListOrder().
Definition at line 135 of file AsmWriter.cpp.
References C(), llvm::dyn_cast(), llvm::isa(), and orderValue().
Referenced by orderModule(), and orderValue().
|
static |
Definition at line 288 of file AsmWriter.cpp.
References A(), llvm::dyn_cast(), F, I, orderModule(), and predictValueUseListOrder().
|
static |
Definition at line 227 of file AsmWriter.cpp.
References llvm::dyn_cast(), E(), I, llvm::is_sorted(), llvm::isa(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::sort(), and llvm::Value::uses().
Referenced by predictUseListOrder().
|
static |
Definition at line 639 of file AsmWriter.cpp.
References llvm::StringRef::empty(), and PrintAddrspaceName.
Referenced by maybePrintCallAddrSpace().
|
static |
Definition at line 5426 of file AsmWriter.cpp.
References llvm::ModuleSlotTracker::getMachine(), llvm::ModuleSlotTracker::getModule(), and writeAsOperandInternal().
Referenced by llvm::Value::printAsOperand(), and llvm::Value::printAsOperand().
|
static |
Definition at line 349 of file AsmWriter.cpp.
References llvm::CallingConv::AArch64_SME_ABI_Support_Routines_PreserveMost_From_X0, llvm::CallingConv::AArch64_SME_ABI_Support_Routines_PreserveMost_From_X1, llvm::CallingConv::AArch64_SME_ABI_Support_Routines_PreserveMost_From_X2, llvm::CallingConv::AArch64_SVE_VectorCall, llvm::CallingConv::AArch64_VectorCall, llvm::CallingConv::AMDGPU_CS, llvm::CallingConv::AMDGPU_CS_Chain, llvm::CallingConv::AMDGPU_CS_ChainPreserve, llvm::CallingConv::AMDGPU_ES, llvm::CallingConv::AMDGPU_Gfx, llvm::CallingConv::AMDGPU_Gfx_WholeWave, llvm::CallingConv::AMDGPU_GS, llvm::CallingConv::AMDGPU_HS, llvm::CallingConv::AMDGPU_KERNEL, llvm::CallingConv::AMDGPU_LS, llvm::CallingConv::AMDGPU_PS, llvm::CallingConv::AMDGPU_VS, llvm::CallingConv::AnyReg, llvm::CallingConv::ARM_AAPCS, llvm::CallingConv::ARM_AAPCS_VFP, llvm::CallingConv::ARM_APCS, llvm::CallingConv::AVR_INTR, llvm::CallingConv::AVR_SIGNAL, CC_VLS_CASE, llvm::CallingConv::CFGuard_Check, llvm::CallingConv::CHERIoT_CompartmentCall, llvm::CallingConv::CHERIoT_CompartmentCallee, llvm::CallingConv::CHERIoT_LibraryCall, llvm::CallingConv::Cold, llvm::CallingConv::CXX_FAST_TLS, llvm::CallingConv::DUMMY_HHVM, llvm::CallingConv::DUMMY_HHVM_C, llvm::CallingConv::Fast, llvm::CallingConv::GHC, llvm::CallingConv::GRAAL, llvm::CallingConv::Intel_OCL_BI, llvm::CallingConv::M68k_RTD, llvm::CallingConv::MSP430_INTR, llvm::CallingConv::PreserveAll, llvm::CallingConv::PreserveMost, llvm::CallingConv::PreserveNone, llvm::CallingConv::PTX_Device, llvm::CallingConv::PTX_Kernel, llvm::CallingConv::RISCV_VectorCall, llvm::CallingConv::SPIR_FUNC, llvm::CallingConv::SPIR_KERNEL, llvm::CallingConv::Swift, llvm::CallingConv::SwiftTail, llvm::CallingConv::Tail, llvm::CallingConv::Win64, llvm::CallingConv::X86_64_SysV, llvm::CallingConv::X86_FastCall, llvm::CallingConv::X86_INTR, llvm::CallingConv::X86_RegCall, llvm::CallingConv::X86_StdCall, llvm::CallingConv::X86_ThisCall, and llvm::CallingConv::X86_VectorCall.
|
static |
Definition at line 3977 of file AsmWriter.cpp.
References llvm::GlobalValue::DefaultStorageClass, llvm::GlobalValue::DLLExportStorageClass, and llvm::GlobalValue::DLLImportStorageClass.
|
static |
Definition at line 3971 of file AsmWriter.cpp.
References llvm::GlobalValue::isDSOLocal(), and llvm::GlobalValue::isImplicitDSOLocal().
|
static |
Turn the specified name into an 'LLVM name', which is either prefixed with % (if the string only contains simple characters) or is surrounded with ""'s (if it has special chars in it).
Print it out.
Definition at line 518 of file AsmWriter.cpp.
References GlobalPrefix, llvm::isa(), LocalPrefix, and printLLVMName().
|
static |
Turn the specified name into an 'LLVM name', which is either prefixed with % (if the string only contains simple characters) or is surrounded with ""'s (if it has special chars in it).
Print it out.
Definition at line 496 of file AsmWriter.cpp.
References ComdatPrefix, GlobalPrefix, LabelPrefix, LocalPrefix, NoPrefix, and llvm::printLLVMNameWithoutPrefix().
Referenced by maybePrintComdat(), llvm::Comdat::print(), llvm::printBasicBlock(), printLLVMName(), and writeAsOperandInternal().
|
static |
Definition at line 3918 of file AsmWriter.cpp.
References C(), and llvm::hexdigit().
|
static |
Definition at line 5515 of file AsmWriter.cpp.
References llvm::dyn_cast(), llvm::ModuleSlotTracker::getMachine(), llvm::isa(), N, writeAsOperandInternal(), and writeMDNodeBodyInternal().
Referenced by llvm::Metadata::print(), llvm::Metadata::print(), llvm::Metadata::printAsOperand(), llvm::Metadata::printAsOperand(), llvm::MDNode::printTree(), and llvm::MDNode::printTree().
|
static |
Recursive version of printMetadataImpl.
Definition at line 5457 of file AsmWriter.cpp.
References llvm::dyn_cast(), llvm::isa(), N, writeAsOperandInternal(), and writeMDNodeBodyInternal().
|
static |
Definition at line 523 of file AsmWriter.cpp.
References llvm::all_of(), llvm::equal_to(), llvm::isa(), and llvm::PoisonMaskElem.
Referenced by getShuffleComment(), printZeroExtend(), and writeConstantInternal().
|
static |
Definition at line 3986 of file AsmWriter.cpp.
References llvm::GlobalValue::GeneralDynamicTLSModel, llvm::GlobalValue::InitialExecTLSModel, llvm::GlobalValue::LocalDynamicTLSModel, llvm::GlobalValue::LocalExecTLSModel, and llvm::GlobalValue::NotThreadLocal.
|
static |
Definition at line 3962 of file AsmWriter.cpp.
References llvm::GlobalValue::DefaultVisibility, llvm::GlobalValue::HiddenVisibility, and llvm::GlobalValue::ProtectedVisibility.
|
static |
Print without a type, skipping the TypePrinting object.
true iff printing was successful. Definition at line 5415 of file AsmWriter.cpp.
References llvm::isa(), Machine, and writeAsOperandInternal().
Referenced by llvm::Value::printAsOperand(), and llvm::Value::printAsOperand().
Look for a value that might be wrapped as metadata, e.g.
a value in a metadata operand. Returns the input value as-is if it is not wrapped.
Definition at line 128 of file AsmWriter.cpp.
References llvm::dyn_cast().
Referenced by orderModule().
|
static |
Definition at line 1611 of file AsmWriter.cpp.
References llvm::APFloat::bitcastToAPInt(), llvm::APInt::clearBit(), llvm::APInt::getActiveBits(), llvm::APInt::getBitWidth(), llvm::APFloat::getNaNPayload(), llvm::APFloat::getSemantics(), llvm::APFloat::isInfinity(), llvm::APFloat::isNaN(), llvm::APFloat::isNegative(), llvm::APFloat::isSignaling(), llvm::APInt::isSignMask(), llvm::APInt::isZero(), llvm::APInt::lshr(), llvm::APFloatBase::PPCDoubleDouble(), llvm::APFloat::toString(), llvm::APInt::trunc(), and WriteFullHexAPInt().
Referenced by writeConstantInternal().
|
static |
Definition at line 2919 of file AsmWriter.cpp.
References assert(), llvm::cast(), llvm::dyn_cast(), llvm::SlotTracker::getMetadataSlot(), llvm::isa(), N, llvm::printEscapedString(), llvm::ModuleSlotTracker::shouldPrintDebugLocationInline(), writeAsOperandInternal(), writeDIArgList(), writeDIExpression(), and writeDILocation().
|
static |
Definition at line 2834 of file AsmWriter.cpp.
References llvm::InlineAsm::AD_Intel, assert(), createSlotTracker(), llvm::dyn_cast(), llvm::isa(), Machine, llvm::printEscapedString(), printLLVMName(), writeAsOperandInternal(), and writeConstantInternal().
Referenced by printAsOperandImpl(), printMetadataImpl(), printMetadataImplRec(), printWithoutType(), writeAsOperandInternal(), writeAsOperandInternal(), writeConstantInternal(), writeDIArgList(), writeMDTuple(), and writeMetadataAsOperand().
|
static |
Definition at line 1665 of file AsmWriter.cpp.
References llvm::cast(), llvm::dyn_cast(), GEP, llvm::ConstantPointerNull::get(), llvm::Constant::getAggregateElement(), llvm::Constant::getSplatValue(), llvm::Value::getType(), llvm::isa(), NC, llvm::printEscapedString(), printShuffleMask(), uint64_t, writeAPFloatInternal(), writeAsOperandInternal(), and writeOptimizationInfo().
Referenced by llvm::Value::print(), and writeAsOperandInternal().
|
static |
Definition at line 2749 of file AsmWriter.cpp.
References assert(), N, Printer, and writeAsOperandInternal().
Referenced by writeAsOperandInternal().
|
static |
Definition at line 2214 of file AsmWriter.cpp.
|
static |
Definition at line 2304 of file AsmWriter.cpp.
References llvm::dwarf::AttributeEncodingString(), N, and Printer.
|
static |
Definition at line 2600 of file AsmWriter.cpp.
|
static |
Definition at line 2491 of file AsmWriter.cpp.
References llvm::DISourceLanguageName::getDialect(), llvm::DISourceLanguageName::getName(), llvm::DISourceLanguageName::getVersion(), llvm::DISourceLanguageName::hasVersionedName(), llvm::dwarf::LanguageDialectString(), llvm::dwarf::LanguageString(), N, Printer, and llvm::dwarf::SourceLanguageNameString().
|
static |
Definition at line 2422 of file AsmWriter.cpp.
References llvm::dwarf::EnumKindString(), llvm::dwarf::LanguageString(), N, and Printer.
|
static |
Definition at line 2369 of file AsmWriter.cpp.
|
static |
Definition at line 2292 of file AsmWriter.cpp.
|
static |
Definition at line 2724 of file AsmWriter.cpp.
References A(), assert(), llvm::dwarf::AttributeEncodingString(), llvm::dyn_cast(), I, N, and llvm::dwarf::OperationEncodingString().
Referenced by writeAsOperandInternal().
|
static |
Definition at line 2475 of file AsmWriter.cpp.
|
static |
Definition at line 2324 of file AsmWriter.cpp.
References llvm::dwarf::AttributeEncodingString(), N, and Printer.
|
static |
Definition at line 2244 of file AsmWriter.cpp.
References llvm::Count, llvm::dyn_cast_or_null(), N, Printer, and llvm::DIExpression::SignedConstant.
|
static |
Definition at line 2673 of file AsmWriter.cpp.
|
static |
Definition at line 2764 of file AsmWriter.cpp.
|
static |
Definition at line 2800 of file AsmWriter.cpp.
|
static |
Definition at line 2708 of file AsmWriter.cpp.
|
static |
Definition at line 2192 of file AsmWriter.cpp.
|
static |
Definition at line 2203 of file AsmWriter.cpp.
References N, and writeMetadataAsOperand().
|
static |
Definition at line 2567 of file AsmWriter.cpp.
|
static |
Definition at line 2578 of file AsmWriter.cpp.
|
static |
Definition at line 2692 of file AsmWriter.cpp.
|
static |
Definition at line 2175 of file AsmWriter.cpp.
Referenced by writeAsOperandInternal().
|
static |
Definition at line 2612 of file AsmWriter.cpp.
|
static |
Definition at line 2623 of file AsmWriter.cpp.
|
static |
Definition at line 2633 of file AsmWriter.cpp.
|
static |
Definition at line 2590 of file AsmWriter.cpp.
|
static |
Definition at line 2774 of file AsmWriter.cpp.
|
static |
Definition at line 2788 of file AsmWriter.cpp.
|
static |
Definition at line 2350 of file AsmWriter.cpp.
References llvm::dwarf::AttributeEncodingString(), N, and Printer.
|
static |
Definition at line 2538 of file AsmWriter.cpp.
|
static |
Definition at line 2220 of file AsmWriter.cpp.
|
static |
Definition at line 2402 of file AsmWriter.cpp.
|
static |
Definition at line 2464 of file AsmWriter.cpp.
References llvm::dwarf::ConventionString(), N, and Printer.
|
static |
Definition at line 2648 of file AsmWriter.cpp.
|
static |
Definition at line 2659 of file AsmWriter.cpp.
|
static |
Definition at line 1601 of file AsmWriter.cpp.
References llvm::APInt::getBitWidth(), and llvm::APInt::toStringUnsigned().
Referenced by writeAPFloatInternal().
|
static |
Definition at line 2157 of file AsmWriter.cpp.
References I, N, Printer, and writeMetadataAsOperand().
|
static |
Definition at line 2814 of file AsmWriter.cpp.
References llvm_unreachable.
Referenced by printMetadataImpl(), and printMetadataImplRec().
|
static |
Definition at line 1931 of file AsmWriter.cpp.
References llvm::dyn_cast(), and writeAsOperandInternal().
|
static |
Definition at line 2025 of file AsmWriter.cpp.
References writeAsOperandInternal().
Referenced by writeDILayerLocList(), and writeGenericDINode().
|
static |
Definition at line 1558 of file AsmWriter.cpp.
References llvm::dyn_cast(), GEP, and InRange().
Referenced by writeConstantInternal().
|
static |
|
static |
Referenced by printAddressSpace().
|
static |
|
static |