Project Alice
Loading...
Searching...
No Matches
Debug Information
Collaboration diagram for Debug Information:

Typedefs

typedef unsigned LLVMMetadataKind
 
typedef unsigned LLVMDWARFTypeEncoding
 

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
}
 
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 , LLVMDWARFSourceLanguageMojo , LLVMDWARFSourceLanguageMips_Assembler ,
  LLVMDWARFSourceLanguageGOOGLE_RenderScript , LLVMDWARFSourceLanguageBORLAND_Delphi
}
 
enum  LLVMDWARFEmissionKind { LLVMDWARFEmissionNone = 0 , LLVMDWARFEmissionFull , LLVMDWARFEmissionLineTablesOnly }
 
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
}
 
enum  LLVMDWARFMacinfoRecordType {
  LLVMDWARFMacinfoRecordTypeDefine = 0x01 , LLVMDWARFMacinfoRecordTypeMacro = 0x02 , LLVMDWARFMacinfoRecordTypeStartFile = 0x03 , LLVMDWARFMacinfoRecordTypeEndFile = 0x04 ,
  LLVMDWARFMacinfoRecordTypeVendorExt = 0xff
}
 

Functions

unsigned LLVMDebugMetadataVersion (void)
 
unsigned LLVMGetModuleDebugMetadataVersion (LLVMModuleRef Module)
 
LLVMBool LLVMStripModuleDebugInfo (LLVMModuleRef Module)
 
LLVMDIBuilderRef LLVMCreateDIBuilderDisallowUnresolved (LLVMModuleRef M)
 
LLVMDIBuilderRef LLVMCreateDIBuilder (LLVMModuleRef M)
 
void LLVMDisposeDIBuilder (LLVMDIBuilderRef Builder)
 
void LLVMDIBuilderFinalize (LLVMDIBuilderRef Builder)
 
void LLVMDIBuilderFinalizeSubprogram (LLVMDIBuilderRef Builder, LLVMMetadataRef Subprogram)
 
LLVMMetadataRef LLVMDIBuilderCreateCompileUnit (LLVMDIBuilderRef Builder, LLVMDWARFSourceLanguage Lang, LLVMMetadataRef FileRef, const char *Producer, size_t ProducerLen, LLVMBool isOptimized, const char *Flags, size_t FlagsLen, unsigned RuntimeVer, const char *SplitName, size_t SplitNameLen, LLVMDWARFEmissionKind Kind, unsigned DWOId, LLVMBool SplitDebugInlining, LLVMBool DebugInfoForProfiling, const char *SysRoot, size_t SysRootLen, const char *SDK, size_t SDKLen)
 
LLVMMetadataRef LLVMDIBuilderCreateFile (LLVMDIBuilderRef Builder, const char *Filename, size_t FilenameLen, const char *Directory, size_t DirectoryLen)
 
LLVMMetadataRef LLVMDIBuilderCreateModule (LLVMDIBuilderRef Builder, LLVMMetadataRef ParentScope, const char *Name, size_t NameLen, const char *ConfigMacros, size_t ConfigMacrosLen, const char *IncludePath, size_t IncludePathLen, const char *APINotesFile, size_t APINotesFileLen)
 
LLVMMetadataRef LLVMDIBuilderCreateNameSpace (LLVMDIBuilderRef Builder, LLVMMetadataRef ParentScope, const char *Name, size_t NameLen, LLVMBool ExportSymbols)
 
LLVMMetadataRef LLVMDIBuilderCreateFunction (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, const char *LinkageName, size_t LinkageNameLen, LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty, LLVMBool IsLocalToUnit, LLVMBool IsDefinition, unsigned ScopeLine, LLVMDIFlags Flags, LLVMBool IsOptimized)
 
LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned Line, unsigned Column)
 
LLVMMetadataRef LLVMDIBuilderCreateLexicalBlockFile (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned Discriminator)
 
LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromNamespace (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef NS, LLVMMetadataRef File, unsigned Line)
 
LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromAlias (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef ImportedEntity, LLVMMetadataRef File, unsigned Line, LLVMMetadataRef *Elements, unsigned NumElements)
 
LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromModule (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef M, LLVMMetadataRef File, unsigned Line, LLVMMetadataRef *Elements, unsigned NumElements)
 
LLVMMetadataRef LLVMDIBuilderCreateImportedDeclaration (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef Decl, LLVMMetadataRef File, unsigned Line, const char *Name, size_t NameLen, LLVMMetadataRef *Elements, unsigned NumElements)
 
LLVMMetadataRef LLVMDIBuilderCreateDebugLocation (LLVMContextRef Ctx, unsigned Line, unsigned Column, LLVMMetadataRef Scope, LLVMMetadataRef InlinedAt)
 
unsigned LLVMDILocationGetLine (LLVMMetadataRef Location)
 
unsigned LLVMDILocationGetColumn (LLVMMetadataRef Location)
 
LLVMMetadataRef LLVMDILocationGetScope (LLVMMetadataRef Location)
 
LLVMMetadataRef LLVMDILocationGetInlinedAt (LLVMMetadataRef Location)
 
LLVMMetadataRef LLVMDIScopeGetFile (LLVMMetadataRef Scope)
 
const char * LLVMDIFileGetDirectory (LLVMMetadataRef File, unsigned *Len)
 
const char * LLVMDIFileGetFilename (LLVMMetadataRef File, unsigned *Len)
 
const char * LLVMDIFileGetSource (LLVMMetadataRef File, unsigned *Len)
 
LLVMMetadataRef LLVMDIBuilderGetOrCreateTypeArray (LLVMDIBuilderRef Builder, LLVMMetadataRef *Data, size_t NumElements)
 
LLVMMetadataRef LLVMDIBuilderCreateSubroutineType (LLVMDIBuilderRef Builder, LLVMMetadataRef File, LLVMMetadataRef *ParameterTypes, unsigned NumParameterTypes, LLVMDIFlags Flags)
 
LLVMMetadataRef LLVMDIBuilderCreateMacro (LLVMDIBuilderRef Builder, LLVMMetadataRef ParentMacroFile, unsigned Line, LLVMDWARFMacinfoRecordType RecordType, const char *Name, size_t NameLen, const char *Value, size_t ValueLen)
 
LLVMMetadataRef LLVMDIBuilderCreateTempMacroFile (LLVMDIBuilderRef Builder, LLVMMetadataRef ParentMacroFile, unsigned Line, LLVMMetadataRef File)
 
LLVMMetadataRef LLVMDIBuilderCreateEnumerator (LLVMDIBuilderRef Builder, const char *Name, size_t NameLen, int64_t Value, LLVMBool IsUnsigned)
 
LLVMMetadataRef LLVMDIBuilderCreateEnumerationType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNumber, uint64_t SizeInBits, uint32_t AlignInBits, LLVMMetadataRef *Elements, unsigned NumElements, LLVMMetadataRef ClassTy)
 
LLVMMetadataRef LLVMDIBuilderCreateUnionType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNumber, uint64_t SizeInBits, uint32_t AlignInBits, LLVMDIFlags Flags, LLVMMetadataRef *Elements, unsigned NumElements, unsigned RunTimeLang, const char *UniqueId, size_t UniqueIdLen)
 
LLVMMetadataRef LLVMDIBuilderCreateArrayType (LLVMDIBuilderRef Builder, uint64_t Size, uint32_t AlignInBits, LLVMMetadataRef Ty, LLVMMetadataRef *Subscripts, unsigned NumSubscripts)
 
LLVMMetadataRef LLVMDIBuilderCreateVectorType (LLVMDIBuilderRef Builder, uint64_t Size, uint32_t AlignInBits, LLVMMetadataRef Ty, LLVMMetadataRef *Subscripts, unsigned NumSubscripts)
 
LLVMMetadataRef LLVMDIBuilderCreateUnspecifiedType (LLVMDIBuilderRef Builder, const char *Name, size_t NameLen)
 
LLVMMetadataRef LLVMDIBuilderCreateBasicType (LLVMDIBuilderRef Builder, const char *Name, size_t NameLen, uint64_t SizeInBits, LLVMDWARFTypeEncoding Encoding, LLVMDIFlags Flags)
 
LLVMMetadataRef LLVMDIBuilderCreatePointerType (LLVMDIBuilderRef Builder, LLVMMetadataRef PointeeTy, uint64_t SizeInBits, uint32_t AlignInBits, unsigned AddressSpace, const char *Name, size_t NameLen)
 
LLVMMetadataRef LLVMDIBuilderCreateStructType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *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, const char *UniqueId, size_t UniqueIdLen)
 
LLVMMetadataRef LLVMDIBuilderCreateMemberType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNo, uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits, LLVMDIFlags Flags, LLVMMetadataRef Ty)
 
LLVMMetadataRef LLVMDIBuilderCreateStaticMemberType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNumber, LLVMMetadataRef Type, LLVMDIFlags Flags, LLVMValueRef ConstantVal, uint32_t AlignInBits)
 
LLVMMetadataRef LLVMDIBuilderCreateMemberPointerType (LLVMDIBuilderRef Builder, LLVMMetadataRef PointeeType, LLVMMetadataRef ClassType, uint64_t SizeInBits, uint32_t AlignInBits, LLVMDIFlags Flags)
 
LLVMMetadataRef LLVMDIBuilderCreateObjCIVar (LLVMDIBuilderRef Builder, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNo, uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits, LLVMDIFlags Flags, LLVMMetadataRef Ty, LLVMMetadataRef PropertyNode)
 
LLVMMetadataRef LLVMDIBuilderCreateObjCProperty (LLVMDIBuilderRef Builder, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNo, const char *GetterName, size_t GetterNameLen, const char *SetterName, size_t SetterNameLen, unsigned PropertyAttributes, LLVMMetadataRef Ty)
 
LLVMMetadataRef LLVMDIBuilderCreateObjectPointerType (LLVMDIBuilderRef Builder, LLVMMetadataRef Type)
 
LLVMMetadataRef LLVMDIBuilderCreateQualifiedType (LLVMDIBuilderRef Builder, unsigned Tag, LLVMMetadataRef Type)
 
LLVMMetadataRef LLVMDIBuilderCreateReferenceType (LLVMDIBuilderRef Builder, unsigned Tag, LLVMMetadataRef Type)
 
LLVMMetadataRef LLVMDIBuilderCreateNullPtrType (LLVMDIBuilderRef Builder)
 
LLVMMetadataRef LLVMDIBuilderCreateTypedef (LLVMDIBuilderRef Builder, LLVMMetadataRef Type, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Scope, uint32_t AlignInBits)
 
LLVMMetadataRef LLVMDIBuilderCreateInheritance (LLVMDIBuilderRef Builder, LLVMMetadataRef Ty, LLVMMetadataRef BaseTy, uint64_t BaseOffset, uint32_t VBPtrOffset, LLVMDIFlags Flags)
 
LLVMMetadataRef LLVMDIBuilderCreateForwardDecl (LLVMDIBuilderRef Builder, unsigned Tag, const char *Name, size_t NameLen, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned Line, unsigned RuntimeLang, uint64_t SizeInBits, uint32_t AlignInBits, const char *UniqueIdentifier, size_t UniqueIdentifierLen)
 
LLVMMetadataRef LLVMDIBuilderCreateReplaceableCompositeType (LLVMDIBuilderRef Builder, unsigned Tag, const char *Name, size_t NameLen, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned Line, unsigned RuntimeLang, uint64_t SizeInBits, uint32_t AlignInBits, LLVMDIFlags Flags, const char *UniqueIdentifier, size_t UniqueIdentifierLen)
 
LLVMMetadataRef LLVMDIBuilderCreateBitFieldMemberType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNumber, uint64_t SizeInBits, uint64_t OffsetInBits, uint64_t StorageOffsetInBits, LLVMDIFlags Flags, LLVMMetadataRef Type)
 
LLVMMetadataRef LLVMDIBuilderCreateClassType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *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, const char *UniqueIdentifier, size_t UniqueIdentifierLen)
 
LLVMMetadataRef LLVMDIBuilderCreateArtificialType (LLVMDIBuilderRef Builder, LLVMMetadataRef Type)
 
const char * LLVMDITypeGetName (LLVMMetadataRef DType, size_t *Length)
 
uint64_t LLVMDITypeGetSizeInBits (LLVMMetadataRef DType)
 
uint64_t LLVMDITypeGetOffsetInBits (LLVMMetadataRef DType)
 
uint32_t LLVMDITypeGetAlignInBits (LLVMMetadataRef DType)
 
unsigned LLVMDITypeGetLine (LLVMMetadataRef DType)
 
LLVMDIFlags LLVMDITypeGetFlags (LLVMMetadataRef DType)
 
LLVMMetadataRef LLVMDIBuilderGetOrCreateSubrange (LLVMDIBuilderRef Builder, int64_t LowerBound, int64_t Count)
 
LLVMMetadataRef LLVMDIBuilderGetOrCreateArray (LLVMDIBuilderRef Builder, LLVMMetadataRef *Data, size_t NumElements)
 
LLVMMetadataRef LLVMDIBuilderCreateExpression (LLVMDIBuilderRef Builder, uint64_t *Addr, size_t Length)
 
LLVMMetadataRef LLVMDIBuilderCreateConstantValueExpression (LLVMDIBuilderRef Builder, uint64_t Value)
 
LLVMMetadataRef LLVMDIBuilderCreateGlobalVariableExpression (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, const char *Linkage, size_t LinkLen, LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty, LLVMBool LocalToUnit, LLVMMetadataRef Expr, LLVMMetadataRef Decl, uint32_t AlignInBits)
 
uint16_t LLVMGetDINodeTag (LLVMMetadataRef MD)
 
LLVMMetadataRef LLVMDIGlobalVariableExpressionGetVariable (LLVMMetadataRef GVE)
 
LLVMMetadataRef LLVMDIGlobalVariableExpressionGetExpression (LLVMMetadataRef GVE)
 
LLVMMetadataRef LLVMDIVariableGetFile (LLVMMetadataRef Var)
 
LLVMMetadataRef LLVMDIVariableGetScope (LLVMMetadataRef Var)
 
unsigned LLVMDIVariableGetLine (LLVMMetadataRef Var)
 
LLVMMetadataRef LLVMTemporaryMDNode (LLVMContextRef Ctx, LLVMMetadataRef *Data, size_t NumElements)
 
void LLVMDisposeTemporaryMDNode (LLVMMetadataRef TempNode)
 
void LLVMMetadataReplaceAllUsesWith (LLVMMetadataRef TempTargetMetadata, LLVMMetadataRef Replacement)
 
LLVMMetadataRef LLVMDIBuilderCreateTempGlobalVariableFwdDecl (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, const char *Linkage, size_t LnkLen, LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty, LLVMBool LocalToUnit, LLVMMetadataRef Decl, uint32_t AlignInBits)
 
LLVMValueRef LLVMDIBuilderInsertDeclareBefore (LLVMDIBuilderRef Builder, LLVMValueRef Storage, LLVMMetadataRef VarInfo, LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMValueRef Instr)
 
LLVMValueRef LLVMDIBuilderInsertDeclareAtEnd (LLVMDIBuilderRef Builder, LLVMValueRef Storage, LLVMMetadataRef VarInfo, LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMBasicBlockRef Block)
 
LLVMValueRef LLVMDIBuilderInsertDbgValueBefore (LLVMDIBuilderRef Builder, LLVMValueRef Val, LLVMMetadataRef VarInfo, LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMValueRef Instr)
 
LLVMValueRef LLVMDIBuilderInsertDbgValueAtEnd (LLVMDIBuilderRef Builder, LLVMValueRef Val, LLVMMetadataRef VarInfo, LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMBasicBlockRef Block)
 
LLVMMetadataRef LLVMDIBuilderCreateAutoVariable (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty, LLVMBool AlwaysPreserve, LLVMDIFlags Flags, uint32_t AlignInBits)
 
LLVMMetadataRef LLVMDIBuilderCreateParameterVariable (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, unsigned ArgNo, LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty, LLVMBool AlwaysPreserve, LLVMDIFlags Flags)
 
LLVMMetadataRef LLVMGetSubprogram (LLVMValueRef Func)
 
void LLVMSetSubprogram (LLVMValueRef Func, LLVMMetadataRef SP)
 
unsigned LLVMDISubprogramGetLine (LLVMMetadataRef Subprogram)
 
LLVMMetadataRef LLVMInstructionGetDebugLoc (LLVMValueRef Inst)
 
void LLVMInstructionSetDebugLoc (LLVMValueRef Inst, LLVMMetadataRef Loc)
 
LLVMMetadataKind LLVMGetMetadataKind (LLVMMetadataRef Metadata)
 

Detailed Description

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

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

Typedef Documentation

◆ LLVMDWARFTypeEncoding

typedef unsigned LLVMDWARFTypeEncoding

An LLVM DWARF type encoding.

Definition at line 190 of file DebugInfo.h.

◆ LLVMMetadataKind

typedef unsigned LLVMMetadataKind

Definition at line 185 of file DebugInfo.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 line 147 of file DebugInfo.h.

◆ LLVMDIFlags

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 line 34 of file DebugInfo.h.

◆ LLVMDWARFEmissionKind

The amount of debug information to emit.

Enumerator
LLVMDWARFEmissionNone 
LLVMDWARFEmissionFull 
LLVMDWARFEmissionLineTablesOnly 

Definition at line 138 of file DebugInfo.h.

◆ LLVMDWARFMacinfoRecordType

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 line 197 of file DebugInfo.h.

◆ LLVMDWARFSourceLanguage

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 
LLVMDWARFSourceLanguageMojo 
LLVMDWARFSourceLanguageMips_Assembler 
LLVMDWARFSourceLanguageGOOGLE_RenderScript 
LLVMDWARFSourceLanguageBORLAND_Delphi 

Definition at line 78 of file DebugInfo.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 to LLVMDIBuilderFinalize.

◆ LLVMCreateDIBuilderDisallowUnresolved()

LLVMDIBuilderRef LLVMCreateDIBuilderDisallowUnresolved ( LLVMModuleRef  M)

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

◆ LLVMDebugMetadataVersion()

unsigned LLVMDebugMetadataVersion ( void  )

The current debug metadata version number.

◆ LLVMDIBuilderCreateArrayType()

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

Create debugging information entry for an array.

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

◆ LLVMDIBuilderCreateArtificialType()

LLVMMetadataRef LLVMDIBuilderCreateArtificialType ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  Type 
)

Create a uniqued DIType* clone with FlagArtificial set.

Parameters
BuilderThe DIBuilder.
TypeThe underlying type.

◆ LLVMDIBuilderCreateAutoVariable()

LLVMMetadataRef LLVMDIBuilderCreateAutoVariable ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  Scope,
const char *  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.

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.

◆ LLVMDIBuilderCreateBasicType()

LLVMMetadataRef LLVMDIBuilderCreateBasicType ( LLVMDIBuilderRef  Builder,
const char *  Name,
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

◆ LLVMDIBuilderCreateBitFieldMemberType()

LLVMMetadataRef LLVMDIBuilderCreateBitFieldMemberType ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  Scope,
const char *  Name,
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.

◆ LLVMDIBuilderCreateClassType()

LLVMMetadataRef LLVMDIBuilderCreateClassType ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  Scope,
const char *  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,
const char *  UniqueIdentifier,
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 to Name.
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.

◆ LLVMDIBuilderCreateCompileUnit()

LLVMMetadataRef LLVMDIBuilderCreateCompileUnit ( LLVMDIBuilderRef  Builder,
LLVMDWARFSourceLanguage  Lang,
LLVMMetadataRef  FileRef,
const char *  Producer,
size_t  ProducerLen,
LLVMBool  isOptimized,
const char *  Flags,
size_t  FlagsLen,
unsigned  RuntimeVer,
const char *  SplitName,
size_t  SplitNameLen,
LLVMDWARFEmissionKind  Kind,
unsigned  DWOId,
LLVMBool  SplitDebugInlining,
LLVMBool  DebugInfoForProfiling,
const char *  SysRoot,
size_t  SysRootLen,
const char *  SDK,
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 to Producer.
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 to Flags.
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 to SplitName.
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 to SysRoot.
SDKThe SDK. On Darwin, the last component of the sysroot.
SDKLenThe length of the C string passed to SDK.

◆ 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.

◆ 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.

◆ LLVMDIBuilderCreateEnumerationType()

LLVMMetadataRef LLVMDIBuilderCreateEnumerationType ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  Scope,
const char *  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.

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.

◆ LLVMDIBuilderCreateEnumerator()

LLVMMetadataRef LLVMDIBuilderCreateEnumerator ( LLVMDIBuilderRef  Builder,
const char *  Name,
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.

◆ LLVMDIBuilderCreateExpression()

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.

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

◆ LLVMDIBuilderCreateFile()

LLVMMetadataRef LLVMDIBuilderCreateFile ( LLVMDIBuilderRef  Builder,
const char *  Filename,
size_t  FilenameLen,
const char *  Directory,
size_t  DirectoryLen 
)

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

Parameters
BuilderThe DIBuilder.
FilenameFile name.
FilenameLenThe length of the C string passed to Filename.
DirectoryDirectory.
DirectoryLenThe length of the C string passed to Directory.

◆ LLVMDIBuilderCreateForwardDecl()

LLVMMetadataRef LLVMDIBuilderCreateForwardDecl ( LLVMDIBuilderRef  Builder,
unsigned  Tag,
const char *  Name,
size_t  NameLen,
LLVMMetadataRef  Scope,
LLVMMetadataRef  File,
unsigned  Line,
unsigned  RuntimeLang,
uint64_t  SizeInBits,
uint32_t  AlignInBits,
const char *  UniqueIdentifier,
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.

◆ LLVMDIBuilderCreateFunction()

LLVMMetadataRef LLVMDIBuilderCreateFunction ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  Scope,
const char *  Name,
size_t  NameLen,
const char *  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.

Parameters
BuilderThe DIBuilder.
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.

◆ LLVMDIBuilderCreateGlobalVariableExpression()

LLVMMetadataRef LLVMDIBuilderCreateGlobalVariableExpression ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  Scope,
const char *  Name,
size_t  NameLen,
const char *  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.

Parameters
ScopeVariable scope.
NameName of the variable.
NameLenThe length of the C string passed to Name.
LinkageMangled name of the variable.
LinkLenThe length of the C string passed to Linkage.
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)

◆ LLVMDIBuilderCreateImportedDeclaration()

LLVMMetadataRef LLVMDIBuilderCreateImportedDeclaration ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  Scope,
LLVMMetadataRef  Decl,
LLVMMetadataRef  File,
unsigned  Line,
const char *  Name,
size_t  NameLen,
LLVMMetadataRef Elements,
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 to Name.
ElementsRenamed elements.
NumElementsNumber of renamed elements.

◆ LLVMDIBuilderCreateImportedModuleFromAlias()

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.

Parameters
BuilderThe DIBuilder.
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.

◆ LLVMDIBuilderCreateImportedModuleFromModule()

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

Create a descriptor for an imported module.

Parameters
BuilderThe DIBuilder.
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.

◆ 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
BuilderThe DIBuilder.
ScopeThe scope this module is imported into
FileFile where the declaration is located.
LineLine number of the declaration.

◆ 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

◆ 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
BuilderThe DIBuilder.
ScopeParent lexical block.
FileSource file.
LineThe line in the source file.
ColumnThe column in the source file.

◆ LLVMDIBuilderCreateLexicalBlockFile()

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

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

Parameters
BuilderThe DIBuilder.
ScopeLexical block.
FileSource file.
DiscriminatorDWARF path discriminator value.

◆ LLVMDIBuilderCreateMacro()

LLVMMetadataRef LLVMDIBuilderCreateMacro ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  ParentMacroFile,
unsigned  Line,
LLVMDWARFMacinfoRecordType  RecordType,
const char *  Name,
size_t  NameLen,
const char *  Value,
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.

◆ 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.

◆ LLVMDIBuilderCreateMemberType()

LLVMMetadataRef LLVMDIBuilderCreateMemberType ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  Scope,
const char *  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.

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.

◆ LLVMDIBuilderCreateModule()

LLVMMetadataRef LLVMDIBuilderCreateModule ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  ParentScope,
const char *  Name,
size_t  NameLen,
const char *  ConfigMacros,
size_t  ConfigMacrosLen,
const char *  IncludePath,
size_t  IncludePathLen,
const char *  APINotesFile,
size_t  APINotesFileLen 
)

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

Parameters
BuilderThe DIBuilder.
ParentScopeThe parent scope containing this module declaration.
NameModule name.
NameLenThe length of the C string passed to Name.
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 to ConfigMacros.
IncludePathThe path to the module map file.
IncludePathLenThe length of the C string passed to IncludePath.
APINotesFileThe path to an API notes file for the module.
APINotesFileLenThe length of the C string passed to APINotestFile.

◆ LLVMDIBuilderCreateNameSpace()

LLVMMetadataRef LLVMDIBuilderCreateNameSpace ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  ParentScope,
const char *  Name,
size_t  NameLen,
LLVMBool  ExportSymbols 
)

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

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

◆ LLVMDIBuilderCreateNullPtrType()

LLVMMetadataRef LLVMDIBuilderCreateNullPtrType ( LLVMDIBuilderRef  Builder)

Create C++11 nullptr type.

Parameters
BuilderThe DIBuilder.

◆ LLVMDIBuilderCreateObjCIVar()

LLVMMetadataRef LLVMDIBuilderCreateObjCIVar ( LLVMDIBuilderRef  Builder,
const char *  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.

Parameters
BuilderThe DIBuilder.
NameMember name.
NameLenThe length of the C string passed to 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.
PropertyNodeProperty associated with this ivar.

◆ LLVMDIBuilderCreateObjCProperty()

LLVMMetadataRef LLVMDIBuilderCreateObjCProperty ( LLVMDIBuilderRef  Builder,
const char *  Name,
size_t  NameLen,
LLVMMetadataRef  File,
unsigned  LineNo,
const char *  GetterName,
size_t  GetterNameLen,
const char *  SetterName,
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 to Name.
FileFile where this property is defined.
LineNoLine number.
GetterNameName of the Objective C property getter selector.
GetterNameLenThe length of the C string passed to GetterName.
SetterNameName of the Objective C property setter selector.
SetterNameLenThe length of the C string passed to SetterName.
PropertyAttributesObjective C property attributes.
TyType.

◆ LLVMDIBuilderCreateObjectPointerType()

LLVMMetadataRef LLVMDIBuilderCreateObjectPointerType ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  Type 
)

Create a uniqued DIType* clone with FlagObjectPointer and FlagArtificial set.

Parameters
BuilderThe DIBuilder.
TypeThe underlying type to which this pointer points.

◆ LLVMDIBuilderCreateParameterVariable()

LLVMMetadataRef LLVMDIBuilderCreateParameterVariable ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  Scope,
const char *  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.

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.

◆ LLVMDIBuilderCreatePointerType()

LLVMMetadataRef LLVMDIBuilderCreatePointerType ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  PointeeTy,
uint64_t  SizeInBits,
uint32_t  AlignInBits,
unsigned  AddressSpace,
const char *  Name,
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)

◆ 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.

◆ 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.

◆ LLVMDIBuilderCreateReplaceableCompositeType()

LLVMMetadataRef LLVMDIBuilderCreateReplaceableCompositeType ( LLVMDIBuilderRef  Builder,
unsigned  Tag,
const char *  Name,
size_t  NameLen,
LLVMMetadataRef  Scope,
LLVMMetadataRef  File,
unsigned  Line,
unsigned  RuntimeLang,
uint64_t  SizeInBits,
uint32_t  AlignInBits,
LLVMDIFlags  Flags,
const char *  UniqueIdentifier,
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.

◆ LLVMDIBuilderCreateStaticMemberType()

LLVMMetadataRef LLVMDIBuilderCreateStaticMemberType ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  Scope,
const char *  Name,
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.

◆ LLVMDIBuilderCreateStructType()

LLVMMetadataRef LLVMDIBuilderCreateStructType ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  Scope,
const char *  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,
const char *  UniqueId,
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.

◆ LLVMDIBuilderCreateSubroutineType()

LLVMMetadataRef LLVMDIBuilderCreateSubroutineType ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  File,
LLVMMetadataRef ParameterTypes,
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 in ParameterTypes
FlagsE.g.: LLVMDIFlagLValueReference. These flags are used to emit dwarf attributes.

◆ LLVMDIBuilderCreateTempGlobalVariableFwdDecl()

LLVMMetadataRef LLVMDIBuilderCreateTempGlobalVariableFwdDecl ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  Scope,
const char *  Name,
size_t  NameLen,
const char *  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.

Parameters
ScopeVariable scope.
NameName of the variable.
NameLenThe length of the C string passed to Name.
LinkageMangled name of the variable.
LnkLenThe length of the C string passed to Linkage.
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)

◆ 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 the ParentMacroFile 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.

◆ LLVMDIBuilderCreateTypedef()

LLVMMetadataRef LLVMDIBuilderCreateTypedef ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  Type,
const char *  Name,
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.

◆ LLVMDIBuilderCreateUnionType()

LLVMMetadataRef LLVMDIBuilderCreateUnionType ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  Scope,
const char *  Name,
size_t  NameLen,
LLVMMetadataRef  File,
unsigned  LineNumber,
uint64_t  SizeInBits,
uint32_t  AlignInBits,
LLVMDIFlags  Flags,
LLVMMetadataRef Elements,
unsigned  NumElements,
unsigned  RunTimeLang,
const char *  UniqueId,
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.

◆ LLVMDIBuilderCreateUnspecifiedType()

LLVMMetadataRef LLVMDIBuilderCreateUnspecifiedType ( LLVMDIBuilderRef  Builder,
const char *  Name,
size_t  NameLen 
)

Create a DWARF unspecified type.

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

◆ LLVMDIBuilderCreateVectorType()

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

Create debugging information entry for a vector type.

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

◆ LLVMDIBuilderFinalize()

void LLVMDIBuilderFinalize ( LLVMDIBuilderRef  Builder)

Construct any deferred debug info descriptors.

◆ LLVMDIBuilderFinalizeSubprogram()

void LLVMDIBuilderFinalizeSubprogram ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef  Subprogram 
)

Finalize a specific subprogram. No new variables may be added to this subprogram afterwards.

◆ LLVMDIBuilderGetOrCreateArray()

LLVMMetadataRef LLVMDIBuilderGetOrCreateArray ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef Data,
size_t  NumElements 
)

Create an array of DI Nodes.

Parameters
BuilderThe DIBuilder.
DataThe DI Node elements.
NumElementsNumber of DI Node elements.

◆ 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.

◆ LLVMDIBuilderGetOrCreateTypeArray()

LLVMMetadataRef LLVMDIBuilderGetOrCreateTypeArray ( LLVMDIBuilderRef  Builder,
LLVMMetadataRef Data,
size_t  NumElements 
)

Create a type array.

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

◆ LLVMDIBuilderInsertDbgValueAtEnd()

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

Insert a new llvm.dbg.value intrinsic call at the end of the given basic block. If the basic block has a terminator instruction, the intrinsic 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 intrinsic.

◆ LLVMDIBuilderInsertDbgValueBefore()

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

Insert a new llvm.dbg.value intrinsic call 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 intrinsic.

◆ LLVMDIBuilderInsertDeclareAtEnd()

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

Insert a new llvm.dbg.declare intrinsic call at the end of the given basic block. If the basic block has a terminator instruction, the intrinsic 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 intrinsic.

◆ LLVMDIBuilderInsertDeclareBefore()

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

Insert a new llvm.dbg.declare intrinsic call 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 intrinsic.

◆ LLVMDIFileGetDirectory()

const char * LLVMDIFileGetDirectory ( LLVMMetadataRef  File,
unsigned *  Len 
)

Get the directory of a given file.

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

◆ LLVMDIFileGetFilename()

const char * LLVMDIFileGetFilename ( LLVMMetadataRef  File,
unsigned *  Len 
)

Get the name of a given file.

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

◆ LLVMDIFileGetSource()

const char * LLVMDIFileGetSource ( LLVMMetadataRef  File,
unsigned *  Len 
)

Get the source of a given file.

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

◆ LLVMDIGlobalVariableExpressionGetExpression()

LLVMMetadataRef LLVMDIGlobalVariableExpressionGetExpression ( LLVMMetadataRef  GVE)

Retrieves the DIExpression associated with this global variable expression.

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

◆ LLVMDIGlobalVariableExpressionGetVariable()

LLVMMetadataRef LLVMDIGlobalVariableExpressionGetVariable ( LLVMMetadataRef  GVE)

Retrieves the DIVariable associated with this global variable expression.

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

◆ LLVMDILocationGetColumn()

unsigned LLVMDILocationGetColumn ( LLVMMetadataRef  Location)

Get the column number of this debug location.

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

◆ LLVMDILocationGetInlinedAt()

LLVMMetadataRef LLVMDILocationGetInlinedAt ( LLVMMetadataRef  Location)

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

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

◆ LLVMDILocationGetLine()

unsigned LLVMDILocationGetLine ( LLVMMetadataRef  Location)

Get the line number of this debug location.

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

◆ LLVMDILocationGetScope()

LLVMMetadataRef LLVMDILocationGetScope ( LLVMMetadataRef  Location)

Get the local scope associated with this debug location.

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

◆ LLVMDIScopeGetFile()

LLVMMetadataRef LLVMDIScopeGetFile ( LLVMMetadataRef  Scope)

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

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

◆ LLVMDisposeDIBuilder()

void LLVMDisposeDIBuilder ( LLVMDIBuilderRef  Builder)

Deallocates the DIBuilder and everything it owns.

Note
You must call LLVMDIBuilderFinalize before this

◆ LLVMDisposeTemporaryMDNode()

void LLVMDisposeTemporaryMDNode ( LLVMMetadataRef  TempNode)

Deallocate a temporary node.

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

Parameters
TempNodeThe temporary metadata node.

◆ LLVMDISubprogramGetLine()

unsigned LLVMDISubprogramGetLine ( LLVMMetadataRef  Subprogram)

Get the line associated with a given subprogram.

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

◆ LLVMDITypeGetAlignInBits()

uint32_t LLVMDITypeGetAlignInBits ( LLVMMetadataRef  DType)

Get the alignment of this DIType in bits.

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

◆ LLVMDITypeGetFlags()

LLVMDIFlags LLVMDITypeGetFlags ( LLVMMetadataRef  DType)

Get the flags associated with this DIType.

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

◆ LLVMDITypeGetLine()

unsigned LLVMDITypeGetLine ( LLVMMetadataRef  DType)

Get the source line where this DIType is declared.

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

◆ LLVMDITypeGetName()

const char * 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()

◆ LLVMDITypeGetOffsetInBits()

uint64_t LLVMDITypeGetOffsetInBits ( LLVMMetadataRef  DType)

Get the offset of this DIType in bits.

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

◆ LLVMDITypeGetSizeInBits()

uint64_t LLVMDITypeGetSizeInBits ( LLVMMetadataRef  DType)

Get the size of this DIType in bits.

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

◆ LLVMDIVariableGetFile()

LLVMMetadataRef LLVMDIVariableGetFile ( LLVMMetadataRef  Var)

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

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

◆ LLVMDIVariableGetLine()

unsigned LLVMDIVariableGetLine ( LLVMMetadataRef  Var)

Get the source line where this DIVariable is declared.

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

◆ LLVMDIVariableGetScope()

LLVMMetadataRef LLVMDIVariableGetScope ( LLVMMetadataRef  Var)

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

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

◆ LLVMGetDINodeTag()

uint16_t LLVMGetDINodeTag ( LLVMMetadataRef  MD)

Get the dwarf::Tag of a DINode

◆ LLVMGetMetadataKind()

LLVMMetadataKind LLVMGetMetadataKind ( LLVMMetadataRef  Metadata)

Obtain the enumerated type of a Metadata instance.

See also
llvm::Metadata::getMetadataID()

◆ LLVMGetModuleDebugMetadataVersion()

unsigned LLVMGetModuleDebugMetadataVersion ( LLVMModuleRef  Module)

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

◆ LLVMGetSubprogram()

LLVMMetadataRef LLVMGetSubprogram ( LLVMValueRef  Func)

Get the metadata of the subprogram attached to a function.

See also
llvm::Function::getSubprogram()

◆ LLVMInstructionGetDebugLoc()

LLVMMetadataRef LLVMInstructionGetDebugLoc ( LLVMValueRef  Inst)

Get the debug location for the given instruction.

See also
llvm::Instruction::getDebugLoc()

◆ 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 to Loc.

See also
llvm::Instruction::setDebugLoc()

◆ LLVMMetadataReplaceAllUsesWith()

void LLVMMetadataReplaceAllUsesWith ( LLVMMetadataRef  TempTargetMetadata,
LLVMMetadataRef  Replacement 
)

Replace all uses of temporary metadata.

Parameters
TempTargetMetadataThe temporary metadata node.
ReplacementThe replacement metadata node.

◆ LLVMSetSubprogram()

void LLVMSetSubprogram ( LLVMValueRef  Func,
LLVMMetadataRef  SP 
)

Set the subprogram attached to a function.

See also
llvm::Function::setSubprogram()

◆ 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.

◆ LLVMTemporaryMDNode()

LLVMMetadataRef LLVMTemporaryMDNode ( LLVMContextRef  Ctx,
LLVMMetadataRef Data,
size_t  NumElements 
)

Create a new temporary MDNode. Suitable for use in constructing cyclic MDNode structures. A temporary MDNode is not uniqued, may be RAUW'd, and must be manually deleted with LLVMDisposeTemporaryMDNode.

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