Movatterモバイル変換


[0]ホーム

URL:


LLVM 20.0.0git
Typedefs |Enumerations |Functions
Debug Information
LLVM-C: C interface to LLVM »Core

This file declares the C API endpoints for generating DWARF Debug Info.More...

Collaboration diagram for Debug Information:

Typedefs

typedefunsigned LLVMMetadataKind
 
typedefunsigned LLVMDWARFTypeEncoding
 An LLVM DWARF type encoding.
 

Enumerations

enum  LLVMDIFlags {
  LLVMDIFlagZero = 0,LLVMDIFlagPrivate = 1,LLVMDIFlagProtected = 2,LLVMDIFlagPublic = 3,
  LLVMDIFlagFwdDecl = 1 << 2,LLVMDIFlagAppleBlock = 1 << 3,LLVMDIFlagReservedBit4 = 1 << 4,LLVMDIFlagVirtual = 1 << 5,
  LLVMDIFlagArtificial = 1 << 6,LLVMDIFlagExplicit = 1 << 7,LLVMDIFlagPrototyped = 1 << 8,LLVMDIFlagObjcClassComplete = 1 << 9,
  LLVMDIFlagObjectPointer = 1 << 10,LLVMDIFlagVector = 1 << 11,LLVMDIFlagStaticMember = 1 << 12,LLVMDIFlagLValueReference = 1 << 13,
  LLVMDIFlagRValueReference = 1 << 14,LLVMDIFlagReserved = 1 << 15,LLVMDIFlagSingleInheritance = 1 << 16,LLVMDIFlagMultipleInheritance = 2 << 16,
  LLVMDIFlagVirtualInheritance = 3 << 16,LLVMDIFlagIntroducedVirtual = 1 << 18,LLVMDIFlagBitField = 1 << 19,LLVMDIFlagNoReturn = 1 << 20,
  LLVMDIFlagTypePassByValue = 1 << 22,LLVMDIFlagTypePassByReference = 1 << 23,LLVMDIFlagEnumClass = 1 << 24,LLVMDIFlagFixedEnum = LLVMDIFlagEnumClass,
  LLVMDIFlagThunk = 1 << 25,LLVMDIFlagNonTrivial = 1 << 26,LLVMDIFlagBigEndian = 1 << 27,LLVMDIFlagLittleEndian = 1 << 28,
  LLVMDIFlagIndirectVirtualBase = (1 << 2) | (1 << 5),LLVMDIFlagAccessibility,LLVMDIFlagPtrToMemberRep
}
 Debug info flags.More...
 
enum  LLVMDWARFSourceLanguage {
  LLVMDWARFSourceLanguageC89,LLVMDWARFSourceLanguageC,LLVMDWARFSourceLanguageAda83,LLVMDWARFSourceLanguageC_plus_plus,
  LLVMDWARFSourceLanguageCobol74,LLVMDWARFSourceLanguageCobol85,LLVMDWARFSourceLanguageFortran77,LLVMDWARFSourceLanguageFortran90,
  LLVMDWARFSourceLanguagePascal83,LLVMDWARFSourceLanguageModula2,LLVMDWARFSourceLanguageJava,LLVMDWARFSourceLanguageC99,
  LLVMDWARFSourceLanguageAda95,LLVMDWARFSourceLanguageFortran95,LLVMDWARFSourceLanguagePLI,LLVMDWARFSourceLanguageObjC,
  LLVMDWARFSourceLanguageObjC_plus_plus,LLVMDWARFSourceLanguageUPC,LLVMDWARFSourceLanguageD,LLVMDWARFSourceLanguagePython,
  LLVMDWARFSourceLanguageOpenCL,LLVMDWARFSourceLanguageGo,LLVMDWARFSourceLanguageModula3,LLVMDWARFSourceLanguageHaskell,
  LLVMDWARFSourceLanguageC_plus_plus_03,LLVMDWARFSourceLanguageC_plus_plus_11,LLVMDWARFSourceLanguageOCaml,LLVMDWARFSourceLanguageRust,
  LLVMDWARFSourceLanguageC11,LLVMDWARFSourceLanguageSwift,LLVMDWARFSourceLanguageJulia,LLVMDWARFSourceLanguageDylan,
  LLVMDWARFSourceLanguageC_plus_plus_14,LLVMDWARFSourceLanguageFortran03,LLVMDWARFSourceLanguageFortran08,LLVMDWARFSourceLanguageRenderScript,
  LLVMDWARFSourceLanguageBLISS,LLVMDWARFSourceLanguageKotlin,LLVMDWARFSourceLanguageZig,LLVMDWARFSourceLanguageCrystal,
  LLVMDWARFSourceLanguageC_plus_plus_17,LLVMDWARFSourceLanguageC_plus_plus_20,LLVMDWARFSourceLanguageC17,LLVMDWARFSourceLanguageFortran18,
  LLVMDWARFSourceLanguageAda2005,LLVMDWARFSourceLanguageAda2012,LLVMDWARFSourceLanguageHIP,LLVMDWARFSourceLanguageAssembly,
  LLVMDWARFSourceLanguageC_sharp,LLVMDWARFSourceLanguageMojo,LLVMDWARFSourceLanguageGLSL,LLVMDWARFSourceLanguageGLSL_ES,
  LLVMDWARFSourceLanguageHLSL,LLVMDWARFSourceLanguageOpenCL_CPP,LLVMDWARFSourceLanguageCPP_for_OpenCL,LLVMDWARFSourceLanguageSYCL,
  LLVMDWARFSourceLanguageRuby,LLVMDWARFSourceLanguageMove,LLVMDWARFSourceLanguageHylo,LLVMDWARFSourceLanguageMetal,
  LLVMDWARFSourceLanguageMips_Assembler,LLVMDWARFSourceLanguageGOOGLE_RenderScript,LLVMDWARFSourceLanguageBORLAND_Delphi
}
 Source languages known by DWARF.More...
 
enum  LLVMDWARFEmissionKind {LLVMDWARFEmissionNone = 0,LLVMDWARFEmissionFull,LLVMDWARFEmissionLineTablesOnly }
 The amount of debug information to emit.More...
 
enum  {
  LLVMMDStringMetadataKind,LLVMConstantAsMetadataMetadataKind,LLVMLocalAsMetadataMetadataKind,LLVMDistinctMDOperandPlaceholderMetadataKind,
  LLVMMDTupleMetadataKind,LLVMDILocationMetadataKind,LLVMDIExpressionMetadataKind,LLVMDIGlobalVariableExpressionMetadataKind,
  LLVMGenericDINodeMetadataKind,LLVMDISubrangeMetadataKind,LLVMDIEnumeratorMetadataKind,LLVMDIBasicTypeMetadataKind,
  LLVMDIDerivedTypeMetadataKind,LLVMDICompositeTypeMetadataKind,LLVMDISubroutineTypeMetadataKind,LLVMDIFileMetadataKind,
  LLVMDICompileUnitMetadataKind,LLVMDISubprogramMetadataKind,LLVMDILexicalBlockMetadataKind,LLVMDILexicalBlockFileMetadataKind,
  LLVMDINamespaceMetadataKind,LLVMDIModuleMetadataKind,LLVMDITemplateTypeParameterMetadataKind,LLVMDITemplateValueParameterMetadataKind,
  LLVMDIGlobalVariableMetadataKind,LLVMDILocalVariableMetadataKind,LLVMDILabelMetadataKind,LLVMDIObjCPropertyMetadataKind,
  LLVMDIImportedEntityMetadataKind,LLVMDIMacroMetadataKind,LLVMDIMacroFileMetadataKind,LLVMDICommonBlockMetadataKind,
  LLVMDIStringTypeMetadataKind,LLVMDIGenericSubrangeMetadataKind,LLVMDIArgListMetadataKind,LLVMDIAssignIDMetadataKind
}
 The kind of metadata nodes.More...
 
enum  LLVMDWARFMacinfoRecordType {
  LLVMDWARFMacinfoRecordTypeDefine = 0x01,LLVMDWARFMacinfoRecordTypeMacro = 0x02,LLVMDWARFMacinfoRecordTypeStartFile = 0x03,LLVMDWARFMacinfoRecordTypeEndFile = 0x04,
  LLVMDWARFMacinfoRecordTypeVendorExt = 0xff
}
 Describes the kind of macro declaration used for LLVMDIBuilderCreateMacro.More...
 

Functions

unsigned LLVMDebugMetadataVersion (void)
 The current debug metadata version number.
 
unsigned LLVMGetModuleDebugMetadataVersion (LLVMModuleRefModule)
 The version of debug metadata that's present in the providedModule.
 
LLVMBool LLVMStripModuleDebugInfo (LLVMModuleRefModule)
 Strip debug info in the module if it exists.
 
LLVMDIBuilderRef LLVMCreateDIBuilderDisallowUnresolved (LLVMModuleRef M)
 Construct a builder for a module, and do not allow for unresolved nodes attached to the module.
 
LLVMDIBuilderRef LLVMCreateDIBuilder (LLVMModuleRef M)
 Construct a builder for a module and collect unresolved nodes attached to the module in order to resolve cycles during a call toLLVMDIBuilderFinalize.
 
void LLVMDisposeDIBuilder (LLVMDIBuilderRef Builder)
 Deallocates theDIBuilder and everything it owns.
 
void LLVMDIBuilderFinalize (LLVMDIBuilderRef Builder)
 Construct any deferred debug info descriptors.
 
void LLVMDIBuilderFinalizeSubprogram (LLVMDIBuilderRef Builder,LLVMMetadataRef Subprogram)
 Finalize a specific subprogram.
 
LLVMMetadataRef LLVMDIBuilderCreateCompileUnit (LLVMDIBuilderRef Builder,LLVMDWARFSourceLanguage Lang,LLVMMetadataRef FileRef,constchar *Producer, size_t ProducerLen,LLVMBool isOptimized,constchar *Flags, size_t FlagsLen,unsigned RuntimeVer,constchar *SplitName, size_t SplitNameLen,LLVMDWARFEmissionKind Kind,unsigned DWOId,LLVMBool SplitDebugInlining,LLVMBool DebugInfoForProfiling,constchar *SysRoot, size_t SysRootLen,constchar *SDK, size_t SDKLen)
 A CompileUnit provides an anchor for all debugging information generated during this instance of compilation.
 
LLVMMetadataRef LLVMDIBuilderCreateFile (LLVMDIBuilderRef Builder,constchar *Filename, size_t FilenameLen,constchar *Directory, size_t DirectoryLen)
 Create a file descriptor to hold debugging information for a file.
 
LLVMMetadataRef LLVMDIBuilderCreateModule (LLVMDIBuilderRef Builder,LLVMMetadataRef ParentScope,constchar *Name, size_t NameLen,constchar *ConfigMacros, size_t ConfigMacrosLen,constchar *IncludePath, size_t IncludePathLen,constchar *APINotesFile, size_t APINotesFileLen)
 Creates a new descriptor for a module with the specified parent scope.
 
LLVMMetadataRef LLVMDIBuilderCreateNameSpace (LLVMDIBuilderRef Builder,LLVMMetadataRef ParentScope,constchar *Name, size_t NameLen,LLVMBool ExportSymbols)
 Creates a new descriptor for a namespace with the specified parent scope.
 
LLVMMetadataRef LLVMDIBuilderCreateFunction (LLVMDIBuilderRef Builder,LLVMMetadataRef Scope,constchar *Name, size_t NameLen,constchar *LinkageName, size_t LinkageNameLen,LLVMMetadataRef File,unsigned LineNo,LLVMMetadataRef Ty,LLVMBool IsLocalToUnit,LLVMBool IsDefinition,unsigned ScopeLine,LLVMDIFlags Flags,LLVMBool IsOptimized)
 Create a new descriptor for the specified subprogram.
 
LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock (LLVMDIBuilderRef Builder,LLVMMetadataRef Scope,LLVMMetadataRef File,unsigned Line,unsigned Column)
 Create a descriptor for a lexical block with the specified parent context.
 
LLVMMetadataRef LLVMDIBuilderCreateLexicalBlockFile (LLVMDIBuilderRef Builder,LLVMMetadataRef Scope,LLVMMetadataRef File,unsigned Discriminator)
 Create a descriptor for a lexical block with a new file attached.
 
LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromNamespace (LLVMDIBuilderRef Builder,LLVMMetadataRef Scope,LLVMMetadataRef NS,LLVMMetadataRef File,unsigned Line)
 Create a descriptor for an imported namespace.
 
LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromAlias (LLVMDIBuilderRef Builder,LLVMMetadataRef Scope,LLVMMetadataRef ImportedEntity,LLVMMetadataRef File,unsigned Line,LLVMMetadataRef *Elements,unsigned NumElements)
 Create a descriptor for an imported module that aliases another imported entity descriptor.
 
LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromModule (LLVMDIBuilderRef Builder,LLVMMetadataRef Scope,LLVMMetadataRef M,LLVMMetadataRef File,unsigned Line,LLVMMetadataRef *Elements,unsigned NumElements)
 Create a descriptor for an imported module.
 
LLVMMetadataRef LLVMDIBuilderCreateImportedDeclaration (LLVMDIBuilderRef Builder,LLVMMetadataRef Scope,LLVMMetadataRef Decl,LLVMMetadataRef File,unsigned Line,constchar *Name, size_t NameLen,LLVMMetadataRef *Elements,unsigned NumElements)
 Create a descriptor for an imported function, type, or variable.
 
LLVMMetadataRef LLVMDIBuilderCreateDebugLocation (LLVMContextRef Ctx,unsigned Line,unsigned Column,LLVMMetadataRef Scope,LLVMMetadataRef InlinedAt)
 Creates a new DebugLocation that describes a source location.
 
unsigned LLVMDILocationGetLine (LLVMMetadataRef Location)
 Get the line number of this debug location.
 
unsigned LLVMDILocationGetColumn (LLVMMetadataRef Location)
 Get the column number of this debug location.
 
LLVMMetadataRef LLVMDILocationGetScope (LLVMMetadataRef Location)
 Get the local scope associated with this debug location.
 
LLVMMetadataRef LLVMDILocationGetInlinedAt (LLVMMetadataRef Location)
 Get the "inline at" location associated with this debug location.
 
LLVMMetadataRef LLVMDIScopeGetFile (LLVMMetadataRef Scope)
 Get the metadata of the file associated with a given scope.
 
constcharLLVMDIFileGetDirectory (LLVMMetadataRef File,unsigned *Len)
 Get the directory of a given file.
 
constcharLLVMDIFileGetFilename (LLVMMetadataRef File,unsigned *Len)
 Get the name of a given file.
 
constcharLLVMDIFileGetSource (LLVMMetadataRef File,unsigned *Len)
 Get the source of a given file.
 
LLVMMetadataRef LLVMDIBuilderGetOrCreateTypeArray (LLVMDIBuilderRef Builder,LLVMMetadataRef *Data, size_t NumElements)
 Create a type array.
 
LLVMMetadataRef LLVMDIBuilderCreateSubroutineType (LLVMDIBuilderRef Builder,LLVMMetadataRef File,LLVMMetadataRef *ParameterTypes,unsigned NumParameterTypes,LLVMDIFlags Flags)
 Create subroutine type.
 
LLVMMetadataRef LLVMDIBuilderCreateMacro (LLVMDIBuilderRef Builder,LLVMMetadataRef ParentMacroFile,unsigned Line,LLVMDWARFMacinfoRecordTypeRecordType,constchar *Name, size_t NameLen,constchar *Value, size_t ValueLen)
 Create debugging information entry for a macro.
 
LLVMMetadataRef LLVMDIBuilderCreateTempMacroFile (LLVMDIBuilderRef Builder,LLVMMetadataRef ParentMacroFile,unsigned Line,LLVMMetadataRef File)
 Create debugging information temporary entry for a macro file.
 
LLVMMetadataRef LLVMDIBuilderCreateEnumerator (LLVMDIBuilderRef Builder,constchar *Name, size_t NameLen, int64_tValue,LLVMBool IsUnsigned)
 Create debugging information entry for an enumerator.
 
LLVMMetadataRef LLVMDIBuilderCreateEnumerationType (LLVMDIBuilderRef Builder,LLVMMetadataRef Scope,constchar *Name, size_t NameLen,LLVMMetadataRef File,unsigned LineNumber,uint64_t SizeInBits,uint32_t AlignInBits,LLVMMetadataRef *Elements,unsigned NumElements,LLVMMetadataRef ClassTy)
 Create debugging information entry for an enumeration.
 
LLVMMetadataRef LLVMDIBuilderCreateUnionType (LLVMDIBuilderRef Builder,LLVMMetadataRef Scope,constchar *Name, size_t NameLen,LLVMMetadataRef File,unsigned LineNumber,uint64_t SizeInBits,uint32_t AlignInBits,LLVMDIFlags Flags,LLVMMetadataRef *Elements,unsigned NumElements,unsigned RunTimeLang,constchar *UniqueId, size_t UniqueIdLen)
 Create debugging information entry for a union.
 
LLVMMetadataRef LLVMDIBuilderCreateArrayType (LLVMDIBuilderRef Builder,uint64_tSize,uint32_t AlignInBits,LLVMMetadataRef Ty,LLVMMetadataRef *Subscripts,unsigned NumSubscripts)
 Create debugging information entry for an array.
 
LLVMMetadataRef LLVMDIBuilderCreateVectorType (LLVMDIBuilderRef Builder,uint64_tSize,uint32_t AlignInBits,LLVMMetadataRef Ty,LLVMMetadataRef *Subscripts,unsigned NumSubscripts)
 Create debugging information entry for a vector type.
 
LLVMMetadataRef LLVMDIBuilderCreateUnspecifiedType (LLVMDIBuilderRef Builder,constchar *Name, size_t NameLen)
 Create a DWARF unspecified type.
 
LLVMMetadataRef LLVMDIBuilderCreateBasicType (LLVMDIBuilderRef Builder,constchar *Name, size_t NameLen,uint64_t SizeInBits,LLVMDWARFTypeEncoding Encoding,LLVMDIFlags Flags)
 Create debugging information entry for a basic type.
 
LLVMMetadataRef LLVMDIBuilderCreatePointerType (LLVMDIBuilderRef Builder,LLVMMetadataRef PointeeTy,uint64_t SizeInBits,uint32_t AlignInBits,unsignedAddressSpace,constchar *Name, size_t NameLen)
 Create debugging information entry for a pointer.
 
LLVMMetadataRef LLVMDIBuilderCreateStructType (LLVMDIBuilderRef Builder,LLVMMetadataRef Scope,constchar *Name, size_t NameLen,LLVMMetadataRef File,unsigned LineNumber,uint64_t SizeInBits,uint32_t AlignInBits,LLVMDIFlags Flags,LLVMMetadataRef DerivedFrom,LLVMMetadataRef *Elements,unsigned NumElements,unsigned RunTimeLang,LLVMMetadataRef VTableHolder,constchar *UniqueId, size_t UniqueIdLen)
 Create debugging information entry for a struct.
 
LLVMMetadataRef LLVMDIBuilderCreateMemberType (LLVMDIBuilderRef Builder,LLVMMetadataRef Scope,constchar *Name, size_t NameLen,LLVMMetadataRef File,unsigned LineNo,uint64_t SizeInBits,uint32_t AlignInBits,uint64_t OffsetInBits,LLVMDIFlags Flags,LLVMMetadataRef Ty)
 Create debugging information entry for a member.
 
LLVMMetadataRef LLVMDIBuilderCreateStaticMemberType (LLVMDIBuilderRef Builder,LLVMMetadataRef Scope,constchar *Name, size_t NameLen,LLVMMetadataRef File,unsigned LineNumber,LLVMMetadataRefType,LLVMDIFlags Flags,LLVMValueRef ConstantVal,uint32_t AlignInBits)
 Create debugging information entry for a C++ static data member.
 
LLVMMetadataRef LLVMDIBuilderCreateMemberPointerType (LLVMDIBuilderRef Builder,LLVMMetadataRef PointeeType,LLVMMetadataRef ClassType,uint64_t SizeInBits,uint32_t AlignInBits,LLVMDIFlags Flags)
 Create debugging information entry for a pointer to member.
 
LLVMMetadataRef LLVMDIBuilderCreateObjCIVar (LLVMDIBuilderRef Builder,constchar *Name, size_t NameLen,LLVMMetadataRef File,unsigned LineNo,uint64_t SizeInBits,uint32_t AlignInBits,uint64_t OffsetInBits,LLVMDIFlags Flags,LLVMMetadataRef Ty,LLVMMetadataRef PropertyNode)
 Create debugging information entry for Objective-C instance variable.
 
LLVMMetadataRef LLVMDIBuilderCreateObjCProperty (LLVMDIBuilderRef Builder,constchar *Name, size_t NameLen,LLVMMetadataRef File,unsigned LineNo,constchar *GetterName, size_t GetterNameLen,constchar *SetterName, size_t SetterNameLen,unsigned PropertyAttributes,LLVMMetadataRef Ty)
 Create debugging information entry for Objective-C property.
 
LLVMMetadataRef LLVMDIBuilderCreateObjectPointerType (LLVMDIBuilderRef Builder,LLVMMetadataRefType,LLVMBool Implicit)
 Create a uniqued DIType* clone with FlagObjectPointer.
 
LLVMMetadataRef LLVMDIBuilderCreateQualifiedType (LLVMDIBuilderRef Builder,unsignedTag,LLVMMetadataRefType)
 Create debugging information entry for a qualified type, e.g.
 
LLVMMetadataRef LLVMDIBuilderCreateReferenceType (LLVMDIBuilderRef Builder,unsignedTag,LLVMMetadataRefType)
 Create debugging information entry for a c++ style reference or rvalue reference type.
 
LLVMMetadataRef LLVMDIBuilderCreateNullPtrType (LLVMDIBuilderRef Builder)
 Create C++11 nullptr type.
 
LLVMMetadataRef LLVMDIBuilderCreateTypedef (LLVMDIBuilderRef Builder,LLVMMetadataRefType,constchar *Name, size_t NameLen,LLVMMetadataRef File,unsigned LineNo,LLVMMetadataRef Scope,uint32_t AlignInBits)
 Create debugging information entry for a typedef.
 
LLVMMetadataRef LLVMDIBuilderCreateInheritance (LLVMDIBuilderRef Builder,LLVMMetadataRef Ty,LLVMMetadataRefBaseTy,uint64_t BaseOffset,uint32_t VBPtrOffset,LLVMDIFlags Flags)
 Create debugging information entry to establish inheritance relationship between two types.
 
LLVMMetadataRef LLVMDIBuilderCreateForwardDecl (LLVMDIBuilderRef Builder,unsignedTag,constchar *Name, size_t NameLen,LLVMMetadataRef Scope,LLVMMetadataRef File,unsigned Line,unsigned RuntimeLang,uint64_t SizeInBits,uint32_t AlignInBits,constchar *UniqueIdentifier, size_t UniqueIdentifierLen)
 Create a permanent forward-declared type.
 
LLVMMetadataRef LLVMDIBuilderCreateReplaceableCompositeType (LLVMDIBuilderRef Builder,unsignedTag,constchar *Name, size_t NameLen,LLVMMetadataRef Scope,LLVMMetadataRef File,unsigned Line,unsigned RuntimeLang,uint64_t SizeInBits,uint32_t AlignInBits,LLVMDIFlags Flags,constchar *UniqueIdentifier, size_t UniqueIdentifierLen)
 Create a temporary forward-declared type.
 
LLVMMetadataRef LLVMDIBuilderCreateBitFieldMemberType (LLVMDIBuilderRef Builder,LLVMMetadataRef Scope,constchar *Name, size_t NameLen,LLVMMetadataRef File,unsigned LineNumber,uint64_t SizeInBits,uint64_t OffsetInBits,uint64_t StorageOffsetInBits,LLVMDIFlags Flags,LLVMMetadataRefType)
 Create debugging information entry for a bit field member.
 
LLVMMetadataRef LLVMDIBuilderCreateClassType (LLVMDIBuilderRef Builder,LLVMMetadataRef Scope,constchar *Name, size_t NameLen,LLVMMetadataRef File,unsigned LineNumber,uint64_t SizeInBits,uint32_t AlignInBits,uint64_t OffsetInBits,LLVMDIFlags Flags,LLVMMetadataRef DerivedFrom,LLVMMetadataRef *Elements,unsigned NumElements,LLVMMetadataRef VTableHolder,LLVMMetadataRef TemplateParamsNode,constchar *UniqueIdentifier, size_t UniqueIdentifierLen)
 Create debugging information entry for a class.
 
LLVMMetadataRef LLVMDIBuilderCreateArtificialType (LLVMDIBuilderRef Builder,LLVMMetadataRefType)
 Create a uniqued DIType* clone with FlagArtificial set.
 
constcharLLVMDITypeGetName (LLVMMetadataRef DType, size_t *Length)
 Get the name of this DIType.
 
uint64_t LLVMDITypeGetSizeInBits (LLVMMetadataRef DType)
 Get the size of this DIType in bits.
 
uint64_t LLVMDITypeGetOffsetInBits (LLVMMetadataRef DType)
 Get the offset of this DIType in bits.
 
uint32_t LLVMDITypeGetAlignInBits (LLVMMetadataRef DType)
 Get the alignment of this DIType in bits.
 
unsigned LLVMDITypeGetLine (LLVMMetadataRef DType)
 Get the source line where this DIType is declared.
 
LLVMDIFlags LLVMDITypeGetFlags (LLVMMetadataRef DType)
 Get the flags associated with this DIType.
 
LLVMMetadataRef LLVMDIBuilderGetOrCreateSubrange (LLVMDIBuilderRef Builder, int64_t LowerBound, int64_t Count)
 Create a descriptor for a value range.
 
LLVMMetadataRef LLVMDIBuilderGetOrCreateArray (LLVMDIBuilderRef Builder,LLVMMetadataRef *Data, size_t NumElements)
 Create an array of DI Nodes.
 
LLVMMetadataRef LLVMDIBuilderCreateExpression (LLVMDIBuilderRef Builder,uint64_t *Addr, size_t Length)
 Create a new descriptor for the specified variable which has a complex address expression for its address.
 
LLVMMetadataRef LLVMDIBuilderCreateConstantValueExpression (LLVMDIBuilderRef Builder,uint64_tValue)
 Create a new descriptor for the specified variable that does not have an address, but does have a constant value.
 
LLVMMetadataRef LLVMDIBuilderCreateGlobalVariableExpression (LLVMDIBuilderRef Builder,LLVMMetadataRef Scope,constchar *Name, size_t NameLen,constchar *Linkage, size_t LinkLen,LLVMMetadataRef File,unsigned LineNo,LLVMMetadataRef Ty,LLVMBool LocalToUnit,LLVMMetadataRef Expr,LLVMMetadataRef Decl,uint32_t AlignInBits)
 Create a new descriptor for the specified variable.
 
uint16_t LLVMGetDINodeTag (LLVMMetadataRef MD)
 Get the dwarf::Tag of a DINode.
 
LLVMMetadataRef LLVMDIGlobalVariableExpressionGetVariable (LLVMMetadataRef GVE)
 Retrieves theDIVariable associated with this global variable expression.
 
LLVMMetadataRef LLVMDIGlobalVariableExpressionGetExpression (LLVMMetadataRef GVE)
 Retrieves theDIExpression associated with this global variable expression.
 
LLVMMetadataRef LLVMDIVariableGetFile (LLVMMetadataRef Var)
 Get the metadata of the file associated with a given variable.
 
LLVMMetadataRef LLVMDIVariableGetScope (LLVMMetadataRef Var)
 Get the metadata of the scope associated with a given variable.
 
unsigned LLVMDIVariableGetLine (LLVMMetadataRef Var)
 Get the source line where thisDIVariable is declared.
 
LLVMMetadataRef LLVMTemporaryMDNode (LLVMContextRef Ctx,LLVMMetadataRef *Data, size_t NumElements)
 Create a new temporaryMDNode.
 
void LLVMDisposeTemporaryMDNode (LLVMMetadataRef TempNode)
 Deallocate a temporary node.
 
void LLVMMetadataReplaceAllUsesWith (LLVMMetadataRef TempTargetMetadata,LLVMMetadataRef Replacement)
 Replace all uses of temporary metadata.
 
LLVMMetadataRef LLVMDIBuilderCreateTempGlobalVariableFwdDecl (LLVMDIBuilderRef Builder,LLVMMetadataRef Scope,constchar *Name, size_t NameLen,constchar *Linkage, size_t LnkLen,LLVMMetadataRef File,unsigned LineNo,LLVMMetadataRef Ty,LLVMBool LocalToUnit,LLVMMetadataRef Decl,uint32_t AlignInBits)
 Create a new descriptor for the specified global variable that is temporary and meant to be RAUWed.
 
LLVMDbgRecordRef LLVMDIBuilderInsertDeclareRecordBefore (LLVMDIBuilderRef Builder,LLVMValueRef Storage,LLVMMetadataRef VarInfo,LLVMMetadataRef Expr,LLVMMetadataRefDebugLoc,LLVMValueRef Instr)
 Only use in "new debug format" (LLVMIsNewDbgInfoFormat() is true).
 
LLVMDbgRecordRef LLVMDIBuilderInsertDeclareRecordAtEnd (LLVMDIBuilderRef Builder,LLVMValueRef Storage,LLVMMetadataRef VarInfo,LLVMMetadataRef Expr,LLVMMetadataRefDebugLoc,LLVMBasicBlockRef Block)
 Only use in "new debug format" (LLVMIsNewDbgInfoFormat() is true).
 
LLVMDbgRecordRef LLVMDIBuilderInsertDbgValueRecordBefore (LLVMDIBuilderRef Builder,LLVMValueRef Val,LLVMMetadataRef VarInfo,LLVMMetadataRef Expr,LLVMMetadataRefDebugLoc,LLVMValueRef Instr)
 Only use in "new debug format" (LLVMIsNewDbgInfoFormat() is true).
 
LLVMDbgRecordRef LLVMDIBuilderInsertDbgValueRecordAtEnd (LLVMDIBuilderRef Builder,LLVMValueRef Val,LLVMMetadataRef VarInfo,LLVMMetadataRef Expr,LLVMMetadataRefDebugLoc,LLVMBasicBlockRef Block)
 Only use in "new debug format" (LLVMIsNewDbgInfoFormat() is true).
 
LLVMMetadataRef LLVMDIBuilderCreateAutoVariable (LLVMDIBuilderRef Builder,LLVMMetadataRef Scope,constchar *Name, size_t NameLen,LLVMMetadataRef File,unsigned LineNo,LLVMMetadataRef Ty,LLVMBool AlwaysPreserve,LLVMDIFlags Flags,uint32_t AlignInBits)
 Create a new descriptor for a local auto variable.
 
LLVMMetadataRef LLVMDIBuilderCreateParameterVariable (LLVMDIBuilderRef Builder,LLVMMetadataRef Scope,constchar *Name, size_t NameLen,unsigned ArgNo,LLVMMetadataRef File,unsigned LineNo,LLVMMetadataRef Ty,LLVMBool AlwaysPreserve,LLVMDIFlags Flags)
 Create a new descriptor for a function parameter variable.
 
LLVMMetadataRef LLVMGetSubprogram (LLVMValueRef Func)
 Get the metadata of the subprogram attached to a function.
 
void LLVMSetSubprogram (LLVMValueRef Func,LLVMMetadataRef SP)
 Set the subprogram attached to a function.
 
unsigned LLVMDISubprogramGetLine (LLVMMetadataRef Subprogram)
 Get the line associated with a given subprogram.
 
LLVMMetadataRef LLVMInstructionGetDebugLoc (LLVMValueRef Inst)
 Get the debug location for the given instruction.
 
void LLVMInstructionSetDebugLoc (LLVMValueRef Inst,LLVMMetadataRef Loc)
 Set the debug location for the given instruction.
 
LLVMMetadataRef LLVMDIBuilderCreateLabel (LLVMDIBuilderRef Builder,LLVMMetadataRef Context,constchar *Name, size_t NameLen,LLVMMetadataRef File,unsigned LineNo,LLVMBool AlwaysPreserve)
 Create a new descriptor for a label.
 
LLVMDbgRecordRef LLVMDIBuilderInsertLabelBefore (LLVMDIBuilderRef Builder,LLVMMetadataRef LabelInfo,LLVMMetadataRef Location,LLVMValueRef InsertBefore)
 Insert a new llvm.dbg.label intrinsic call.
 
LLVMDbgRecordRef LLVMDIBuilderInsertLabelAtEnd (LLVMDIBuilderRef Builder,LLVMMetadataRef LabelInfo,LLVMMetadataRef Location,LLVMBasicBlockRef InsertAtEnd)
 Insert a new llvm.dbg.label intrinsic call.
 
LLVMMetadataKind LLVMGetMetadataKind (LLVMMetadataRefMetadata)
 Obtain the enumerated type of a Metadata instance.
 

Detailed Description

This file declares the C API endpoints for generating DWARF Debug Info.

Note: This interface is experimental. It isNOT stable, and may be changed without warning.

Typedef Documentation

◆ LLVMDWARFTypeEncoding

typedefunsignedLLVMDWARFTypeEncoding

An LLVM DWARF type encoding.

Definition at line204 of fileDebugInfo.h.

◆ LLVMMetadataKind

typedefunsignedLLVMMetadataKind

Definition at line199 of fileDebugInfo.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

The kind of metadata nodes.

Enumerator
LLVMMDStringMetadataKind 
LLVMConstantAsMetadataMetadataKind 
LLVMLocalAsMetadataMetadataKind 
LLVMDistinctMDOperandPlaceholderMetadataKind 
LLVMMDTupleMetadataKind 
LLVMDILocationMetadataKind 
LLVMDIExpressionMetadataKind 
LLVMDIGlobalVariableExpressionMetadataKind 
LLVMGenericDINodeMetadataKind 
LLVMDISubrangeMetadataKind 
LLVMDIEnumeratorMetadataKind 
LLVMDIBasicTypeMetadataKind 
LLVMDIDerivedTypeMetadataKind 
LLVMDICompositeTypeMetadataKind 
LLVMDISubroutineTypeMetadataKind 
LLVMDIFileMetadataKind 
LLVMDICompileUnitMetadataKind 
LLVMDISubprogramMetadataKind 
LLVMDILexicalBlockMetadataKind 
LLVMDILexicalBlockFileMetadataKind 
LLVMDINamespaceMetadataKind 
LLVMDIModuleMetadataKind 
LLVMDITemplateTypeParameterMetadataKind 
LLVMDITemplateValueParameterMetadataKind 
LLVMDIGlobalVariableMetadataKind 
LLVMDILocalVariableMetadataKind 
LLVMDILabelMetadataKind 
LLVMDIObjCPropertyMetadataKind 
LLVMDIImportedEntityMetadataKind 
LLVMDIMacroMetadataKind 
LLVMDIMacroFileMetadataKind 
LLVMDICommonBlockMetadataKind 
LLVMDIStringTypeMetadataKind 
LLVMDIGenericSubrangeMetadataKind 
LLVMDIArgListMetadataKind 
LLVMDIAssignIDMetadataKind 

Definition at line161 of fileDebugInfo.h.

◆ LLVMDIFlags

enumLLVMDIFlags

Debug info flags.

Enumerator
LLVMDIFlagZero 
LLVMDIFlagPrivate 
LLVMDIFlagProtected 
LLVMDIFlagPublic 
LLVMDIFlagFwdDecl 
LLVMDIFlagAppleBlock 
LLVMDIFlagReservedBit4 
LLVMDIFlagVirtual 
LLVMDIFlagArtificial 
LLVMDIFlagExplicit 
LLVMDIFlagPrototyped 
LLVMDIFlagObjcClassComplete 
LLVMDIFlagObjectPointer 
LLVMDIFlagVector 
LLVMDIFlagStaticMember 
LLVMDIFlagLValueReference 
LLVMDIFlagRValueReference 
LLVMDIFlagReserved 
LLVMDIFlagSingleInheritance 
LLVMDIFlagMultipleInheritance 
LLVMDIFlagVirtualInheritance 
LLVMDIFlagIntroducedVirtual 
LLVMDIFlagBitField 
LLVMDIFlagNoReturn 
LLVMDIFlagTypePassByValue 
LLVMDIFlagTypePassByReference 
LLVMDIFlagEnumClass 
LLVMDIFlagFixedEnum 
LLVMDIFlagThunk 
LLVMDIFlagNonTrivial 
LLVMDIFlagBigEndian 
LLVMDIFlagLittleEndian 
LLVMDIFlagIndirectVirtualBase 
LLVMDIFlagAccessibility 
LLVMDIFlagPtrToMemberRep 

Definition at line34 of fileDebugInfo.h.

◆ LLVMDWARFEmissionKind

enumLLVMDWARFEmissionKind

The amount of debug information to emit.

Enumerator
LLVMDWARFEmissionNone 
LLVMDWARFEmissionFull 
LLVMDWARFEmissionLineTablesOnly 

Definition at line152 of fileDebugInfo.h.

◆ LLVMDWARFMacinfoRecordType

enumLLVMDWARFMacinfoRecordType

Describes the kind of macro declaration used for LLVMDIBuilderCreateMacro.

See also
llvm::dwarf::MacinfoRecordType
Note
Values are from DW_MACINFO_* constants in the DWARF specification.
Enumerator
LLVMDWARFMacinfoRecordTypeDefine 
LLVMDWARFMacinfoRecordTypeMacro 
LLVMDWARFMacinfoRecordTypeStartFile 
LLVMDWARFMacinfoRecordTypeEndFile 
LLVMDWARFMacinfoRecordTypeVendorExt 

Definition at line211 of fileDebugInfo.h.

◆ LLVMDWARFSourceLanguage

enumLLVMDWARFSourceLanguage

Source languages known by DWARF.

Enumerator
LLVMDWARFSourceLanguageC89 
LLVMDWARFSourceLanguageC 
LLVMDWARFSourceLanguageAda83 
LLVMDWARFSourceLanguageC_plus_plus 
LLVMDWARFSourceLanguageCobol74 
LLVMDWARFSourceLanguageCobol85 
LLVMDWARFSourceLanguageFortran77 
LLVMDWARFSourceLanguageFortran90 
LLVMDWARFSourceLanguagePascal83 
LLVMDWARFSourceLanguageModula2 
LLVMDWARFSourceLanguageJava 
LLVMDWARFSourceLanguageC99 
LLVMDWARFSourceLanguageAda95 
LLVMDWARFSourceLanguageFortran95 
LLVMDWARFSourceLanguagePLI 
LLVMDWARFSourceLanguageObjC 
LLVMDWARFSourceLanguageObjC_plus_plus 
LLVMDWARFSourceLanguageUPC 
LLVMDWARFSourceLanguageD 
LLVMDWARFSourceLanguagePython 
LLVMDWARFSourceLanguageOpenCL 
LLVMDWARFSourceLanguageGo 
LLVMDWARFSourceLanguageModula3 
LLVMDWARFSourceLanguageHaskell 
LLVMDWARFSourceLanguageC_plus_plus_03 
LLVMDWARFSourceLanguageC_plus_plus_11 
LLVMDWARFSourceLanguageOCaml 
LLVMDWARFSourceLanguageRust 
LLVMDWARFSourceLanguageC11 
LLVMDWARFSourceLanguageSwift 
LLVMDWARFSourceLanguageJulia 
LLVMDWARFSourceLanguageDylan 
LLVMDWARFSourceLanguageC_plus_plus_14 
LLVMDWARFSourceLanguageFortran03 
LLVMDWARFSourceLanguageFortran08 
LLVMDWARFSourceLanguageRenderScript 
LLVMDWARFSourceLanguageBLISS 
LLVMDWARFSourceLanguageKotlin 
LLVMDWARFSourceLanguageZig 
LLVMDWARFSourceLanguageCrystal 
LLVMDWARFSourceLanguageC_plus_plus_17 
LLVMDWARFSourceLanguageC_plus_plus_20 
LLVMDWARFSourceLanguageC17 
LLVMDWARFSourceLanguageFortran18 
LLVMDWARFSourceLanguageAda2005 
LLVMDWARFSourceLanguageAda2012 
LLVMDWARFSourceLanguageHIP 
LLVMDWARFSourceLanguageAssembly 
LLVMDWARFSourceLanguageC_sharp 
LLVMDWARFSourceLanguageMojo 
LLVMDWARFSourceLanguageGLSL 
LLVMDWARFSourceLanguageGLSL_ES 
LLVMDWARFSourceLanguageHLSL 
LLVMDWARFSourceLanguageOpenCL_CPP 
LLVMDWARFSourceLanguageCPP_for_OpenCL 
LLVMDWARFSourceLanguageSYCL 
LLVMDWARFSourceLanguageRuby 
LLVMDWARFSourceLanguageMove 
LLVMDWARFSourceLanguageHylo 
LLVMDWARFSourceLanguageMetal 
LLVMDWARFSourceLanguageMips_Assembler 
LLVMDWARFSourceLanguageGOOGLE_RenderScript 
LLVMDWARFSourceLanguageBORLAND_Delphi 

Definition at line78 of fileDebugInfo.h.

Function Documentation

◆ LLVMCreateDIBuilder()

LLVMDIBuilderRef LLVMCreateDIBuilder(LLVMModuleRef M)

Construct a builder for a module and collect unresolved nodes attached to the module in order to resolve cycles during a call toLLVMDIBuilderFinalize.

Definition at line1061 of fileDebugInfo.cpp.

Referencesllvm::unwrap(), andllvm::wrap().

◆ LLVMCreateDIBuilderDisallowUnresolved()

LLVMDIBuilderRef LLVMCreateDIBuilderDisallowUnresolved(LLVMModuleRef M)

Construct a builder for a module, and do not allow for unresolved nodes attached to the module.

Definition at line1057 of fileDebugInfo.cpp.

Referencesllvm::unwrap(), andllvm::wrap().

◆ LLVMDebugMetadataVersion()

unsigned LLVMDebugMetadataVersion(void )

The current debug metadata version number.

Definition at line1053 of fileDebugInfo.cpp.

Referencesllvm::DEBUG_METADATA_VERSION.

◆ LLVMDIBuilderCreateArrayType()

LLVMMetadataRef LLVMDIBuilderCreateArrayType(LLVMDIBuilderRef Builder,
uint64_t Size,
uint32_t AlignInBits,
LLVMMetadataRef Ty,
LLVMMetadataRefSubscripts,
unsigned NumSubscripts 
)

Create debugging information entry for an array.

Parameters
BuilderThe DIBuilder.
SizeArray size.
AlignInBitsAlignment.
TyElement type.
SubscriptsSubscripts.
NumSubscriptsNumber of subscripts.

Definition at line1324 of fileDebugInfo.cpp.

ReferencesSize,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateArtificialType()

LLVMMetadataRef LLVMDIBuilderCreateArtificialType(LLVMDIBuilderRef Builder,
LLVMMetadataRef Type 
)

Create a uniqued DIType* clone with FlagArtificial set.

Parameters
BuilderThe DIBuilder.
TypeThe underlying type.

Definition at line1556 of fileDebugInfo.cpp.

Referencesllvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateAutoVariable()

LLVMMetadataRef LLVMDIBuilderCreateAutoVariable(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
constcharName,
size_t NameLen,
LLVMMetadataRef File,
unsigned LineNo,
LLVMMetadataRef Ty,
LLVMBool AlwaysPreserve,
LLVMDIFlags Flags,
uint32_t AlignInBits 
)

Create a new descriptor for a local auto variable.

Parameters
BuilderThe DIBuilder.
ScopeThe local scope the variable is declared in.
NameVariable name.
NameLenLength of variable name.
FileFile where this variable is defined.
LineNoLine number.
TyMetadata describing the type of the variable.
AlwaysPreserveIf true, this descriptor will survive optimizations.
FlagsFlags.
AlignInBitsVariable alignment.

Definition at line1748 of fileDebugInfo.cpp.

Referencesmap_from_llvmDIFlags(),Name,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateBasicType()

LLVMMetadataRef LLVMDIBuilderCreateBasicType(LLVMDIBuilderRef Builder,
constcharName,
size_t NameLen,
uint64_t SizeInBits,
LLVMDWARFTypeEncoding Encoding,
LLVMDIFlags Flags 
)

Create debugging information entry for a basic type.

Parameters
BuilderThe DIBuilder.
NameType name.
NameLenLength of type name.
SizeInBitsSize of the type.
EncodingDWARF encoding code, e.g.LLVMDWARFTypeEncoding_float.
FlagsFlags to encode optional attribute like endianity

Definition at line1346 of fileDebugInfo.cpp.

Referencesmap_from_llvmDIFlags(),Name,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateBitFieldMemberType()

LLVMMetadataRef LLVMDIBuilderCreateBitFieldMemberType(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
constcharName,
size_t NameLen,
LLVMMetadataRef File,
unsigned LineNumber,
uint64_t SizeInBits,
uint64_t OffsetInBits,
uint64_t StorageOffsetInBits,
LLVMDIFlags Flags,
LLVMMetadataRef Type 
)

Create debugging information entry for a bit field member.

Parameters
BuilderThe DIBuilder.
ScopeMember scope.
NameMember name.
NameLenLength of member name.
FileFile where this member is defined.
LineNumberLine number.
SizeInBitsMember size.
OffsetInBitsMember offset.
StorageOffsetInBitsMember storage offset.
FlagsFlags to encode member attribute.
TypeParent type.

Definition at line1521 of fileDebugInfo.cpp.

Referencesmap_from_llvmDIFlags(),Name,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateClassType()

LLVMMetadataRef LLVMDIBuilderCreateClassType(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
constcharName,
size_t NameLen,
LLVMMetadataRef File,
unsigned LineNumber,
uint64_t SizeInBits,
uint32_t AlignInBits,
uint64_t OffsetInBits,
LLVMDIFlags Flags,
LLVMMetadataRef DerivedFrom,
LLVMMetadataRefElements,
unsigned NumElements,
LLVMMetadataRef VTableHolder,
LLVMMetadataRef TemplateParamsNode,
constcharUniqueIdentifier,
size_t UniqueIdentifierLen 
)

Create debugging information entry for a class.

Parameters
ScopeScope in which this class is defined.
NameClass name.
NameLenThe length of the C string passed toName.
FileFile where this member is defined.
LineNumberLine number.
SizeInBitsMember size.
AlignInBitsMember alignment.
OffsetInBitsMember offset.
FlagsFlags to encode member attribute, e.g. private.
DerivedFromDebug info of the base class of this type.
ElementsClass members.
NumElementsNumber of class elements.
VTableHolderDebug info of the base class that contains vtable for this type. This is used in DW_AT_containing_type. See DWARF documentation for more info.
TemplateParamsNodeTemplate type parameters.
UniqueIdentifierA unique identifier for the type.
UniqueIdentifierLenLength of the unique identifier.

Definition at line1536 of fileDebugInfo.cpp.

Referencesmap_from_llvmDIFlags(),Name,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateCompileUnit()

LLVMMetadataRef LLVMDIBuilderCreateCompileUnit(LLVMDIBuilderRef Builder,
LLVMDWARFSourceLanguage Lang,
LLVMMetadataRef FileRef,
constcharProducer,
size_t ProducerLen,
LLVMBool isOptimized,
constcharFlags,
size_t FlagsLen,
unsigned RuntimeVer,
constcharSplitName,
size_t SplitNameLen,
LLVMDWARFEmissionKind Kind,
unsigned DWOId,
LLVMBool SplitDebugInlining,
LLVMBool DebugInfoForProfiling,
constcharSysRoot,
size_t SysRootLen,
constcharSDK,
size_t SDKLen 
)

A CompileUnit provides an anchor for all debugging information generated during this instance of compilation.

Parameters
LangSource programming language, eg.LLVMDWARFSourceLanguageC99
FileRefFile info.
ProducerIdentify the producer of debugging information and code. Usually this is a compiler version string.
ProducerLenThe length of the C string passed toProducer.
isOptimizedA boolean flag which indicates whether optimization is enabled or not.
FlagsThis string lists command line options. This string is directly embedded in debug info output which may be used by a tool analyzing generated debugging information.
FlagsLenThe length of the C string passed toFlags.
RuntimeVerThis indicates runtime version for languages like Objective-C.
SplitNameThe name of the file that we'll split debug info out into.
SplitNameLenThe length of the C string passed toSplitName.
KindThe kind of debug information to generate.
DWOIdThe DWOId if this is a split skeleton compile unit.
SplitDebugInliningWhether to emit inline debug info.
DebugInfoForProfilingWhether to emit extra debug info for profile collection.
SysRootThe Clang system root (value of -isysroot).
SysRootLenThe length of the C string passed toSysRoot.
SDKThe SDK. On Darwin, the last component of the sysroot.
SDKLenThe length of the C string passed toSDK.

Definition at line1086 of fileDebugInfo.cpp.

Referencesllvm::DICompileUnit::Default,map_from_llvmDWARFsourcelanguage(),llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateConstantValueExpression()

LLVMMetadataRef LLVMDIBuilderCreateConstantValueExpression(LLVMDIBuilderRef Builder,
uint64_t Value 
)

Create a new descriptor for the specified variable that does not have an address, but does have a constant value.

Parameters
BuilderThe DIBuilder.
ValueThe constant value.

Definition at line1617 of fileDebugInfo.cpp.

Referencesllvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateDebugLocation()

LLVMMetadataRef LLVMDIBuilderCreateDebugLocation(LLVMContextRef Ctx,
unsigned Line,
unsigned Column,
LLVMMetadataRef Scope,
LLVMMetadataRef InlinedAt 
)

Creates a new DebugLocation that describes a source location.

Parameters
LineThe line in the source file.
ColumnThe column in the source file.
ScopeThe scope in which the location resides.
InlinedAtThe scope where this location was inlined, if at all. (optional).
Note
If the item to which this location is attached cannot be attributed to a source line, pass 0 for the line and column.

Definition at line1220 of fileDebugInfo.cpp.

Referencesllvm::MDNode::get(),llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateEnumerationType()

LLVMMetadataRef LLVMDIBuilderCreateEnumerationType(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
constcharName,
size_t NameLen,
LLVMMetadataRef File,
unsigned LineNumber,
uint64_t SizeInBits,
uint32_t AlignInBits,
LLVMMetadataRefElements,
unsigned NumElements,
LLVMMetadataRef ClassTy 
)

Create debugging information entry for an enumeration.

Parameters
BuilderThe DIBuilder.
ScopeScope in which this enumeration is defined.
NameEnumeration name.
NameLenLength of enumeration name.
FileFile where this member is defined.
LineNumberLine number.
SizeInBitsMember size.
AlignInBitsMember alignment.
ElementsEnumeration elements.
NumElementsNumber of enumeration elements.
ClassTyUnderlying type of a C++11/ObjC fixed enum.

Definition at line1296 of fileDebugInfo.cpp.

ReferencesName,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateEnumerator()

LLVMMetadataRef LLVMDIBuilderCreateEnumerator(LLVMDIBuilderRef Builder,
constcharName,
size_t NameLen,
int64_t Value,
LLVMBool IsUnsigned 
)

Create debugging information entry for an enumerator.

Parameters
BuilderThe DIBuilder.
NameEnumerator name.
NameLenLength of enumerator name.
ValueEnumerator value.
IsUnsignedTrue if the value is unsigned.

Definition at line1288 of fileDebugInfo.cpp.

ReferencesName,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateExpression()

LLVMMetadataRef LLVMDIBuilderCreateExpression(LLVMDIBuilderRef Builder,
uint64_tAddr,
size_t Length 
)

Create a new descriptor for the specified variable which has a complex address expression for its address.

Parameters
BuilderThe DIBuilder.
AddrAn array of complex address operations.
LengthLength of the address operation array.

Definition at line1610 of fileDebugInfo.cpp.

ReferencesAddr,llvm::Length,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateFile()

LLVMMetadataRef LLVMDIBuilderCreateFile(LLVMDIBuilderRef Builder,
constcharFilename,
size_t FilenameLen,
constcharDirectory,
size_t DirectoryLen 
)

Create a file descriptor to hold debugging information for a file.

Parameters
BuilderTheDIBuilder.
FilenameFile name.
FilenameLenThe length of the C string passed toFilename.
DirectoryDirectory.
DirectoryLenThe length of the C string passed toDirectory.

Definition at line1107 of fileDebugInfo.cpp.

Referencesllvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateForwardDecl()

LLVMMetadataRef LLVMDIBuilderCreateForwardDecl(LLVMDIBuilderRef Builder,
unsigned Tag,
constcharName,
size_t NameLen,
LLVMMetadataRef Scope,
LLVMMetadataRef File,
unsigned Line,
unsigned RuntimeLang,
uint64_t SizeInBits,
uint32_t AlignInBits,
constcharUniqueIdentifier,
size_t UniqueIdentifierLen 
)

Create a permanent forward-declared type.

Parameters
BuilderThe DIBuilder.
TagA unique tag for this type.
NameType name.
NameLenLength of type name.
ScopeType scope.
FileFile where this type is defined.
LineLine number where this type is defined.
RuntimeLangIndicates runtime version for languages like Objective-C.
SizeInBitsMember size.
AlignInBitsMember alignment.
UniqueIdentifierA unique identifier for the type.
UniqueIdentifierLenLength of the unique identifier.

Definition at line1463 of fileDebugInfo.cpp.

ReferencesName,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateFunction()

LLVMMetadataRef LLVMDIBuilderCreateFunction(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
constcharName,
size_t NameLen,
constcharLinkageName,
size_t LinkageNameLen,
LLVMMetadataRef File,
unsigned LineNo,
LLVMMetadataRef Ty,
LLVMBool IsLocalToUnit,
LLVMBool IsDefinition,
unsigned ScopeLine,
LLVMDIFlags Flags,
LLVMBool IsOptimized 
)

Create a new descriptor for the specified subprogram.

Parameters
BuilderTheDIBuilder.
ScopeFunction scope.
NameFunction name.
NameLenLength of enumeration name.
LinkageNameMangled function name.
LinkageNameLenLength of linkage name.
FileFile where this variable is defined.
LineNoLine number.
TyFunction type.
IsLocalToUnitTrue if this function is not externally visible.
IsDefinitionTrue if this is a function definition.
ScopeLineSet to the beginning of the scope this starts
FlagsE.g.:LLVMDIFlagLValueReference. These flags are used to emit dwarf attributes.
IsOptimizedTrue if optimization is ON.

Definition at line1135 of fileDebugInfo.cpp.

Referencesllvm::LinkageName,map_from_llvmDIFlags(),Name,pack_into_DISPFlags(),llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateGlobalVariableExpression()

LLVMMetadataRef LLVMDIBuilderCreateGlobalVariableExpression(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
constcharName,
size_t NameLen,
constcharLinkage,
size_t LinkLen,
LLVMMetadataRef File,
unsigned LineNo,
LLVMMetadataRef Ty,
LLVMBool LocalToUnit,
LLVMMetadataRef Expr,
LLVMMetadataRef Decl,
uint32_t AlignInBits 
)

Create a new descriptor for the specified variable.

Parameters
ScopeVariable scope.
NameName of the variable.
NameLenThe length of the C string passed toName.
LinkageMangled name of the variable.
LinkLenThe length of the C string passed toLinkage.
FileFile where this variable is defined.
LineNoLine number.
TyVariable Type.
LocalToUnitBoolean flag indicate whether this variable is externally visible or not.
ExprThe location of the global relative to the attached GlobalVariable.
DeclReference to the corresponding declaration. variables.
AlignInBitsVariable alignment(or 0 if no alignment attr was specified)

Definition at line1622 of fileDebugInfo.cpp.

ReferencesName,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateImportedDeclaration()

LLVMMetadataRef LLVMDIBuilderCreateImportedDeclaration(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
LLVMMetadataRef Decl,
LLVMMetadataRef File,
unsigned Line,
constcharName,
size_t NameLen,
LLVMMetadataRefElements,
unsigned NumElements 
)

Create a descriptor for an imported function, type, or variable.

Suitable for e.g. FORTRAN-style USE declarations.

Parameters
BuilderThe DIBuilder.
ScopeThe scope this module is imported into.
DeclThe declaration (or definition) of a function, type, or variable.
FileFile where the declaration is located.
LineLine number of the declaration.
NameA name that uniquely identifies this imported declaration.
NameLenThe length of the C string passed toName.
ElementsRenamed elements.
NumElementsNumber of renamed elements.

Definition at line1206 of fileDebugInfo.cpp.

ReferencesName,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateImportedModuleFromAlias()

LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromAlias(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
LLVMMetadataRef ImportedEntity,
LLVMMetadataRef File,
unsigned Line,
LLVMMetadataRefElements,
unsigned NumElements 
)

Create a descriptor for an imported module that aliases another imported entity descriptor.

Parameters
BuilderTheDIBuilder.
ScopeThe scope this module is imported into
ImportedEntityPrevious imported entity to alias.
FileFile where the declaration is located.
LineLine number of the declaration.
ElementsRenamed elements.
NumElementsNumber of renamed elements.

Definition at line1180 of fileDebugInfo.cpp.

ReferencescreateImportedModule(),llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateImportedModuleFromModule()

LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromModule(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
LLVMMetadataRef M,
LLVMMetadataRef File,
unsigned Line,
LLVMMetadataRefElements,
unsigned NumElements 
)

Create a descriptor for an imported module.

Parameters
BuilderTheDIBuilder.
ScopeThe scope this module is imported into
MThe module being imported here
FileFile where the declaration is located.
LineLine number of the declaration.
ElementsRenamed elements.
NumElementsNumber of renamed elements.

Definition at line1193 of fileDebugInfo.cpp.

ReferencescreateImportedModule(),llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateImportedModuleFromNamespace()

LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromNamespace(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
LLVMMetadataRef NS,
LLVMMetadataRef File,
unsigned Line 
)

Create a descriptor for an imported namespace.

Suitable for e.g. C++ using declarations.

Parameters
BuilderTheDIBuilder.
ScopeThe scope this module is imported into
FileFile where the declaration is located.
LineLine number of the declaration.

Definition at line1169 of fileDebugInfo.cpp.

ReferencescreateImportedModule(),llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateInheritance()

LLVMMetadataRef LLVMDIBuilderCreateInheritance(LLVMDIBuilderRef Builder,
LLVMMetadataRef Ty,
LLVMMetadataRef BaseTy,
uint64_t BaseOffset,
uint32_t VBPtrOffset,
LLVMDIFlags Flags 
)

Create debugging information entry to establish inheritance relationship between two types.

Parameters
BuilderThe DIBuilder.
TyOriginal type.
BaseTyBase type. Ty is inherits from base.
BaseOffsetBase offset.
VBPtrOffsetVirtual base pointer offset.
FlagsFlags to describe inheritance attribute, e.g. private

Definition at line1453 of fileDebugInfo.cpp.

Referencesmap_from_llvmDIFlags(),llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateLabel()

LLVMMetadataRef LLVMDIBuilderCreateLabel(LLVMDIBuilderRef Builder,
LLVMMetadataRef Context,
constcharName,
size_t NameLen,
LLVMMetadataRef File,
unsigned LineNo,
LLVMBool AlwaysPreserve 
)

Create a new descriptor for a label.

Parameters
BuilderThe DIBuilder.
ScopeThe scope to create the label in.
NameVariable name.
NameLenLength of variable name.
FileThe file to create the label in.
LineNoLine Number.
AlwaysPreservePreserve the label regardless of optimization.
See also
llvm::DIBuilder::createLabel()

Definition at line1803 of fileDebugInfo.cpp.

ReferencesName,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateLexicalBlock()

LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
LLVMMetadataRef File,
unsigned Line,
unsigned Column 
)

Create a descriptor for a lexical block with the specified parent context.

Parameters
BuilderTheDIBuilder.
ScopeParent lexical block.
FileSource file.
LineThe line in the source file.
ColumnThe column in the source file.

Definition at line1150 of fileDebugInfo.cpp.

Referencesllvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateLexicalBlockFile()

LLVMMetadataRef LLVMDIBuilderCreateLexicalBlockFile(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
LLVMMetadataRef File,
unsigned Discriminator 
)

Create a descriptor for a lexical block with a new file attached.

Parameters
BuilderTheDIBuilder.
ScopeLexical block.
FileSource file.
DiscriminatorDWARF path discriminator value.

Definition at line1159 of fileDebugInfo.cpp.

Referencesllvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateMacro()

LLVMMetadataRef LLVMDIBuilderCreateMacro(LLVMDIBuilderRef Builder,
LLVMMetadataRef ParentMacroFile,
unsigned Line,
LLVMDWARFMacinfoRecordType RecordType,
constcharName,
size_t NameLen,
constcharValue,
size_t ValueLen 
)

Create debugging information entry for a macro.

Parameters
BuilderThe DIBuilder.
ParentMacroFileMacro parent (could be NULL).
LineSource line number where the macro is defined.
RecordTypeDW_MACINFO_define or DW_MACINFO_undef.
NameMacro name.
NameLenMacro name length.
ValueMacro value.
ValueLenMacro value length.

Definition at line1268 of fileDebugInfo.cpp.

ReferencesName,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateMemberPointerType()

LLVMMetadataRef LLVMDIBuilderCreateMemberPointerType(LLVMDIBuilderRef Builder,
LLVMMetadataRef PointeeType,
LLVMMetadataRef ClassType,
uint64_t SizeInBits,
uint32_t AlignInBits,
LLVMDIFlags Flags 
)

Create debugging information entry for a pointer to member.

Parameters
BuilderThe DIBuilder.
PointeeTypeType pointed to by this pointer.
ClassTypeType for which this pointer points to members of.
SizeInBitsSize.
AlignInBitsAlignment.
FlagsFlags.

Definition at line1508 of fileDebugInfo.cpp.

Referencesmap_from_llvmDIFlags(),llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateMemberType()

LLVMMetadataRef LLVMDIBuilderCreateMemberType(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
constcharName,
size_t NameLen,
LLVMMetadataRef File,
unsigned LineNo,
uint64_t SizeInBits,
uint32_t AlignInBits,
uint64_t OffsetInBits,
LLVMDIFlags Flags,
LLVMMetadataRef Ty 
)

Create debugging information entry for a member.

Parameters
BuilderThe DIBuilder.
ScopeMember scope.
NameMember name.
NameLenLength of member name.
FileFile where this member is defined.
LineNoLine number.
SizeInBitsMember size.
AlignInBitsMember alignment.
OffsetInBitsMember offset.
FlagsFlags to encode member attribute, e.g. private
TyParent type.

Definition at line1380 of fileDebugInfo.cpp.

Referencesmap_from_llvmDIFlags(),Name,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateModule()

LLVMMetadataRef LLVMDIBuilderCreateModule(LLVMDIBuilderRef Builder,
LLVMMetadataRef ParentScope,
constcharName,
size_t NameLen,
constcharConfigMacros,
size_t ConfigMacrosLen,
constcharIncludePath,
size_t IncludePathLen,
constcharAPINotesFile,
size_t APINotesFileLen 
)

Creates a new descriptor for a module with the specified parent scope.

Parameters
BuilderTheDIBuilder.
ParentScopeThe parent scope containing this module declaration.
NameModule name.
NameLenThe length of the C string passed toName.
ConfigMacrosA space-separated shell-quoted list of -D macro definitions as they would appear on a command line.
ConfigMacrosLenThe length of the C string passed toConfigMacros.
IncludePathThe path to the module map file.
IncludePathLenThe length of the C string passed toIncludePath.
APINotesFileThe path to an API notes file for the module.
APINotesFileLenThe length of the C string passed toAPINotestFile.

Definition at line1115 of fileDebugInfo.cpp.

ReferencesName,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateNameSpace()

LLVMMetadataRef LLVMDIBuilderCreateNameSpace(LLVMDIBuilderRef Builder,
LLVMMetadataRef ParentScope,
constcharName,
size_t NameLen,
LLVMBool ExportSymbols 
)

Creates a new descriptor for a namespace with the specified parent scope.

Parameters
BuilderTheDIBuilder.
ParentScopeThe parent scope containing this module declaration.
NameNameSpace name.
NameLenThe length of the C string passed toName.
ExportSymbolsWhether or not the namespace exports symbols, e.g. this is true of C++ inline namespaces.

Definition at line1127 of fileDebugInfo.cpp.

ReferencesName,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateNullPtrType()

LLVMMetadataRef LLVMDIBuilderCreateNullPtrType(LLVMDIBuilderRef Builder)

Create C++11 nullptr type.

Parameters
BuilderThe DIBuilder.

Definition at line1503 of fileDebugInfo.cpp.

Referencesllvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateObjCIVar()

LLVMMetadataRef LLVMDIBuilderCreateObjCIVar(LLVMDIBuilderRef Builder,
constcharName,
size_t NameLen,
LLVMMetadataRef File,
unsigned LineNo,
uint64_t SizeInBits,
uint32_t AlignInBits,
uint64_t OffsetInBits,
LLVMDIFlags Flags,
LLVMMetadataRef Ty,
LLVMMetadataRef PropertyNode 
)

Create debugging information entry for Objective-C instance variable.

Parameters
BuilderThe DIBuilder.
NameMember name.
NameLenThe length of the C string passed toName.
FileFile where this member is defined.
LineNoLine number.
SizeInBitsMember size.
AlignInBitsMember alignment.
OffsetInBitsMember offset.
FlagsFlags to encode member attribute, e.g. private
TyParent type.
PropertyNodeProperty associated with this ivar.

Definition at line1408 of fileDebugInfo.cpp.

Referencesmap_from_llvmDIFlags(),Name,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateObjCProperty()

LLVMMetadataRef LLVMDIBuilderCreateObjCProperty(LLVMDIBuilderRef Builder,
constcharName,
size_t NameLen,
LLVMMetadataRef File,
unsigned LineNo,
constcharGetterName,
size_t GetterNameLen,
constcharSetterName,
size_t SetterNameLen,
unsigned PropertyAttributes,
LLVMMetadataRef Ty 
)

Create debugging information entry for Objective-C property.

Parameters
BuilderThe DIBuilder.
NameProperty name.
NameLenThe length of the C string passed toName.
FileFile where this property is defined.
LineNoLine number.
GetterNameName of the Objective C property getter selector.
GetterNameLenThe length of the C string passed toGetterName.
SetterNameName of the Objective C property setter selector.
SetterNameLenThe length of the C string passed toSetterName.
PropertyAttributesObjective C property attributes.
TyType.

Definition at line1422 of fileDebugInfo.cpp.

ReferencesName,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateObjectPointerType()

LLVMMetadataRef LLVMDIBuilderCreateObjectPointerType(LLVMDIBuilderRef Builder,
LLVMMetadataRef Type,
LLVMBool Implicit 
)

Create a uniqued DIType* clone with FlagObjectPointer.

IfImplicit is true, then also set FlagArtificial.

Parameters
BuilderThe DIBuilder.
TypeThe underlying type to which this pointer points.
ImplicitIndicates whether this pointer was implicitly generated (i.e., not spelled out in source).

Definition at line1435 of fileDebugInfo.cpp.

Referencesllvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateParameterVariable()

LLVMMetadataRef LLVMDIBuilderCreateParameterVariable(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
constcharName,
size_t NameLen,
unsigned ArgNo,
LLVMMetadataRef File,
unsigned LineNo,
LLVMMetadataRef Ty,
LLVMBool AlwaysPreserve,
LLVMDIFlags Flags 
)

Create a new descriptor for a function parameter variable.

Parameters
BuilderThe DIBuilder.
ScopeThe local scope the variable is declared in.
NameVariable name.
NameLenLength of variable name.
ArgNoUnique argument number for this variable; starts at 1.
FileFile where this variable is defined.
LineNoLine number.
TyMetadata describing the type of the variable.
AlwaysPreserveIf true, this descriptor will survive optimizations.
FlagsFlags.

Definition at line1758 of fileDebugInfo.cpp.

Referencesmap_from_llvmDIFlags(),Name,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreatePointerType()

LLVMMetadataRef LLVMDIBuilderCreatePointerType(LLVMDIBuilderRef Builder,
LLVMMetadataRef PointeeTy,
uint64_t SizeInBits,
uint32_t AlignInBits,
unsigned AddressSpace,
constcharName,
size_t NameLen 
)

Create debugging information entry for a pointer.

Parameters
BuilderThe DIBuilder.
PointeeTyType pointed by this pointer.
SizeInBitsSize.
AlignInBitsAlignment. (optional, pass 0 to ignore)
AddressSpaceDWARF address space. (optional, pass 0 to ignore)
NamePointer type name. (optional)
NameLenLength of pointer type name. (optional)

Definition at line1355 of fileDebugInfo.cpp.

ReferencesName,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateQualifiedType()

LLVMMetadataRef LLVMDIBuilderCreateQualifiedType(LLVMDIBuilderRef Builder,
unsigned Tag,
LLVMMetadataRef Type 
)

Create debugging information entry for a qualified type, e.g.

'const int'.

Parameters
BuilderThe DIBuilder.
TagTag identifying type, e.g. LLVMDWARFTypeQualifier_volatile_type
TypeBase Type.

Definition at line1489 of fileDebugInfo.cpp.

Referencesllvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateReferenceType()

LLVMMetadataRef LLVMDIBuilderCreateReferenceType(LLVMDIBuilderRef Builder,
unsigned Tag,
LLVMMetadataRef Type 
)

Create debugging information entry for a c++ style reference or rvalue reference type.

Parameters
BuilderThe DIBuilder.
TagTag identifying type,
TypeBase Type.

Definition at line1496 of fileDebugInfo.cpp.

Referencesllvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateReplaceableCompositeType()

LLVMMetadataRef LLVMDIBuilderCreateReplaceableCompositeType(LLVMDIBuilderRef Builder,
unsigned Tag,
constcharName,
size_t NameLen,
LLVMMetadataRef Scope,
LLVMMetadataRef File,
unsigned Line,
unsigned RuntimeLang,
uint64_t SizeInBits,
uint32_t AlignInBits,
LLVMDIFlags Flags,
constcharUniqueIdentifier,
size_t UniqueIdentifierLen 
)

Create a temporary forward-declared type.

Parameters
BuilderThe DIBuilder.
TagA unique tag for this type.
NameType name.
NameLenLength of type name.
ScopeType scope.
FileFile where this type is defined.
LineLine number where this type is defined.
RuntimeLangIndicates runtime version for languages like Objective-C.
SizeInBitsMember size.
AlignInBitsMember alignment.
FlagsFlags.
UniqueIdentifierA unique identifier for the type.
UniqueIdentifierLenLength of the unique identifier.

Definition at line1475 of fileDebugInfo.cpp.

Referencesmap_from_llvmDIFlags(),Name,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateStaticMemberType()

LLVMMetadataRef LLVMDIBuilderCreateStaticMemberType(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
constcharName,
size_t NameLen,
LLVMMetadataRef File,
unsigned LineNumber,
LLVMMetadataRef Type,
LLVMDIFlags Flags,
LLVMValueRef ConstantVal,
uint32_t AlignInBits 
)

Create debugging information entry for a C++ static data member.

Parameters
BuilderThe DIBuilder.
ScopeMember scope.
NameMember name.
NameLenLength of member name.
FileFile where this member is declared.
LineNumberLine number.
TypeType of the static member.
FlagsFlags to encode member attribute, e.g. private.
ConstantValConst initializer of the member.
AlignInBitsMember alignment.

Definition at line1396 of fileDebugInfo.cpp.

Referencesmap_from_llvmDIFlags(),Name,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateStructType()

LLVMMetadataRef LLVMDIBuilderCreateStructType(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
constcharName,
size_t NameLen,
LLVMMetadataRef File,
unsigned LineNumber,
uint64_t SizeInBits,
uint32_t AlignInBits,
LLVMDIFlags Flags,
LLVMMetadataRef DerivedFrom,
LLVMMetadataRefElements,
unsigned NumElements,
unsigned RunTimeLang,
LLVMMetadataRef VTableHolder,
constcharUniqueId,
size_t UniqueIdLen 
)

Create debugging information entry for a struct.

Parameters
BuilderThe DIBuilder.
ScopeScope in which this struct is defined.
NameStruct name.
NameLenStruct name length.
FileFile where this member is defined.
LineNumberLine number.
SizeInBitsMember size.
AlignInBitsMember alignment.
FlagsFlags to encode member attribute, e.g. private
ElementsStruct elements.
NumElementsNumber of struct elements.
RunTimeLangOptional parameter, Objective-C runtime version.
VTableHolderThe object containing the vtable for the struct.
UniqueIdA unique identifier for the struct.
UniqueIdLenLength of the unique identifier for the struct.

Definition at line1364 of fileDebugInfo.cpp.

Referencesmap_from_llvmDIFlags(),Name,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateSubroutineType()

LLVMMetadataRef LLVMDIBuilderCreateSubroutineType(LLVMDIBuilderRef Builder,
LLVMMetadataRef File,
LLVMMetadataRefParameterTypes,
unsigned NumParameterTypes,
LLVMDIFlags Flags 
)

Create subroutine type.

Parameters
BuilderThe DIBuilder.
FileThe file in which the subroutine resides.
ParameterTypesAn array of subroutine parameter types. This includes return type at 0th index.
NumParameterTypesThe number of parameter types inParameterTypes
FlagsE.g.:LLVMDIFlagLValueReference. These flags are used to emit dwarf attributes.

Definition at line1599 of fileDebugInfo.cpp.

Referencesmap_from_llvmDIFlags(),llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateTempGlobalVariableFwdDecl()

LLVMMetadataRef LLVMDIBuilderCreateTempGlobalVariableFwdDecl(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
constcharName,
size_t NameLen,
constcharLinkage,
size_t LnkLen,
LLVMMetadataRef File,
unsigned LineNo,
LLVMMetadataRef Ty,
LLVMBool LocalToUnit,
LLVMMetadataRef Decl,
uint32_t AlignInBits 
)

Create a new descriptor for the specified global variable that is temporary and meant to be RAUWed.

Parameters
ScopeVariable scope.
NameName of the variable.
NameLenThe length of the C string passed toName.
LinkageMangled name of the variable.
LnkLenThe length of the C string passed toLinkage.
FileFile where this variable is defined.
LineNoLine number.
TyVariable Type.
LocalToUnitBoolean flag indicate whether this variable is externally visible or not.
DeclReference to the corresponding declaration.
AlignInBitsVariable alignment(or 0 if no alignment attr was specified)

Definition at line1672 of fileDebugInfo.cpp.

ReferencesName,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateTempMacroFile()

LLVMMetadataRef LLVMDIBuilderCreateTempMacroFile(LLVMDIBuilderRef Builder,
LLVMMetadataRef ParentMacroFile,
unsigned Line,
LLVMMetadataRef File 
)

Create debugging information temporary entry for a macro file.

List of macro node direct children will be calculated by DIBuilder, using theParentMacroFile relationship.

Parameters
BuilderThe DIBuilder.
ParentMacroFileMacro parent (could be NULL).
LineSource line number where the macro file is included.
FileFile descriptor containing the name of the macro file.

Definition at line1281 of fileDebugInfo.cpp.

Referencesllvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateTypedef()

LLVMMetadataRef LLVMDIBuilderCreateTypedef(LLVMDIBuilderRef Builder,
LLVMMetadataRef Type,
constcharName,
size_t NameLen,
LLVMMetadataRef File,
unsigned LineNo,
LLVMMetadataRef Scope,
uint32_t AlignInBits 
)

Create debugging information entry for a typedef.

Parameters
BuilderThe DIBuilder.
TypeOriginal type.
NameTypedef name.
FileFile where this type is defined.
LineNoLine number.
ScopeThe surrounding context for the typedef.

Definition at line1443 of fileDebugInfo.cpp.

ReferencesName,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateUnionType()

LLVMMetadataRef LLVMDIBuilderCreateUnionType(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
constcharName,
size_t NameLen,
LLVMMetadataRef File,
unsigned LineNumber,
uint64_t SizeInBits,
uint32_t AlignInBits,
LLVMDIFlags Flags,
LLVMMetadataRefElements,
unsigned NumElements,
unsigned RunTimeLang,
constcharUniqueId,
size_t UniqueIdLen 
)

Create debugging information entry for a union.

Parameters
BuilderThe DIBuilder.
ScopeScope in which this union is defined.
NameUnion name.
NameLenLength of union name.
FileFile where this member is defined.
LineNumberLine number.
SizeInBitsMember size.
AlignInBitsMember alignment.
FlagsFlags to encode member attribute, e.g. private
ElementsUnion elements.
NumElementsNumber of union elements.
RunTimeLangOptional parameter, Objective-C runtime version.
UniqueIdA unique identifier for the union.
UniqueIdLenLength of unique identifier.

Definition at line1308 of fileDebugInfo.cpp.

Referencesmap_from_llvmDIFlags(),Name,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateUnspecifiedType()

LLVMMetadataRef LLVMDIBuilderCreateUnspecifiedType(LLVMDIBuilderRef Builder,
constcharName,
size_t NameLen 
)

Create a DWARF unspecified type.

Parameters
BuilderThe DIBuilder.
NameThe unspecified type's name.
NameLenLength of type name.

Definition at line1391 of fileDebugInfo.cpp.

ReferencesName,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderCreateVectorType()

LLVMMetadataRef LLVMDIBuilderCreateVectorType(LLVMDIBuilderRef Builder,
uint64_t Size,
uint32_t AlignInBits,
LLVMMetadataRef Ty,
LLVMMetadataRefSubscripts,
unsigned NumSubscripts 
)

Create debugging information entry for a vector type.

Parameters
BuilderThe DIBuilder.
SizeVector size.
AlignInBitsAlignment.
TyElement type.
SubscriptsSubscripts.
NumSubscriptsNumber of subscripts.

Definition at line1335 of fileDebugInfo.cpp.

ReferencesSize,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderFinalize()

void LLVMDIBuilderFinalize(LLVMDIBuilderRef Builder)

Construct any deferred debug info descriptors.

Definition at line1077 of fileDebugInfo.cpp.

Referencesllvm::unwrap().

◆ LLVMDIBuilderFinalizeSubprogram()

void LLVMDIBuilderFinalizeSubprogram(LLVMDIBuilderRef Builder,
LLVMMetadataRef Subprogram 
)

Finalize a specific subprogram.

No new variables may be added to this subprogram afterwards.

Definition at line1081 of fileDebugInfo.cpp.

Referencesllvm::unwrap().

◆ LLVMDIBuilderGetOrCreateArray()

LLVMMetadataRef LLVMDIBuilderGetOrCreateArray(LLVMDIBuilderRef Builder,
LLVMMetadataRefData,
size_t NumElements 
)

Create an array of DI Nodes.

Parameters
BuilderThe DIBuilder.
DataThe DINode elements.
NumElementsNumber of DINode elements.

Definition at line1773 of fileDebugInfo.cpp.

Referencesllvm::Data,llvm::get(),llvm::Length,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderGetOrCreateSubrange()

LLVMMetadataRef LLVMDIBuilderGetOrCreateSubrange(LLVMDIBuilderRef Builder,
int64_t LowerBound,
int64_t Count 
)

Create a descriptor for a value range.

Parameters
BuilderThe DIBuilder.
LowerBoundLower bound of the subrange, e.g. 0 for C, 1 for Fortran.
CountCount of elements in the subrange.

Definition at line1768 of fileDebugInfo.cpp.

Referencesllvm::Lo,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderGetOrCreateTypeArray()

LLVMMetadataRef LLVMDIBuilderGetOrCreateTypeArray(LLVMDIBuilderRef Builder,
LLVMMetadataRefData,
size_t NumElements 
)

Create a type array.

Parameters
BuilderThe DIBuilder.
DataThe type elements.
NumElementsNumber of type elements.

Definition at line1591 of fileDebugInfo.cpp.

Referencesllvm::get(),llvm::Length,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderInsertDbgValueRecordAtEnd()

LLVMDbgRecordRef LLVMDIBuilderInsertDbgValueRecordAtEnd(LLVMDIBuilderRef Builder,
LLVMValueRef Val,
LLVMMetadataRef VarInfo,
LLVMMetadataRef Expr,
LLVMMetadataRef DebugLoc,
LLVMBasicBlockRef Block 
)

Only use in "new debug format" (LLVMIsNewDbgInfoFormat() is true).

Seehttps://llvm.org/docs/RemoveDIsDebugInfo.html#c-api-changes

The debug format can be switched later after inserting the records using LLVMSetIsNewDbgInfoFormat, if needed for legacy or transitionary reasons.

Insert a new debug record at the end of the given basic block. If the basic block has a terminator instruction, the record is inserted before that terminator instruction.

Parameters
BuilderThe DIBuilder.
ValThe value of the variable.
VarInfoThe variable's debug info descriptor.
ExprA complex location expression for the variable.
DebugLocDebug info location.
BlockBasic block acting as a location for the new record.

Definition at line1732 of fileDebugInfo.cpp.

Referencesassert(),llvm::Block,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderInsertDbgValueRecordBefore()

LLVMDbgRecordRef LLVMDIBuilderInsertDbgValueRecordBefore(LLVMDIBuilderRef Builder,
LLVMValueRef Val,
LLVMMetadataRef VarInfo,
LLVMMetadataRef Expr,
LLVMMetadataRef DebugLoc,
LLVMValueRef Instr 
)

Only use in "new debug format" (LLVMIsNewDbgInfoFormat() is true).

Seehttps://llvm.org/docs/RemoveDIsDebugInfo.html#c-api-changes

The debug format can be switched later after inserting the records using LLVMSetIsNewDbgInfoFormat, if needed for legacy or transitionary reasons.

Insert a new debug record before the given instruction.

Parameters
BuilderThe DIBuilder.
ValThe value of the variable.
VarInfoThe variable's debug info descriptor.
ExprA complex location expression for the variable.
DebugLocDebug info location.
InstrInstruction acting as a location for the new record.

Definition at line1716 of fileDebugInfo.cpp.

Referencesassert(),llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderInsertDeclareRecordAtEnd()

LLVMDbgRecordRef LLVMDIBuilderInsertDeclareRecordAtEnd(LLVMDIBuilderRef Builder,
LLVMValueRef Storage,
LLVMMetadataRef VarInfo,
LLVMMetadataRef Expr,
LLVMMetadataRef DebugLoc,
LLVMBasicBlockRef Block 
)

Only use in "new debug format" (LLVMIsNewDbgInfoFormat() is true).

Seehttps://llvm.org/docs/RemoveDIsDebugInfo.html#c-api-changes

The debug format can be switched later after inserting the records using LLVMSetIsNewDbgInfoFormat, if needed for legacy or transitionary reasons.

Insert a Declare DbgRecord at the end of the given basic block. If the basic block has a terminator instruction, the record is inserted before that terminator instruction.

Parameters
BuilderThe DIBuilder.
StorageThe storage of the variable to declare.
VarInfoThe variable's debug info descriptor.
ExprA complex location expression for the variable.
DebugLocDebug info location.
BlockBasic block acting as a location for the new record.

Definition at line1700 of fileDebugInfo.cpp.

Referencesassert(),llvm::Block,DL,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderInsertDeclareRecordBefore()

LLVMDbgRecordRef LLVMDIBuilderInsertDeclareRecordBefore(LLVMDIBuilderRef Builder,
LLVMValueRef Storage,
LLVMMetadataRef VarInfo,
LLVMMetadataRef Expr,
LLVMMetadataRef DebugLoc,
LLVMValueRef Instr 
)

Only use in "new debug format" (LLVMIsNewDbgInfoFormat() is true).

Seehttps://llvm.org/docs/RemoveDIsDebugInfo.html#c-api-changes

The debug format can be switched later after inserting the records using LLVMSetIsNewDbgInfoFormat, if needed for legacy or transitionary reasons.

Insert a Declare DbgRecord before the given instruction.

Parameters
BuilderThe DIBuilder.
StorageThe storage of the variable to declare.
VarInfoThe variable's debug info descriptor.
ExprA complex location expression for the variable.
DebugLocDebug info location.
InstrInstruction acting as a location for the new record.

Definition at line1683 of fileDebugInfo.cpp.

Referencesassert(),DL,llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderInsertLabelAtEnd()

LLVMDbgRecordRef LLVMDIBuilderInsertLabelAtEnd(LLVMDIBuilderRef Builder,
LLVMMetadataRef LabelInfo,
LLVMMetadataRef Location,
LLVMBasicBlockRef InsertAtEnd 
)

Insert a new llvm.dbg.label intrinsic call.

Parameters
BuilderThe DIBuilder.
LabelInfoThe Label's debug info descriptor
LocationThe debug info location
InsertAtEndLocation for the new intrinsic.
See also
llvm::DIBuilder::insertLabel()

Definition at line1828 of fileDebugInfo.cpp.

Referencesassert(),llvm::unwrap(), andllvm::wrap().

◆ LLVMDIBuilderInsertLabelBefore()

LLVMDbgRecordRef LLVMDIBuilderInsertLabelBefore(LLVMDIBuilderRef Builder,
LLVMMetadataRef LabelInfo,
LLVMMetadataRef Location,
LLVMValueRef InsertBefore 
)

Insert a new llvm.dbg.label intrinsic call.

Parameters
BuilderThe DIBuilder.
LabelInfoThe Label's debug info descriptor
LocationThe debug info location
InsertBeforeLocation for the new intrinsic.
See also
llvm::DIBuilder::insertLabel()

Definition at line1812 of fileDebugInfo.cpp.

Referencesassert(),llvm::unwrap(), andllvm::wrap().

◆ LLVMDIFileGetDirectory()

constchar * LLVMDIFileGetDirectory(LLVMMetadataRef File,
unsignedLen 
)

Get the directory of a given file.

Parameters
FileThe file object.
LenThe length of the returned string.
See also
DIFile::getDirectory()

Definition at line1247 of fileDebugInfo.cpp.

◆ LLVMDIFileGetFilename()

constchar * LLVMDIFileGetFilename(LLVMMetadataRef File,
unsignedLen 
)

Get the name of a given file.

Parameters
FileThe file object.
LenThe length of the returned string.
See also
DIFile::getFilename()

Definition at line1253 of fileDebugInfo.cpp.

ReferencesName.

◆ LLVMDIFileGetSource()

constchar * LLVMDIFileGetSource(LLVMMetadataRef File,
unsignedLen 
)

Get the source of a given file.

Parameters
FileThe file object.
LenThe length of the returned string.
See also
DIFile::getSource()

Definition at line1259 of fileDebugInfo.cpp.

◆ LLVMDIGlobalVariableExpressionGetExpression()

LLVMMetadataRef LLVMDIGlobalVariableExpressionGetExpression(LLVMMetadataRef GVE)

Retrieves theDIExpression associated with this global variable expression.

Parameters
GVEThe global variable expression.
See also
llvm::DIGlobalVariableExpression::getExpression()

Definition at line1638 of fileDebugInfo.cpp.

Referencesllvm::wrap().

◆ LLVMDIGlobalVariableExpressionGetVariable()

LLVMMetadataRef LLVMDIGlobalVariableExpressionGetVariable(LLVMMetadataRef GVE)

Retrieves theDIVariable associated with this global variable expression.

Parameters
GVEThe global variable expression.
See also
llvm::DIGlobalVariableExpression::getVariable()

Definition at line1634 of fileDebugInfo.cpp.

Referencesllvm::wrap().

◆ LLVMDILocationGetColumn()

unsigned LLVMDILocationGetColumn(LLVMMetadataRef Location)

Get the column number of this debug location.

Parameters
LocationThe debug location.
See also
DILocation::getColumn()

Definition at line1231 of fileDebugInfo.cpp.

◆ LLVMDILocationGetInlinedAt()

LLVMMetadataRef LLVMDILocationGetInlinedAt(LLVMMetadataRef Location)

Get the "inline at" location associated with this debug location.

Parameters
LocationThe debug location.
See also
DILocation::getInlinedAt()

Definition at line1239 of fileDebugInfo.cpp.

Referencesllvm::wrap().

◆ LLVMDILocationGetLine()

unsigned LLVMDILocationGetLine(LLVMMetadataRef Location)

Get the line number of this debug location.

Parameters
LocationThe debug location.
See also
DILocation::getLine()

Definition at line1227 of fileDebugInfo.cpp.

◆ LLVMDILocationGetScope()

LLVMMetadataRef LLVMDILocationGetScope(LLVMMetadataRef Location)

Get the local scope associated with this debug location.

Parameters
LocationThe debug location.
See also
DILocation::getScope()

Definition at line1235 of fileDebugInfo.cpp.

Referencesllvm::wrap().

◆ LLVMDIScopeGetFile()

LLVMMetadataRef LLVMDIScopeGetFile(LLVMMetadataRef Scope)

Get the metadata of the file associated with a given scope.

Parameters
ScopeThe scope object.
See also
DIScope::getFile()

Definition at line1243 of fileDebugInfo.cpp.

Referencesllvm::wrap().

◆ LLVMDisposeDIBuilder()

void LLVMDisposeDIBuilder(LLVMDIBuilderRef Builder)

Deallocates theDIBuilder and everything it owns.

Note
You must callLLVMDIBuilderFinalize before this

Definition at line1073 of fileDebugInfo.cpp.

Referencesllvm::unwrap().

◆ LLVMDisposeTemporaryMDNode()

void LLVMDisposeTemporaryMDNode(LLVMMetadataRef TempNode)

Deallocate a temporary node.

CallsreplaceAllUsesWith(nullptr) before deleting, so any remaining references will be reset.

Parameters
TempNodeThe temporary metadata node.

Definition at line1661 of fileDebugInfo.cpp.

Referencesllvm::MDNode::deleteTemporary().

◆ LLVMDISubprogramGetLine()

unsigned LLVMDISubprogramGetLine(LLVMMetadataRef Subprogram)

Get the line associated with a given subprogram.

Parameters
SubprogramThe subprogram object.
See also
DISubprogram::getLine()

Definition at line1788 of fileDebugInfo.cpp.

◆ LLVMDITypeGetAlignInBits()

uint32_t LLVMDITypeGetAlignInBits(LLVMMetadataRef DType)

Get the alignment of this DIType in bits.

Parameters
DTypeThe DIType.
See also
DIType::getAlignInBits()

Definition at line1579 of fileDebugInfo.cpp.

◆ LLVMDITypeGetFlags()

LLVMDIFlags LLVMDITypeGetFlags(LLVMMetadataRef DType)

Get the flags associated with this DIType.

Parameters
DTypeThe DIType.
See also
DIType::getFlags()

Definition at line1587 of fileDebugInfo.cpp.

ReferencesgetFlags(), andmap_to_llvmDIFlags().

◆ LLVMDITypeGetLine()

unsigned LLVMDITypeGetLine(LLVMMetadataRef DType)

Get the source line where this DIType is declared.

Parameters
DTypeThe DIType.
See also
DIType::getLine()

Definition at line1583 of fileDebugInfo.cpp.

◆ LLVMDITypeGetName()

constchar * LLVMDITypeGetName(LLVMMetadataRef DType,
size_t * Length 
)

Get the name of this DIType.

Parameters
DTypeThe DIType.
LengthThe length of the returned string.
See also
DIType::getName()

Definition at line1565 of fileDebugInfo.cpp.

Referencesllvm::Length.

◆ LLVMDITypeGetOffsetInBits()

uint64_t LLVMDITypeGetOffsetInBits(LLVMMetadataRef DType)

Get the offset of this DIType in bits.

Parameters
DTypeThe DIType.
See also
DIType::getOffsetInBits()

Definition at line1575 of fileDebugInfo.cpp.

◆ LLVMDITypeGetSizeInBits()

uint64_t LLVMDITypeGetSizeInBits(LLVMMetadataRef DType)

Get the size of this DIType in bits.

Parameters
DTypeThe DIType.
See also
DIType::getSizeInBits()

Definition at line1571 of fileDebugInfo.cpp.

◆ LLVMDIVariableGetFile()

LLVMMetadataRef LLVMDIVariableGetFile(LLVMMetadataRef Var)

Get the metadata of the file associated with a given variable.

Parameters
VarThe variable object.
See also
DIVariable::getFile()

Definition at line1643 of fileDebugInfo.cpp.

Referencesllvm::wrap().

◆ LLVMDIVariableGetLine()

unsigned LLVMDIVariableGetLine(LLVMMetadataRef Var)

Get the source line where thisDIVariable is declared.

Parameters
VarThe DIVariable.
See also
DIVariable::getLine()

Definition at line1651 of fileDebugInfo.cpp.

◆ LLVMDIVariableGetScope()

LLVMMetadataRef LLVMDIVariableGetScope(LLVMMetadataRef Var)

Get the metadata of the scope associated with a given variable.

Parameters
VarThe variable object.
See also
DIVariable::getScope()

Definition at line1647 of fileDebugInfo.cpp.

Referencesllvm::wrap().

◆ LLVMGetDINodeTag()

uint16_t LLVMGetDINodeTag(LLVMMetadataRef MD)

Get the dwarf::Tag of a DINode.

Definition at line1561 of fileDebugInfo.cpp.

◆ LLVMGetMetadataKind()

LLVMMetadataKind LLVMGetMetadataKind(LLVMMetadataRef Metadata)

Obtain the enumerated type of a Metadata instance.

See also
llvm::Metadata::getMetadataID()

Definition at line1844 of fileDebugInfo.cpp.

ReferencesLLVMGenericDINodeMetadataKind, andllvm::unwrap().

◆ LLVMGetModuleDebugMetadataVersion()

unsigned LLVMGetModuleDebugMetadataVersion(LLVMModuleRef Module)

The version of debug metadata that's present in the providedModule.

Definition at line1065 of fileDebugInfo.cpp.

Referencesllvm::getDebugMetadataVersionFromModule(), andllvm::unwrap().

◆ LLVMGetSubprogram()

LLVMMetadataRef LLVMGetSubprogram(LLVMValueRef Func)

Get the metadata of the subprogram attached to a function.

See also
llvm::Function::getSubprogram()

Definition at line1780 of fileDebugInfo.cpp.

ReferencesgetSubprogram(), andllvm::wrap().

◆ LLVMInstructionGetDebugLoc()

LLVMMetadataRef LLVMInstructionGetDebugLoc(LLVMValueRef Inst)

Get the debug location for the given instruction.

See also
llvm::Instruction::getDebugLoc()

Definition at line1792 of fileDebugInfo.cpp.

ReferencesgetDebugLoc(), andllvm::wrap().

◆ LLVMInstructionSetDebugLoc()

void LLVMInstructionSetDebugLoc(LLVMValueRef Inst,
LLVMMetadataRef Loc 
)

Set the debug location for the given instruction.

To clear the location metadata of the given instruction, pass NULL toLoc.

See also
llvm::Instruction::setDebugLoc()

Definition at line1796 of fileDebugInfo.cpp.

◆ LLVMMetadataReplaceAllUsesWith()

void LLVMMetadataReplaceAllUsesWith(LLVMMetadataRef TempTargetMetadata,
LLVMMetadataRef Replacement 
)

Replace all uses of temporary metadata.

Parameters
TempTargetMetadataThe temporary metadata node.
ReplacementThe replacement metadata node.

Definition at line1665 of fileDebugInfo.cpp.

Referencesllvm::MDNode::deleteTemporary(), andllvm::unwrap().

◆ LLVMSetSubprogram()

void LLVMSetSubprogram(LLVMValueRef Func,
LLVMMetadataRef SP 
)

Set the subprogram attached to a function.

See also
llvm::Function::setSubprogram()

Definition at line1784 of fileDebugInfo.cpp.

◆ LLVMStripModuleDebugInfo()

LLVMBool LLVMStripModuleDebugInfo(LLVMModuleRef Module)

Strip debug info in the module if it exists.

To do this, we remove all calls to the debugger intrinsics and any named metadata for debugging. We also remove debug locations for instructions. Return true if module is modified.

Definition at line1069 of fileDebugInfo.cpp.

Referencesllvm::StripDebugInfo(), andllvm::unwrap().

◆ LLVMTemporaryMDNode()

LLVMMetadataRef LLVMTemporaryMDNode(LLVMContextRef Ctx,
LLVMMetadataRefData,
size_t NumElements 
)

Create a new temporaryMDNode.

Suitable for use in constructing cyclicMDNode structures. A temporaryMDNode is not uniqued, may be RAUW'd, and must be manually deleted withLLVMDisposeTemporaryMDNode.

Parameters
CtxThe context in which to construct the temporary node.
DataThe metadata elements.
NumElementsNumber of metadata elements.

Definition at line1655 of fileDebugInfo.cpp.

Referencesllvm::Data,llvm::MDTuple::getTemporary(),llvm::release,llvm::unwrap(), andllvm::wrap().


Generated on Sun Jul 20 2025 15:03:46 for LLVM by doxygen 1.9.6
[8]ページ先頭

©2009-2025 Movatter.jp