LLVM 22.0.0git
Typedefs | Enumerations | Functions
DebugInfo.h File Reference
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
#include "llvm-c/Visibility.h"

Go to the source code of this file.

Typedefs

typedef unsigned LLVMMetadataKind
 
typedef unsigned 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 ,
  LLVMDISubrangeTypeMetadataKind , LLVMDIFixedPointTypeMetadataKind
}
 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

LLVM_C_ABI unsigned LLVMDebugMetadataVersion (void)
 The current debug metadata version number.
 
LLVM_C_ABI unsigned LLVMGetModuleDebugMetadataVersion (LLVMModuleRef Module)
 The version of debug metadata that's present in the provided Module.
 
LLVM_C_ABI LLVMBool LLVMStripModuleDebugInfo (LLVMModuleRef Module)
 Strip debug info in the module if it exists.
 
LLVM_C_ABI LLVMDIBuilderRef LLVMCreateDIBuilderDisallowUnresolved (LLVMModuleRef M)
 Construct a builder for a module, and do not allow for unresolved nodes attached to the module.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI void LLVMDisposeDIBuilder (LLVMDIBuilderRef Builder)
 Deallocates the DIBuilder and everything it owns.
 
LLVM_C_ABI void LLVMDIBuilderFinalize (LLVMDIBuilderRef Builder)
 Construct any deferred debug info descriptors.
 
LLVM_C_ABI void LLVMDIBuilderFinalizeSubprogram (LLVMDIBuilderRef Builder, LLVMMetadataRef Subprogram)
 Finalize a specific subprogram.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned Line, unsigned Column)
 Create a descriptor for a lexical block with the specified parent context.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateLexicalBlockFile (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned Discriminator)
 Create a descriptor for a lexical block with a new file attached.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromNamespace (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef NS, LLVMMetadataRef File, unsigned Line)
 Create a descriptor for an imported namespace.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromModule (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef M, LLVMMetadataRef File, unsigned Line, LLVMMetadataRef *Elements, unsigned NumElements)
 Create a descriptor for an imported module.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateDebugLocation (LLVMContextRef Ctx, unsigned Line, unsigned Column, LLVMMetadataRef Scope, LLVMMetadataRef InlinedAt)
 Creates a new DebugLocation that describes a source location.
 
LLVM_C_ABI unsigned LLVMDILocationGetLine (LLVMMetadataRef Location)
 Get the line number of this debug location.
 
LLVM_C_ABI unsigned LLVMDILocationGetColumn (LLVMMetadataRef Location)
 Get the column number of this debug location.
 
LLVM_C_ABI LLVMMetadataRef LLVMDILocationGetScope (LLVMMetadataRef Location)
 Get the local scope associated with this debug location.
 
LLVM_C_ABI LLVMMetadataRef LLVMDILocationGetInlinedAt (LLVMMetadataRef Location)
 Get the "inline at" location associated with this debug location.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIScopeGetFile (LLVMMetadataRef Scope)
 Get the metadata of the file associated with a given scope.
 
LLVM_C_ABI const charLLVMDIFileGetDirectory (LLVMMetadataRef File, unsigned *Len)
 Get the directory of a given file.
 
LLVM_C_ABI const charLLVMDIFileGetFilename (LLVMMetadataRef File, unsigned *Len)
 Get the name of a given file.
 
LLVM_C_ABI const charLLVMDIFileGetSource (LLVMMetadataRef File, unsigned *Len)
 Get the source of a given file.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderGetOrCreateTypeArray (LLVMDIBuilderRef Builder, LLVMMetadataRef *Data, size_t NumElements)
 Create a type array.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateSubroutineType (LLVMDIBuilderRef Builder, LLVMMetadataRef File, LLVMMetadataRef *ParameterTypes, unsigned NumParameterTypes, LLVMDIFlags Flags)
 Create subroutine type.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateTempMacroFile (LLVMDIBuilderRef Builder, LLVMMetadataRef ParentMacroFile, unsigned Line, LLVMMetadataRef File)
 Create debugging information temporary entry for a macro file.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateEnumerator (LLVMDIBuilderRef Builder, const char *Name, size_t NameLen, int64_t Value, LLVMBool IsUnsigned)
 Create debugging information entry for an enumerator.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateEnumeratorOfArbitraryPrecision (LLVMDIBuilderRef Builder, const char *Name, size_t NameLen, uint64_t SizeInBits, const uint64_t Words[], LLVMBool IsUnsigned)
 Create debugging information entry for an enumerator of arbitrary precision.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateArrayType (LLVMDIBuilderRef Builder, uint64_t Size, uint32_t AlignInBits, LLVMMetadataRef Ty, LLVMMetadataRef *Subscripts, unsigned NumSubscripts)
 Create debugging information entry for an array.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateSetType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNumber, uint64_t SizeInBits, uint32_t AlignInBits, LLVMMetadataRef BaseTy)
 Create debugging information entry for a set.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateSubrangeType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, unsigned LineNo, LLVMMetadataRef File, uint64_t SizeInBits, uint32_t AlignInBits, LLVMDIFlags Flags, LLVMMetadataRef BaseTy, LLVMMetadataRef LowerBound, LLVMMetadataRef UpperBound, LLVMMetadataRef Stride, LLVMMetadataRef Bias)
 Create a descriptor for a subrange with dynamic bounds.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateDynamicArrayType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name, size_t NameLen, unsigned LineNo, LLVMMetadataRef File, uint64_t Size, uint32_t AlignInBits, LLVMMetadataRef Ty, LLVMMetadataRef *Subscripts, unsigned NumSubscripts, LLVMMetadataRef DataLocation, LLVMMetadataRef Associated, LLVMMetadataRef Allocated, LLVMMetadataRef Rank, LLVMMetadataRef BitStride)
 Create debugging information entry for a dynamic array.
 
LLVM_C_ABI void LLVMReplaceArrays (LLVMDIBuilderRef Builder, LLVMMetadataRef *T, LLVMMetadataRef *Elements, unsigned NumElements)
 Replace arrays.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateVectorType (LLVMDIBuilderRef Builder, uint64_t Size, uint32_t AlignInBits, LLVMMetadataRef Ty, LLVMMetadataRef *Subscripts, unsigned NumSubscripts)
 Create debugging information entry for a vector type.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateUnspecifiedType (LLVMDIBuilderRef Builder, const char *Name, size_t NameLen)
 Create a DWARF unspecified type.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateObjectPointerType (LLVMDIBuilderRef Builder, LLVMMetadataRef Type, LLVMBool Implicit)
 Create a uniqued DIType* clone with FlagObjectPointer.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateQualifiedType (LLVMDIBuilderRef Builder, unsigned Tag, LLVMMetadataRef Type)
 Create debugging information entry for a qualified type, e.g.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateReferenceType (LLVMDIBuilderRef Builder, unsigned Tag, LLVMMetadataRef Type)
 Create debugging information entry for a c++ style reference or rvalue reference type.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateNullPtrType (LLVMDIBuilderRef Builder)
 Create C++11 nullptr type.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateArtificialType (LLVMDIBuilderRef Builder, LLVMMetadataRef Type)
 Create a uniqued DIType* clone with FlagArtificial set.
 
LLVM_C_ABI const charLLVMDITypeGetName (LLVMMetadataRef DType, size_t *Length)
 Get the name of this DIType.
 
LLVM_C_ABI uint64_t LLVMDITypeGetSizeInBits (LLVMMetadataRef DType)
 Get the size of this DIType in bits.
 
LLVM_C_ABI uint64_t LLVMDITypeGetOffsetInBits (LLVMMetadataRef DType)
 Get the offset of this DIType in bits.
 
LLVM_C_ABI uint32_t LLVMDITypeGetAlignInBits (LLVMMetadataRef DType)
 Get the alignment of this DIType in bits.
 
LLVM_C_ABI unsigned LLVMDITypeGetLine (LLVMMetadataRef DType)
 Get the source line where this DIType is declared.
 
LLVM_C_ABI LLVMDIFlags LLVMDITypeGetFlags (LLVMMetadataRef DType)
 Get the flags associated with this DIType.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderGetOrCreateSubrange (LLVMDIBuilderRef Builder, int64_t LowerBound, int64_t Count)
 Create a descriptor for a value range.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderGetOrCreateArray (LLVMDIBuilderRef Builder, LLVMMetadataRef *Data, size_t NumElements)
 Create an array of DI Nodes.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI uint16_t LLVMGetDINodeTag (LLVMMetadataRef MD)
 Get the dwarf::Tag of a DINode.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIGlobalVariableExpressionGetVariable (LLVMMetadataRef GVE)
 Retrieves the DIVariable associated with this global variable expression.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIGlobalVariableExpressionGetExpression (LLVMMetadataRef GVE)
 Retrieves the DIExpression associated with this global variable expression.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIVariableGetFile (LLVMMetadataRef Var)
 Get the metadata of the file associated with a given variable.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIVariableGetScope (LLVMMetadataRef Var)
 Get the metadata of the scope associated with a given variable.
 
LLVM_C_ABI unsigned LLVMDIVariableGetLine (LLVMMetadataRef Var)
 Get the source line where this DIVariable is declared.
 
LLVM_C_ABI LLVMMetadataRef LLVMTemporaryMDNode (LLVMContextRef Ctx, LLVMMetadataRef *Data, size_t NumElements)
 Create a new temporary MDNode.
 
LLVM_C_ABI void LLVMDisposeTemporaryMDNode (LLVMMetadataRef TempNode)
 Deallocate a temporary node.
 
LLVM_C_ABI void LLVMMetadataReplaceAllUsesWith (LLVMMetadataRef TempTargetMetadata, LLVMMetadataRef Replacement)
 Replace all uses of temporary metadata.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI LLVMDbgRecordRef LLVMDIBuilderInsertDeclareRecordBefore (LLVMDIBuilderRef Builder, LLVMValueRef Storage, LLVMMetadataRef VarInfo, LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMValueRef Instr)
 Only use in "new debug format" (LLVMIsNewDbgInfoFormat() is true).
 
LLVM_C_ABI LLVMDbgRecordRef LLVMDIBuilderInsertDeclareRecordAtEnd (LLVMDIBuilderRef Builder, LLVMValueRef Storage, LLVMMetadataRef VarInfo, LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMBasicBlockRef Block)
 Only use in "new debug format" (LLVMIsNewDbgInfoFormat() is true).
 
LLVM_C_ABI LLVMDbgRecordRef LLVMDIBuilderInsertDbgValueRecordBefore (LLVMDIBuilderRef Builder, LLVMValueRef Val, LLVMMetadataRef VarInfo, LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMValueRef Instr)
 Only use in "new debug format" (LLVMIsNewDbgInfoFormat() is true).
 
LLVM_C_ABI LLVMDbgRecordRef LLVMDIBuilderInsertDbgValueRecordAtEnd (LLVMDIBuilderRef Builder, LLVMValueRef Val, LLVMMetadataRef VarInfo, LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMBasicBlockRef Block)
 Only use in "new debug format" (LLVMIsNewDbgInfoFormat() is true).
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI LLVMMetadataRef LLVMGetSubprogram (LLVMValueRef Func)
 Get the metadata of the subprogram attached to a function.
 
LLVM_C_ABI void LLVMSetSubprogram (LLVMValueRef Func, LLVMMetadataRef SP)
 Set the subprogram attached to a function.
 
LLVM_C_ABI unsigned LLVMDISubprogramGetLine (LLVMMetadataRef Subprogram)
 Get the line associated with a given subprogram.
 
LLVM_C_ABI void LLVMDISubprogramReplaceType (LLVMMetadataRef Subprogram, LLVMMetadataRef SubroutineType)
 Replace the subprogram subroutine type.
 
LLVM_C_ABI LLVMMetadataRef LLVMInstructionGetDebugLoc (LLVMValueRef Inst)
 Get the debug location for the given instruction.
 
LLVM_C_ABI void LLVMInstructionSetDebugLoc (LLVMValueRef Inst, LLVMMetadataRef Loc)
 Set the debug location for the given instruction.
 
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateLabel (LLVMDIBuilderRef Builder, LLVMMetadataRef Context, const char *Name, size_t NameLen, LLVMMetadataRef File, unsigned LineNo, LLVMBool AlwaysPreserve)
 Create a new descriptor for a label.
 
LLVM_C_ABI LLVMDbgRecordRef LLVMDIBuilderInsertLabelBefore (LLVMDIBuilderRef Builder, LLVMMetadataRef LabelInfo, LLVMMetadataRef Location, LLVMValueRef InsertBefore)
 Insert a new llvm.dbg.label intrinsic call.
 
LLVM_C_ABI LLVMDbgRecordRef LLVMDIBuilderInsertLabelAtEnd (LLVMDIBuilderRef Builder, LLVMMetadataRef LabelInfo, LLVMMetadataRef Location, LLVMBasicBlockRef InsertAtEnd)
 Insert a new llvm.dbg.label intrinsic call.
 
LLVM_C_ABI LLVMMetadataKind LLVMGetMetadataKind (LLVMMetadataRef Metadata)
 Obtain the enumerated type of a Metadata instance.