LLVM  14.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/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/GlobalIndirectSymbol.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/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/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
 ---------------------— PointerInfo ------------------------------------—
 

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, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void WriteAsOperandInternal (raw_ostream &Out, const Metadata *MD, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context, bool FromValue=false)
 
static void WriteOptimizationInfo (raw_ostream &Out, const User *U)
 
static void WriteConstantInternal (raw_ostream &Out, const Constant *CV, TypePrinting &TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeMDTuple (raw_ostream &Out, const MDTuple *Node, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeMetadataAsOperand (raw_ostream &Out, const Metadata *MD, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeGenericDINode (raw_ostream &Out, const GenericDINode *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDILocation (raw_ostream &Out, const DILocation *DL, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDISubrange (raw_ostream &Out, const DISubrange *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDIGenericSubrange (raw_ostream &Out, const DIGenericSubrange *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDIEnumerator (raw_ostream &Out, const DIEnumerator *N, TypePrinting *, SlotTracker *, const Module *)
 
static void writeDIBasicType (raw_ostream &Out, const DIBasicType *N, TypePrinting *, SlotTracker *, const Module *)
 
static void writeDIStringType (raw_ostream &Out, const DIStringType *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDIDerivedType (raw_ostream &Out, const DIDerivedType *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDICompositeType (raw_ostream &Out, const DICompositeType *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDISubroutineType (raw_ostream &Out, const DISubroutineType *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDIFile (raw_ostream &Out, const DIFile *N, TypePrinting *, SlotTracker *, const Module *)
 
static void writeDICompileUnit (raw_ostream &Out, const DICompileUnit *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDISubprogram (raw_ostream &Out, const DISubprogram *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDILexicalBlock (raw_ostream &Out, const DILexicalBlock *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDILexicalBlockFile (raw_ostream &Out, const DILexicalBlockFile *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDINamespace (raw_ostream &Out, const DINamespace *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDICommonBlock (raw_ostream &Out, const DICommonBlock *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDIMacro (raw_ostream &Out, const DIMacro *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDIMacroFile (raw_ostream &Out, const DIMacroFile *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDIModule (raw_ostream &Out, const DIModule *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDITemplateTypeParameter (raw_ostream &Out, const DITemplateTypeParameter *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDITemplateValueParameter (raw_ostream &Out, const DITemplateValueParameter *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDIGlobalVariable (raw_ostream &Out, const DIGlobalVariable *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDILocalVariable (raw_ostream &Out, const DILocalVariable *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDILabel (raw_ostream &Out, const DILabel *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDIExpression (raw_ostream &Out, const DIExpression *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDIArgList (raw_ostream &Out, const DIArgList *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context, bool FromValue=false)
 
static void writeDIGlobalVariableExpression (raw_ostream &Out, const DIGlobalVariableExpression *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDIObjCProperty (raw_ostream &Out, const DIObjCProperty *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void writeDIImportedEntity (raw_ostream &Out, const DIImportedEntity *N, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
static void WriteMDNodeBodyInternal (raw_ostream &Out, const MDNode *Node, TypePrinting *TypePrinter, SlotTracker *Machine, const Module *Context)
 
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 printMetadataImpl (raw_ostream &ROS, const Metadata &MD, ModuleSlotTracker &MST, const Module *M, bool OnlyAsOperand)
 

Macro Definition Documentation

◆ HANDLE_MDNODE_LEAF

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

◆ ST_DEBUG

#define ST_DEBUG (   X)

Definition at line 915 of file AsmWriter.cpp.

Typedef Documentation

◆ OrderMap

using OrderMap = MapVector<const Value *, unsigned>

Definition at line 97 of file AsmWriter.cpp.

◆ UseListOrderMap

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

Definition at line 100 of file AsmWriter.cpp.

Enumeration Type Documentation

◆ PrefixType

enum PrefixType
Enumerator
GlobalPrefix 
ComdatPrefix 
LabelPrefix 
LocalPrefix 
NoPrefix 

Definition at line 341 of file AsmWriter.cpp.

Function Documentation

◆ createSlotTracker()

static SlotTracker* createSlotTracker ( const Value V)
static

Definition at line 886 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 3186 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 3109 of file AsmWriter.cpp.

References llvm_unreachable.

◆ getTTResKindName()

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

Definition at line 2998 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 3518 of file AsmWriter.cpp.

References llvm_unreachable, and llvm::None.

◆ getVisibilityName()

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

Definition at line 3192 of file AsmWriter.cpp.

References llvm_unreachable.

◆ getWholeProgDevirtResByArgKindName()

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

Definition at line 2983 of file AsmWriter.cpp.

References llvm_unreachable.

◆ getWholeProgDevirtResKindName()

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

Definition at line 2971 of file AsmWriter.cpp.

References llvm_unreachable.

◆ isReferencingMDNode()

static bool isReferencingMDNode ( const Instruction I)
static

Definition at line 4587 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 127 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 111 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 175 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

◆ PrintDLLStorageClass()

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

Definition at line 3489 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 407 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 385 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 3426 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 
)
static

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

◆ PrintVisibility()

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

Definition at line 3474 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 4653 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 104 of file AsmWriter.cpp.

Referenced by orderModule().

◆ WriteAsOperandInternal() [1/2]

static void WriteAsOperandInternal ( raw_ostream Out,
const Metadata MD,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context,
bool  FromValue = false 
)
static

◆ WriteAsOperandInternal() [2/2]

static void WriteAsOperandInternal ( raw_ostream Out,
const Value V,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

◆ WriteConstantInternal()

static void WriteConstantInternal ( raw_ostream Out,
const Constant CV,
TypePrinting &  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

◆ writeDIArgList()

static void writeDIArgList ( raw_ostream Out,
const DIArgList N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context,
bool  FromValue = false 
)
static

Definition at line 2361 of file AsmWriter.cpp.

Referenced by WriteAsOperandInternal().

◆ writeDIBasicType()

static void writeDIBasicType ( raw_ostream Out,
const DIBasicType N,
TypePrinting *  ,
SlotTracker ,
const Module  
)
static

Definition at line 1990 of file AsmWriter.cpp.

◆ writeDICommonBlock()

static void writeDICommonBlock ( raw_ostream Out,
const DICommonBlock N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2204 of file AsmWriter.cpp.

◆ writeDICompileUnit()

static void writeDICompileUnit ( raw_ostream Out,
const DICompileUnit N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2108 of file AsmWriter.cpp.

◆ writeDICompositeType()

static void writeDICompositeType ( raw_ostream Out,
const DICompositeType N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2046 of file AsmWriter.cpp.

◆ writeDIDerivedType()

static void writeDIDerivedType ( raw_ostream Out,
const DIDerivedType N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2022 of file AsmWriter.cpp.

◆ writeDIEnumerator()

static void writeDIEnumerator ( raw_ostream Out,
const DIEnumerator N,
TypePrinting *  ,
SlotTracker ,
const Module  
)
static

Definition at line 1978 of file AsmWriter.cpp.

◆ writeDIExpression()

static void writeDIExpression ( raw_ostream Out,
const DIExpression N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2335 of file AsmWriter.cpp.

Referenced by WriteAsOperandInternal().

◆ writeDIFile()

static void writeDIFile ( raw_ostream Out,
const DIFile N,
TypePrinting *  ,
SlotTracker ,
const Module  
)
static

Definition at line 2092 of file AsmWriter.cpp.

◆ writeDIGenericSubrange()

static void writeDIGenericSubrange ( raw_ostream Out,
const DIGenericSubrange N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 1925 of file AsmWriter.cpp.

◆ writeDIGlobalVariable()

static void writeDIGlobalVariable ( raw_ostream Out,
const DIGlobalVariable N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2286 of file AsmWriter.cpp.

◆ writeDIGlobalVariableExpression()

static void writeDIGlobalVariableExpression ( raw_ostream Out,
const DIGlobalVariableExpression N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2376 of file AsmWriter.cpp.

◆ writeDIImportedEntity()

static void writeDIImportedEntity ( raw_ostream Out,
const DIImportedEntity N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2403 of file AsmWriter.cpp.

◆ writeDILabel()

static void writeDILabel ( raw_ostream Out,
const DILabel N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2323 of file AsmWriter.cpp.

◆ writeDILexicalBlock()

static void writeDILexicalBlock ( raw_ostream Out,
const DILexicalBlock N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2167 of file AsmWriter.cpp.

◆ writeDILexicalBlockFile()

static void writeDILexicalBlockFile ( raw_ostream Out,
const DILexicalBlockFile N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2179 of file AsmWriter.cpp.

◆ writeDILocalVariable()

static void writeDILocalVariable ( raw_ostream Out,
const DILocalVariable N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2306 of file AsmWriter.cpp.

◆ writeDILocation()

static void writeDILocation ( raw_ostream Out,
const DILocation DL,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 1868 of file AsmWriter.cpp.

Referenced by WriteAsOperandInternal().

◆ writeDIMacro()

static void writeDIMacro ( raw_ostream Out,
const DIMacro N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2217 of file AsmWriter.cpp.

◆ writeDIMacroFile()

static void writeDIMacroFile ( raw_ostream Out,
const DIMacroFile N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2229 of file AsmWriter.cpp.

◆ writeDIModule()

static void writeDIModule ( raw_ostream Out,
const DIModule N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2240 of file AsmWriter.cpp.

◆ writeDINamespace()

static void writeDINamespace ( raw_ostream Out,
const DINamespace N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2193 of file AsmWriter.cpp.

◆ writeDIObjCProperty()

static void writeDIObjCProperty ( raw_ostream Out,
const DIObjCProperty N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2388 of file AsmWriter.cpp.

◆ writeDIStringType()

static void writeDIStringType ( raw_ostream Out,
const DIStringType N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2005 of file AsmWriter.cpp.

◆ writeDISubprogram()

static void writeDISubprogram ( raw_ostream Out,
const DISubprogram N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2139 of file AsmWriter.cpp.

◆ writeDISubrange()

static void writeDISubrange ( raw_ostream Out,
const DISubrange N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 1883 of file AsmWriter.cpp.

◆ writeDISubroutineType()

static void writeDISubroutineType ( raw_ostream Out,
const DISubroutineType N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2080 of file AsmWriter.cpp.

◆ writeDITemplateTypeParameter()

static void writeDITemplateTypeParameter ( raw_ostream Out,
const DITemplateTypeParameter N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2257 of file AsmWriter.cpp.

◆ writeDITemplateValueParameter()

static void writeDITemplateValueParameter ( raw_ostream Out,
const DITemplateValueParameter N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2270 of file AsmWriter.cpp.

◆ writeGenericDINode()

static void writeGenericDINode ( raw_ostream Out,
const GenericDINode N,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 1849 of file AsmWriter.cpp.

◆ WriteMDNodeBodyInternal()

static void WriteMDNodeBodyInternal ( raw_ostream Out,
const MDNode Node,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 2418 of file AsmWriter.cpp.

Referenced by printMetadataImpl().

◆ writeMDTuple()

static void writeMDTuple ( raw_ostream Out,
const MDTuple Node,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 1625 of file AsmWriter.cpp.

◆ writeMetadataAsOperand()

static void writeMetadataAsOperand ( raw_ostream Out,
const Metadata MD,
TypePrinting *  TypePrinter,
SlotTracker Machine,
const Module Context 
)
static

Definition at line 1736 of file AsmWriter.cpp.

◆ WriteOptimizationInfo()

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

Definition at line 1294 of file AsmWriter.cpp.

References GEP.

Context
LLVMContext & Context
Definition: NVVMIntrRange.cpp:66
llvm::lltok::Kind
Kind
Definition: LLToken.h:18
Machine
COFF::MachineTypes Machine
Definition: COFFYAML.cpp:366