LLVM  16.0.0git
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
AsmWriter.cpp File Reference
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/Optional.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/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/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/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/Format.h"
#include "llvm/Support/FormattedStream.h"
#include "llvm/Support/SaveAndRestore.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cctype>
#include <cstddef>
#include <cstdint>
#include <iterator>
#include <memory>
#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...
 

Namespaces

 llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Macros

#define ST_DEBUG(X)
 
#define HANDLE_MDNODE_LEAF(CLASS)
 

Typedefs

using OrderMap = MapVector< const Value *, unsigned >
 
using UseListOrderMap = DenseMap< const Function *, MapVector< const Value *, std::vector< unsigned > >>
 

Enumerations

enum  PrefixType {
  GlobalPrefix, ComdatPrefix, LabelPrefix, LocalPrefix,
  NoPrefix
}
 

Functions

static const ValueskipMetadataWrapper (const Value *V)
 Look for a value that might be wrapped as metadata, e.g. More...
 
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 ModulegetModuleFromVal (const Value *V)
 
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). More...
 
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). More...
 
static void PrintShuffleMask (raw_ostream &Out, Type *Ty, ArrayRef< int > Mask)
 
static SlotTrackercreateSlotTracker (const Value *V)
 
static void WriteAsOperandInternal (raw_ostream &Out, const Value *V, AsmWriterContext &WriterCtx)
 
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 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 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 &)
 
static void writeDIStringType (raw_ostream &Out, const DIStringType *N, AsmWriterContext &WriterCtx)
 
static void writeDIDerivedType (raw_ostream &Out, const DIDerivedType *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 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 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 isReferencingMDNode (const Instruction &I)
 
static bool printWithoutType (const Value &V, raw_ostream &O, SlotTracker *Machine, const Module *M)
 Print without a type, skipping the TypePrinting object. More...
 
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. More...
 
static void printMetadataImpl (raw_ostream &ROS, const Metadata &MD, ModuleSlotTracker &MST, const Module *M, bool OnlyAsOperand, bool PrintAsTree=false)
 

Macro Definition Documentation

◆ HANDLE_MDNODE_LEAF

#define HANDLE_MDNODE_LEAF (   CLASS)
Value:
case Metadata::CLASS##Kind: \
write##CLASS(Out, cast<CLASS>(Node), Ctx); \
break;

◆ ST_DEBUG

#define ST_DEBUG (   X)

Definition at line 920 of file AsmWriter.cpp.

Typedef Documentation

◆ OrderMap

using OrderMap = MapVector<const Value *, unsigned>

Definition at line 99 of file AsmWriter.cpp.

◆ UseListOrderMap

using UseListOrderMap = DenseMap<const Function *, MapVector<const Value *, std::vector<unsigned> >>

Definition at line 102 of file AsmWriter.cpp.

Enumeration Type Documentation

◆ PrefixType

enum PrefixType
Enumerator
GlobalPrefix 
ComdatPrefix 
LabelPrefix 
LocalPrefix 
NoPrefix 

Definition at line 347 of file AsmWriter.cpp.

Function Documentation

◆ createSlotTracker()

static SlotTracker* createSlotTracker ( const Value V)
static

Definition at line 891 of file AsmWriter.cpp.

◆ getLinkageName()

static std::string getLinkageName ( GlobalValue::LinkageTypes  LT)
static

◆ getLinkageNameWithSpace()

static std::string getLinkageNameWithSpace ( GlobalValue::LinkageTypes  LT)
static

Definition at line 3148 of file AsmWriter.cpp.

References getLinkageName(), and llvm::AArch64CC::LT.

◆ getModuleFromVal()

static const Module* getModuleFromVal ( const Value V)
static

Definition at line 263 of file AsmWriter.cpp.

References BB, I, M, and llvm::Value::users().

Referenced by maybePrintCallAddrSpace(), llvm::Value::print(), and llvm::Value::printAsOperand().

◆ getSummaryKindName()

static const char* getSummaryKindName ( GlobalValueSummary::SummaryKind  SK)
static

Definition at line 3071 of file AsmWriter.cpp.

References llvm_unreachable.

◆ getTTResKindName()

static const char* getTTResKindName ( TypeTestResolution::Kind  K)
static

Definition at line 2960 of file AsmWriter.cpp.

References llvm_unreachable, llvm::pdb::Single, and llvm::pdb::Unknown.

◆ getUnnamedAddrEncoding()

static StringRef getUnnamedAddrEncoding ( GlobalVariable::UnnamedAddr  UA)
static

Definition at line 3470 of file AsmWriter.cpp.

References llvm_unreachable, and llvm::None.

◆ getVisibilityName()

static const char* getVisibilityName ( GlobalValue::VisibilityTypes  Vis)
static

Definition at line 3154 of file AsmWriter.cpp.

References llvm_unreachable.

◆ getWholeProgDevirtResByArgKindName()

static const char* getWholeProgDevirtResByArgKindName ( WholeProgramDevirtResolution::ByArg::Kind  K)
static

Definition at line 2945 of file AsmWriter.cpp.

References llvm_unreachable.

◆ getWholeProgDevirtResKindName()

static const char* getWholeProgDevirtResKindName ( WholeProgramDevirtResolution::Kind  K)
static

Definition at line 2933 of file AsmWriter.cpp.

References llvm_unreachable.

◆ isReferencingMDNode()

static bool isReferencingMDNode ( const Instruction I)
static

Definition at line 4583 of file AsmWriter.cpp.

References F, llvm::Value::getMetadata(), and I.

Referenced by llvm::Value::print().

◆ maybePrintCallAddrSpace()

static void maybePrintCallAddrSpace ( const Value Operand,
const Instruction I,
raw_ostream Out 
)
static

◆ maybePrintComdat()

static void maybePrintComdat ( formatted_raw_ostream Out,
const GlobalObject GO 
)
static

◆ orderModule()

static OrderMap orderModule ( const Module M)
static

Definition at line 129 of file AsmWriter.cpp.

References BB, F, G, I, M, orderValue(), and skipMetadataWrapper().

Referenced by predictUseListOrder().

◆ orderValue()

static void orderValue ( const Value V,
OrderMap OM 
)
static

Definition at line 113 of file AsmWriter.cpp.

Referenced by orderModule().

◆ predictUseListOrder()

static UseListOrderMap predictUseListOrder ( const Module M)
static

◆ predictValueUseListOrder()

static std::vector<unsigned> predictValueUseListOrder ( const Value V,
unsigned  ID,
const OrderMap OM 
)
static

Definition at line 177 of file AsmWriter.cpp.

Referenced by predictUseListOrder().

◆ printAsOperandImpl()

static void printAsOperandImpl ( const Value V,
raw_ostream O,
bool  PrintType,
ModuleSlotTracker MST 
)
static

◆ PrintCallingConv()

static void PrintCallingConv ( unsigned  cc,
raw_ostream Out 
)
static

Definition at line 289 of file AsmWriter.cpp.

References llvm::CallingConv::AArch64_SME_ABI_Support_Routines_PreserveMost_From_X0, 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_ES, llvm::CallingConv::AMDGPU_Gfx, 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, llvm::CallingConv::CFGuard_Check, llvm::CallingConv::Cold, llvm::CallingConv::CXX_FAST_TLS, llvm::CallingConv::Fast, llvm::CallingConv::GHC, llvm::CallingConv::HHVM, llvm::CallingConv::HHVM_C, llvm::CallingConv::Intel_OCL_BI, llvm::CallingConv::MSP430_INTR, llvm::CallingConv::PreserveAll, llvm::CallingConv::PreserveMost, llvm::CallingConv::PTX_Device, llvm::CallingConv::PTX_Kernel, llvm::CallingConv::SPIR_FUNC, llvm::CallingConv::SPIR_KERNEL, llvm::CallingConv::Swift, llvm::CallingConv::SwiftTail, llvm::CallingConv::Tail, llvm::CallingConv::WebKit_JS, 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.

◆ PrintDLLStorageClass()

static void PrintDLLStorageClass ( GlobalValue::DLLStorageClassTypes  SCT,
formatted_raw_ostream Out 
)
static

Definition at line 3441 of file AsmWriter.cpp.

◆ PrintDSOLocation()

static void PrintDSOLocation ( const GlobalValue GV,
formatted_raw_ostream Out 
)
static

◆ PrintLLVMName() [1/2]

static void PrintLLVMName ( raw_ostream OS,
const Value V 
)
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 412 of file AsmWriter.cpp.

References llvm::Value::getName(), GlobalPrefix, LocalPrefix, and PrintLLVMName().

◆ PrintLLVMName() [2/2]

static void PrintLLVMName ( raw_ostream OS,
StringRef  Name,
PrefixType  Prefix 
)
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 390 of file AsmWriter.cpp.

References ComdatPrefix, GlobalPrefix, LabelPrefix, LocalPrefix, NoPrefix, llvm::cl::Prefix, and llvm::printLLVMNameWithoutPrefix().

Referenced by maybePrintComdat(), llvm::Comdat::print(), and PrintLLVMName().

◆ printMetadataIdentifier()

static void printMetadataIdentifier ( StringRef  Name,
formatted_raw_ostream Out 
)
static

Definition at line 3378 of file AsmWriter.cpp.

References llvm::numbers::e, and i.

◆ printMetadataImpl()

static void printMetadataImpl ( raw_ostream ROS,
const Metadata MD,
ModuleSlotTracker MST,
const Module M,
bool  OnlyAsOperand,
bool  PrintAsTree = false 
)
static

◆ printMetadataImplRec()

static void printMetadataImplRec ( raw_ostream ROS,
const Metadata MD,
AsmWriterContext &  WriterCtx 
)
static

Recursive version of printMetadataImpl.

Definition at line 4702 of file AsmWriter.cpp.

References N, WriteAsOperandInternal(), and WriteMDNodeBodyInternal().

◆ PrintShuffleMask()

static void PrintShuffleMask ( raw_ostream Out,
Type Ty,
ArrayRef< int Mask 
)
static

◆ PrintThreadLocalModel()

static void PrintThreadLocalModel ( GlobalVariable::ThreadLocalMode  TLM,
formatted_raw_ostream Out 
)
static

Definition at line 3450 of file AsmWriter.cpp.

◆ PrintVisibility()

static void PrintVisibility ( GlobalValue::VisibilityTypes  Vis,
formatted_raw_ostream Out 
)
static

Definition at line 3426 of file AsmWriter.cpp.

◆ printWithoutType()

static bool printWithoutType ( const Value V,
raw_ostream O,
SlotTracker Machine,
const Module M 
)
static

Print without a type, skipping the TypePrinting object.

Returns
true iff printing was successful.

Definition at line 4654 of file AsmWriter.cpp.

References llvm::Value::hasName(), M, Machine, llvm::RISCVFenceField::O, and WriteAsOperandInternal().

Referenced by llvm::Value::printAsOperand().

◆ skipMetadataWrapper()

static const Value* skipMetadataWrapper ( const Value V)
static

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 106 of file AsmWriter.cpp.

Referenced by orderModule().

◆ WriteAsOperandInternal() [1/2]

static void WriteAsOperandInternal ( raw_ostream Out,
const Metadata MD,
AsmWriterContext &  WriterCtx,
bool  FromValue = false 
)
static

◆ WriteAsOperandInternal() [2/2]

static void WriteAsOperandInternal ( raw_ostream Out,
const Value V,
AsmWriterContext &  WriterCtx 
)
static

◆ WriteConstantInternal()

static void WriteConstantInternal ( raw_ostream Out,
const Constant CV,
AsmWriterContext &  WriterCtx 
)
static

◆ writeDIArgList()

static void writeDIArgList ( raw_ostream Out,
const DIArgList N,
AsmWriterContext &  WriterCtx,
bool  FromValue = false 
)
static

Definition at line 2322 of file AsmWriter.cpp.

Referenced by WriteAsOperandInternal().

◆ writeDIBasicType()

static void writeDIBasicType ( raw_ostream Out,
const DIBasicType N,
AsmWriterContext &   
)
static

Definition at line 1972 of file AsmWriter.cpp.

◆ writeDICommonBlock()

static void writeDICommonBlock ( raw_ostream Out,
const DICommonBlock N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2178 of file AsmWriter.cpp.

◆ writeDICompileUnit()

static void writeDICompileUnit ( raw_ostream Out,
const DICompileUnit N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2087 of file AsmWriter.cpp.

◆ writeDICompositeType()

static void writeDICompositeType ( raw_ostream Out,
const DICompositeType N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2028 of file AsmWriter.cpp.

◆ writeDIDerivedType()

static void writeDIDerivedType ( raw_ostream Out,
const DIDerivedType N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2005 of file AsmWriter.cpp.

◆ writeDIEnumerator()

static void writeDIEnumerator ( raw_ostream Out,
const DIEnumerator N,
AsmWriterContext &   
)
static

Definition at line 1960 of file AsmWriter.cpp.

◆ writeDIExpression()

static void writeDIExpression ( raw_ostream Out,
const DIExpression N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2297 of file AsmWriter.cpp.

Referenced by WriteAsOperandInternal().

◆ writeDIFile()

static void writeDIFile ( raw_ostream Out,
const DIFile N,
AsmWriterContext &   
)
static

Definition at line 2072 of file AsmWriter.cpp.

◆ writeDIGenericSubrange()

static void writeDIGenericSubrange ( raw_ostream Out,
const DIGenericSubrange N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 1909 of file AsmWriter.cpp.

◆ writeDIGlobalVariable()

static void writeDIGlobalVariable ( raw_ostream Out,
const DIGlobalVariable N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2251 of file AsmWriter.cpp.

◆ writeDIGlobalVariableExpression()

static void writeDIGlobalVariableExpression ( raw_ostream Out,
const DIGlobalVariableExpression N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2337 of file AsmWriter.cpp.

◆ writeDIImportedEntity()

static void writeDIImportedEntity ( raw_ostream Out,
const DIImportedEntity N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2361 of file AsmWriter.cpp.

◆ writeDILabel()

static void writeDILabel ( raw_ostream Out,
const DILabel N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2286 of file AsmWriter.cpp.

◆ writeDILexicalBlock()

static void writeDILexicalBlock ( raw_ostream Out,
const DILexicalBlock N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2145 of file AsmWriter.cpp.

◆ writeDILexicalBlockFile()

static void writeDILexicalBlockFile ( raw_ostream Out,
const DILexicalBlockFile N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2156 of file AsmWriter.cpp.

◆ writeDILocalVariable()

static void writeDILocalVariable ( raw_ostream Out,
const DILocalVariable N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2270 of file AsmWriter.cpp.

◆ writeDILocation()

static void writeDILocation ( raw_ostream Out,
const DILocation DL,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 1854 of file AsmWriter.cpp.

Referenced by WriteAsOperandInternal().

◆ writeDIMacro()

static void writeDIMacro ( raw_ostream Out,
const DIMacro N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2190 of file AsmWriter.cpp.

◆ writeDIMacroFile()

static void writeDIMacroFile ( raw_ostream Out,
const DIMacroFile N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2201 of file AsmWriter.cpp.

◆ writeDIModule()

static void writeDIModule ( raw_ostream Out,
const DIModule N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2211 of file AsmWriter.cpp.

◆ writeDINamespace()

static void writeDINamespace ( raw_ostream Out,
const DINamespace N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2168 of file AsmWriter.cpp.

◆ writeDIObjCProperty()

static void writeDIObjCProperty ( raw_ostream Out,
const DIObjCProperty N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2347 of file AsmWriter.cpp.

◆ writeDIStringType()

static void writeDIStringType ( raw_ostream Out,
const DIStringType N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 1987 of file AsmWriter.cpp.

◆ writeDISubprogram()

static void writeDISubprogram ( raw_ostream Out,
const DISubprogram N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2117 of file AsmWriter.cpp.

◆ writeDISubrange()

static void writeDISubrange ( raw_ostream Out,
const DISubrange N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 1868 of file AsmWriter.cpp.

◆ writeDISubroutineType()

static void writeDISubroutineType ( raw_ostream Out,
const DISubroutineType N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2061 of file AsmWriter.cpp.

◆ writeDITemplateTypeParameter()

static void writeDITemplateTypeParameter ( raw_ostream Out,
const DITemplateTypeParameter N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2226 of file AsmWriter.cpp.

◆ writeDITemplateValueParameter()

static void writeDITemplateValueParameter ( raw_ostream Out,
const DITemplateValueParameter N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 2237 of file AsmWriter.cpp.

◆ writeGenericDINode()

static void writeGenericDINode ( raw_ostream Out,
const GenericDINode N,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 1836 of file AsmWriter.cpp.

◆ WriteMDNodeBodyInternal()

static void WriteMDNodeBodyInternal ( raw_ostream Out,
const MDNode Node,
AsmWriterContext &  Ctx 
)
static

Definition at line 2375 of file AsmWriter.cpp.

Referenced by printMetadataImpl(), and printMetadataImplRec().

◆ writeMDTuple()

static void writeMDTuple ( raw_ostream Out,
const MDTuple Node,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 1616 of file AsmWriter.cpp.

◆ writeMetadataAsOperand()

static void writeMetadataAsOperand ( raw_ostream Out,
const Metadata MD,
AsmWriterContext &  WriterCtx 
)
static

Definition at line 1724 of file AsmWriter.cpp.

◆ WriteOptimizationInfo()

static void WriteOptimizationInfo ( raw_ostream Out,
const User U 
)
static

Definition at line 1319 of file AsmWriter.cpp.

References GEP.

llvm::lltok::Kind
Kind
Definition: LLToken.h:18