Project Alice
|
Typedefs | |
typedef unsigned | LLVMMetadataKind |
typedef unsigned | LLVMDWARFTypeEncoding |
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 unsigned LLVMDWARFTypeEncoding |
An LLVM DWARF type encoding.
Definition at line 190 of file DebugInfo.h.
typedef unsigned LLVMMetadataKind |
Definition at line 185 of file DebugInfo.h.
anonymous enum |
The kind of metadata nodes.
Definition at line 147 of file DebugInfo.h.
enum LLVMDIFlags |
Debug info flags.
Definition at line 34 of file DebugInfo.h.
The amount of debug information to emit.
Enumerator | |
---|---|
LLVMDWARFEmissionNone | |
LLVMDWARFEmissionFull | |
LLVMDWARFEmissionLineTablesOnly |
Definition at line 138 of file DebugInfo.h.
Describes the kind of macro declaration used for LLVMDIBuilderCreateMacro.
Enumerator | |
---|---|
LLVMDWARFMacinfoRecordTypeDefine | |
LLVMDWARFMacinfoRecordTypeMacro | |
LLVMDWARFMacinfoRecordTypeStartFile | |
LLVMDWARFMacinfoRecordTypeEndFile | |
LLVMDWARFMacinfoRecordTypeVendorExt |
Definition at line 197 of file DebugInfo.h.
Source languages known by DWARF.
Definition at line 78 of file DebugInfo.h.
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
.
LLVMDIBuilderRef LLVMCreateDIBuilderDisallowUnresolved | ( | LLVMModuleRef | M | ) |
Construct a builder for a module, and do not allow for unresolved nodes attached to the module.
unsigned LLVMDebugMetadataVersion | ( | void | ) |
The current debug metadata version number.
LLVMMetadataRef LLVMDIBuilderCreateArrayType | ( | LLVMDIBuilderRef | Builder, |
uint64_t | Size, | ||
uint32_t | AlignInBits, | ||
LLVMMetadataRef | Ty, | ||
LLVMMetadataRef * | Subscripts, | ||
unsigned | NumSubscripts | ||
) |
Create debugging information entry for an array.
Builder | The DIBuilder. |
Size | Array size. |
AlignInBits | Alignment. |
Ty | Element type. |
Subscripts | Subscripts. |
NumSubscripts | Number of subscripts. |
LLVMMetadataRef LLVMDIBuilderCreateArtificialType | ( | LLVMDIBuilderRef | Builder, |
LLVMMetadataRef | Type | ||
) |
Create a uniqued DIType* clone with FlagArtificial set.
Builder | The DIBuilder. |
Type | The underlying type. |
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.
Builder | The DIBuilder. |
Scope | The local scope the variable is declared in. |
Name | Variable name. |
NameLen | Length of variable name. |
File | File where this variable is defined. |
LineNo | Line number. |
Ty | Metadata describing the type of the variable. |
AlwaysPreserve | If true, this descriptor will survive optimizations. |
Flags | Flags. |
AlignInBits | Variable alignment. |
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.
Builder | The DIBuilder. |
Name | Type name. |
NameLen | Length of type name. |
SizeInBits | Size of the type. |
Encoding | DWARF encoding code, e.g. LLVMDWARFTypeEncoding_float . |
Flags | Flags to encode optional attribute like endianity |
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.
Builder | The DIBuilder. |
Scope | Member scope. |
Name | Member name. |
NameLen | Length of member name. |
File | File where this member is defined. |
LineNumber | Line number. |
SizeInBits | Member size. |
OffsetInBits | Member offset. |
StorageOffsetInBits | Member storage offset. |
Flags | Flags to encode member attribute. |
Type | Parent 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 | ||
) |
Create debugging information entry for a class.
Scope | Scope in which this class is defined. |
Name | Class name. |
NameLen | The length of the C string passed to Name . |
File | File where this member is defined. |
LineNumber | Line number. |
SizeInBits | Member size. |
AlignInBits | Member alignment. |
OffsetInBits | Member offset. |
Flags | Flags to encode member attribute, e.g. private. |
DerivedFrom | Debug info of the base class of this type. |
Elements | Class members. |
NumElements | Number of class elements. |
VTableHolder | Debug 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. |
TemplateParamsNode | Template type parameters. |
UniqueIdentifier | A unique identifier for the type. |
UniqueIdentifierLen | Length of the unique identifier. |
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.
Lang | Source programming language, eg. LLVMDWARFSourceLanguageC99 |
FileRef | File info. |
Producer | Identify the producer of debugging information and code. Usually this is a compiler version string. |
ProducerLen | The length of the C string passed to Producer . |
isOptimized | A boolean flag which indicates whether optimization is enabled or not. |
Flags | This 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. |
FlagsLen | The length of the C string passed to Flags . |
RuntimeVer | This indicates runtime version for languages like Objective-C. |
SplitName | The name of the file that we'll split debug info out into. |
SplitNameLen | The length of the C string passed to SplitName . |
Kind | The kind of debug information to generate. |
DWOId | The DWOId if this is a split skeleton compile unit. |
SplitDebugInlining | Whether to emit inline debug info. |
DebugInfoForProfiling | Whether to emit extra debug info for profile collection. |
SysRoot | The Clang system root (value of -isysroot). |
SysRootLen | The length of the C string passed to SysRoot . |
SDK | The SDK. On Darwin, the last component of the sysroot. |
SDKLen | The length of the C string passed to SDK . |
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.
Builder | The DIBuilder. |
Value | The constant value. |
LLVMMetadataRef LLVMDIBuilderCreateDebugLocation | ( | LLVMContextRef | Ctx, |
unsigned | Line, | ||
unsigned | Column, | ||
LLVMMetadataRef | Scope, | ||
LLVMMetadataRef | InlinedAt | ||
) |
Creates a new DebugLocation that describes a source location.
Line | The line in the source file. |
Column | The column in the source file. |
Scope | The scope in which the location resides. |
InlinedAt | The scope where this location was inlined, if at all. (optional). |
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.
Builder | The DIBuilder. |
Scope | Scope in which this enumeration is defined. |
Name | Enumeration name. |
NameLen | Length of enumeration name. |
File | File where this member is defined. |
LineNumber | Line number. |
SizeInBits | Member size. |
AlignInBits | Member alignment. |
Elements | Enumeration elements. |
NumElements | Number of enumeration elements. |
ClassTy | Underlying type of a C++11/ObjC fixed enum. |
LLVMMetadataRef LLVMDIBuilderCreateEnumerator | ( | LLVMDIBuilderRef | Builder, |
const char * | Name, | ||
size_t | NameLen, | ||
int64_t | Value, | ||
LLVMBool | IsUnsigned | ||
) |
Create debugging information entry for an enumerator.
Builder | The DIBuilder. |
Name | Enumerator name. |
NameLen | Length of enumerator name. |
Value | Enumerator value. |
IsUnsigned | True if the value is unsigned. |
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.
Builder | The DIBuilder. |
Addr | An array of complex address operations. |
Length | Length of the address operation array. |
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.
Builder | The DIBuilder . |
Filename | File name. |
FilenameLen | The length of the C string passed to Filename . |
Directory | Directory. |
DirectoryLen | The length of the C string passed to Directory . |
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.
Builder | The DIBuilder. |
Tag | A unique tag for this type. |
Name | Type name. |
NameLen | Length of type name. |
Scope | Type scope. |
File | File where this type is defined. |
Line | Line number where this type is defined. |
RuntimeLang | Indicates runtime version for languages like Objective-C. |
SizeInBits | Member size. |
AlignInBits | Member alignment. |
UniqueIdentifier | A unique identifier for the type. |
UniqueIdentifierLen | Length of the unique identifier. |
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.
Builder | The DIBuilder . |
Scope | Function scope. |
Name | Function name. |
NameLen | Length of enumeration name. |
LinkageName | Mangled function name. |
LinkageNameLen | Length of linkage name. |
File | File where this variable is defined. |
LineNo | Line number. |
Ty | Function type. |
IsLocalToUnit | True if this function is not externally visible. |
IsDefinition | True if this is a function definition. |
ScopeLine | Set to the beginning of the scope this starts |
Flags | E.g.: LLVMDIFlagLValueReference . These flags are used to emit dwarf attributes. |
IsOptimized | True if optimization is ON. |
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.
Scope | Variable scope. |
Name | Name of the variable. |
NameLen | The length of the C string passed to Name . |
Linkage | Mangled name of the variable. |
LinkLen | The length of the C string passed to Linkage . |
File | File where this variable is defined. |
LineNo | Line number. |
Ty | Variable Type. |
LocalToUnit | Boolean flag indicate whether this variable is externally visible or not. |
Expr | The location of the global relative to the attached GlobalVariable. |
Decl | Reference to the corresponding declaration. variables. |
AlignInBits | Variable alignment(or 0 if no alignment attr was specified) |
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.
Builder | The DIBuilder. |
Scope | The scope this module is imported into. |
Decl | The declaration (or definition) of a function, type, or variable. |
File | File where the declaration is located. |
Line | Line number of the declaration. |
Name | A name that uniquely identifies this imported declaration. |
NameLen | The length of the C string passed to Name . |
Elements | Renamed elements. |
NumElements | Number of renamed elements. |
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.
Builder | The DIBuilder . |
Scope | The scope this module is imported into |
ImportedEntity | Previous imported entity to alias. |
File | File where the declaration is located. |
Line | Line number of the declaration. |
Elements | Renamed elements. |
NumElements | Number of renamed elements. |
LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromModule | ( | LLVMDIBuilderRef | Builder, |
LLVMMetadataRef | Scope, | ||
LLVMMetadataRef | M, | ||
LLVMMetadataRef | File, | ||
unsigned | Line, | ||
LLVMMetadataRef * | Elements, | ||
unsigned | NumElements | ||
) |
Create a descriptor for an imported module.
Builder | The DIBuilder . |
Scope | The scope this module is imported into |
M | The module being imported here |
File | File where the declaration is located. |
Line | Line number of the declaration. |
Elements | Renamed elements. |
NumElements | Number of renamed elements. |
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.
Builder | The DIBuilder . |
Scope | The scope this module is imported into |
File | File where the declaration is located. |
Line | Line number of the declaration. |
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.
Builder | The DIBuilder. |
Ty | Original type. |
BaseTy | Base type. Ty is inherits from base. |
BaseOffset | Base offset. |
VBPtrOffset | Virtual base pointer offset. |
Flags | Flags to describe inheritance attribute, e.g. private |
LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock | ( | LLVMDIBuilderRef | Builder, |
LLVMMetadataRef | Scope, | ||
LLVMMetadataRef | File, | ||
unsigned | Line, | ||
unsigned | Column | ||
) |
Create a descriptor for a lexical block with the specified parent context.
Builder | The DIBuilder . |
Scope | Parent lexical block. |
File | Source file. |
Line | The line in the source file. |
Column | The column in the source file. |
LLVMMetadataRef LLVMDIBuilderCreateLexicalBlockFile | ( | LLVMDIBuilderRef | Builder, |
LLVMMetadataRef | Scope, | ||
LLVMMetadataRef | File, | ||
unsigned | Discriminator | ||
) |
Create a descriptor for a lexical block with a new file attached.
Builder | The DIBuilder . |
Scope | Lexical block. |
File | Source file. |
Discriminator | DWARF path discriminator value. |
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.
Builder | The DIBuilder. |
ParentMacroFile | Macro parent (could be NULL). |
Line | Source line number where the macro is defined. |
RecordType | DW_MACINFO_define or DW_MACINFO_undef. |
Name | Macro name. |
NameLen | Macro name length. |
Value | Macro value. |
ValueLen | Macro value length. |
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.
Builder | The DIBuilder. |
PointeeType | Type pointed to by this pointer. |
ClassType | Type for which this pointer points to members of. |
SizeInBits | Size. |
AlignInBits | Alignment. |
Flags | Flags. |
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.
Builder | The DIBuilder. |
Scope | Member scope. |
Name | Member name. |
NameLen | Length of member name. |
File | File where this member is defined. |
LineNo | Line number. |
SizeInBits | Member size. |
AlignInBits | Member alignment. |
OffsetInBits | Member offset. |
Flags | Flags to encode member attribute, e.g. private |
Ty | Parent type. |
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.
Builder | The DIBuilder . |
ParentScope | The parent scope containing this module declaration. |
Name | Module name. |
NameLen | The length of the C string passed to Name . |
ConfigMacros | A space-separated shell-quoted list of -D macro definitions as they would appear on a command line. |
ConfigMacrosLen | The length of the C string passed to ConfigMacros . |
IncludePath | The path to the module map file. |
IncludePathLen | The length of the C string passed to IncludePath . |
APINotesFile | The path to an API notes file for the module. |
APINotesFileLen | The length of the C string passed to APINotestFile . |
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.
Builder | The DIBuilder . |
ParentScope | The parent scope containing this module declaration. |
Name | NameSpace name. |
NameLen | The length of the C string passed to Name . |
ExportSymbols | Whether or not the namespace exports symbols, e.g. this is true of C++ inline namespaces. |
LLVMMetadataRef LLVMDIBuilderCreateNullPtrType | ( | LLVMDIBuilderRef | Builder | ) |
Create C++11 nullptr type.
Builder | The DIBuilder. |
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.
Builder | The DIBuilder. |
Name | Member name. |
NameLen | The length of the C string passed to Name . |
File | File where this member is defined. |
LineNo | Line number. |
SizeInBits | Member size. |
AlignInBits | Member alignment. |
OffsetInBits | Member offset. |
Flags | Flags to encode member attribute, e.g. private |
Ty | Parent type. |
PropertyNode | Property associated with this ivar. |
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.
Builder | The DIBuilder. |
Name | Property name. |
NameLen | The length of the C string passed to Name . |
File | File where this property is defined. |
LineNo | Line number. |
GetterName | Name of the Objective C property getter selector. |
GetterNameLen | The length of the C string passed to GetterName . |
SetterName | Name of the Objective C property setter selector. |
SetterNameLen | The length of the C string passed to SetterName . |
PropertyAttributes | Objective C property attributes. |
Ty | Type. |
LLVMMetadataRef LLVMDIBuilderCreateObjectPointerType | ( | LLVMDIBuilderRef | Builder, |
LLVMMetadataRef | Type | ||
) |
Create a uniqued DIType* clone with FlagObjectPointer and FlagArtificial set.
Builder | The DIBuilder. |
Type | The underlying type to which this pointer points. |
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.
Builder | The DIBuilder. |
Scope | The local scope the variable is declared in. |
Name | Variable name. |
NameLen | Length of variable name. |
ArgNo | Unique argument number for this variable; starts at 1. |
File | File where this variable is defined. |
LineNo | Line number. |
Ty | Metadata describing the type of the variable. |
AlwaysPreserve | If true, this descriptor will survive optimizations. |
Flags | Flags. |
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.
Builder | The DIBuilder. |
PointeeTy | Type pointed by this pointer. |
SizeInBits | Size. |
AlignInBits | Alignment. (optional, pass 0 to ignore) |
AddressSpace | DWARF address space. (optional, pass 0 to ignore) |
Name | Pointer type name. (optional) |
NameLen | Length of pointer type name. (optional) |
LLVMMetadataRef LLVMDIBuilderCreateQualifiedType | ( | LLVMDIBuilderRef | Builder, |
unsigned | Tag, | ||
LLVMMetadataRef | Type | ||
) |
Create debugging information entry for a qualified type, e.g. 'const int'.
Builder | The DIBuilder. |
Tag | Tag identifying type, e.g. LLVMDWARFTypeQualifier_volatile_type |
Type | Base Type. |
LLVMMetadataRef LLVMDIBuilderCreateReferenceType | ( | LLVMDIBuilderRef | Builder, |
unsigned | Tag, | ||
LLVMMetadataRef | Type | ||
) |
Create debugging information entry for a c++ style reference or rvalue reference type.
Builder | The DIBuilder. |
Tag | Tag identifying type, |
Type | Base Type. |
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.
Builder | The DIBuilder. |
Tag | A unique tag for this type. |
Name | Type name. |
NameLen | Length of type name. |
Scope | Type scope. |
File | File where this type is defined. |
Line | Line number where this type is defined. |
RuntimeLang | Indicates runtime version for languages like Objective-C. |
SizeInBits | Member size. |
AlignInBits | Member alignment. |
Flags | Flags. |
UniqueIdentifier | A unique identifier for the type. |
UniqueIdentifierLen | Length of the unique identifier. |
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.
Builder | The DIBuilder. |
Scope | Member scope. |
Name | Member name. |
NameLen | Length of member name. |
File | File where this member is declared. |
LineNumber | Line number. |
Type | Type of the static member. |
Flags | Flags to encode member attribute, e.g. private. |
ConstantVal | Const initializer of the member. |
AlignInBits | Member alignment. |
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.
Builder | The DIBuilder. |
Scope | Scope in which this struct is defined. |
Name | Struct name. |
NameLen | Struct name length. |
File | File where this member is defined. |
LineNumber | Line number. |
SizeInBits | Member size. |
AlignInBits | Member alignment. |
Flags | Flags to encode member attribute, e.g. private |
Elements | Struct elements. |
NumElements | Number of struct elements. |
RunTimeLang | Optional parameter, Objective-C runtime version. |
VTableHolder | The object containing the vtable for the struct. |
UniqueId | A unique identifier for the struct. |
UniqueIdLen | Length of the unique identifier for the struct. |
LLVMMetadataRef LLVMDIBuilderCreateSubroutineType | ( | LLVMDIBuilderRef | Builder, |
LLVMMetadataRef | File, | ||
LLVMMetadataRef * | ParameterTypes, | ||
unsigned | NumParameterTypes, | ||
LLVMDIFlags | Flags | ||
) |
Create subroutine type.
Builder | The DIBuilder. |
File | The file in which the subroutine resides. |
ParameterTypes | An array of subroutine parameter types. This includes return type at 0th index. |
NumParameterTypes | The number of parameter types in ParameterTypes |
Flags | E.g.: LLVMDIFlagLValueReference . These flags are used to emit dwarf attributes. |
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.
Scope | Variable scope. |
Name | Name of the variable. |
NameLen | The length of the C string passed to Name . |
Linkage | Mangled name of the variable. |
LnkLen | The length of the C string passed to Linkage . |
File | File where this variable is defined. |
LineNo | Line number. |
Ty | Variable Type. |
LocalToUnit | Boolean flag indicate whether this variable is externally visible or not. |
Decl | Reference to the corresponding declaration. |
AlignInBits | Variable alignment(or 0 if no alignment attr was specified) |
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.
Builder | The DIBuilder. |
ParentMacroFile | Macro parent (could be NULL). |
Line | Source line number where the macro file is included. |
File | File descriptor containing the name of the macro file. |
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.
Builder | The DIBuilder. |
Type | Original type. |
Name | Typedef name. |
File | File where this type is defined. |
LineNo | Line number. |
Scope | The surrounding context for the typedef. |
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.
Builder | The DIBuilder. |
Scope | Scope in which this union is defined. |
Name | Union name. |
NameLen | Length of union name. |
File | File where this member is defined. |
LineNumber | Line number. |
SizeInBits | Member size. |
AlignInBits | Member alignment. |
Flags | Flags to encode member attribute, e.g. private |
Elements | Union elements. |
NumElements | Number of union elements. |
RunTimeLang | Optional parameter, Objective-C runtime version. |
UniqueId | A unique identifier for the union. |
UniqueIdLen | Length of unique identifier. |
LLVMMetadataRef LLVMDIBuilderCreateUnspecifiedType | ( | LLVMDIBuilderRef | Builder, |
const char * | Name, | ||
size_t | NameLen | ||
) |
Create a DWARF unspecified type.
Builder | The DIBuilder. |
Name | The unspecified type's name. |
NameLen | Length of type name. |
LLVMMetadataRef LLVMDIBuilderCreateVectorType | ( | LLVMDIBuilderRef | Builder, |
uint64_t | Size, | ||
uint32_t | AlignInBits, | ||
LLVMMetadataRef | Ty, | ||
LLVMMetadataRef * | Subscripts, | ||
unsigned | NumSubscripts | ||
) |
Create debugging information entry for a vector type.
Builder | The DIBuilder. |
Size | Vector size. |
AlignInBits | Alignment. |
Ty | Element type. |
Subscripts | Subscripts. |
NumSubscripts | Number of subscripts. |
void LLVMDIBuilderFinalize | ( | LLVMDIBuilderRef | Builder | ) |
Construct any deferred debug info descriptors.
void LLVMDIBuilderFinalizeSubprogram | ( | LLVMDIBuilderRef | Builder, |
LLVMMetadataRef | Subprogram | ||
) |
Finalize a specific subprogram. No new variables may be added to this subprogram afterwards.
LLVMMetadataRef LLVMDIBuilderGetOrCreateArray | ( | LLVMDIBuilderRef | Builder, |
LLVMMetadataRef * | Data, | ||
size_t | NumElements | ||
) |
Create an array of DI Nodes.
Builder | The DIBuilder. |
Data | The DI Node elements. |
NumElements | Number of DI Node elements. |
LLVMMetadataRef LLVMDIBuilderGetOrCreateSubrange | ( | LLVMDIBuilderRef | Builder, |
int64_t | LowerBound, | ||
int64_t | Count | ||
) |
Create a descriptor for a value range.
Builder | The DIBuilder. |
LowerBound | Lower bound of the subrange, e.g. 0 for C, 1 for Fortran. |
Count | Count of elements in the subrange. |
LLVMMetadataRef LLVMDIBuilderGetOrCreateTypeArray | ( | LLVMDIBuilderRef | Builder, |
LLVMMetadataRef * | Data, | ||
size_t | NumElements | ||
) |
Create a type array.
Builder | The DIBuilder. |
Data | The type elements. |
NumElements | Number of type elements. |
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.
Builder | The DIBuilder. |
Val | The value of the variable. |
VarInfo | The variable's debug info descriptor. |
Expr | A complex location expression for the variable. |
DebugLoc | Debug info location. |
Block | Basic block acting as a location for the new intrinsic. |
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.
Builder | The DIBuilder. |
Val | The value of the variable. |
VarInfo | The variable's debug info descriptor. |
Expr | A complex location expression for the variable. |
DebugLoc | Debug info location. |
Instr | Instruction acting as a location for the new intrinsic. |
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.
Builder | The DIBuilder. |
Storage | The storage of the variable to declare. |
VarInfo | The variable's debug info descriptor. |
Expr | A complex location expression for the variable. |
DebugLoc | Debug info location. |
Block | Basic block acting as a location for the new intrinsic. |
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.
Builder | The DIBuilder. |
Storage | The storage of the variable to declare. |
VarInfo | The variable's debug info descriptor. |
Expr | A complex location expression for the variable. |
DebugLoc | Debug info location. |
Instr | Instruction acting as a location for the new intrinsic. |
const char * LLVMDIFileGetDirectory | ( | LLVMMetadataRef | File, |
unsigned * | Len | ||
) |
Get the directory of a given file.
File | The file object. |
Len | The length of the returned string. |
const char * LLVMDIFileGetFilename | ( | LLVMMetadataRef | File, |
unsigned * | Len | ||
) |
Get the name of a given file.
File | The file object. |
Len | The length of the returned string. |
const char * LLVMDIFileGetSource | ( | LLVMMetadataRef | File, |
unsigned * | Len | ||
) |
Get the source of a given file.
File | The file object. |
Len | The length of the returned string. |
LLVMMetadataRef LLVMDIGlobalVariableExpressionGetExpression | ( | LLVMMetadataRef | GVE | ) |
Retrieves the DIExpression
associated with this global variable expression.
GVE | The global variable expression. |
LLVMMetadataRef LLVMDIGlobalVariableExpressionGetVariable | ( | LLVMMetadataRef | GVE | ) |
Retrieves the DIVariable
associated with this global variable expression.
GVE | The global variable expression. |
unsigned LLVMDILocationGetColumn | ( | LLVMMetadataRef | Location | ) |
Get the column number of this debug location.
Location | The debug location. |
LLVMMetadataRef LLVMDILocationGetInlinedAt | ( | LLVMMetadataRef | Location | ) |
Get the "inline at" location associated with this debug location.
Location | The debug location. |
unsigned LLVMDILocationGetLine | ( | LLVMMetadataRef | Location | ) |
Get the line number of this debug location.
Location | The debug location. |
LLVMMetadataRef LLVMDILocationGetScope | ( | LLVMMetadataRef | Location | ) |
Get the local scope associated with this debug location.
Location | The debug location. |
LLVMMetadataRef LLVMDIScopeGetFile | ( | LLVMMetadataRef | Scope | ) |
Get the metadata of the file associated with a given scope.
Scope | The scope object. |
void LLVMDisposeDIBuilder | ( | LLVMDIBuilderRef | Builder | ) |
Deallocates the DIBuilder
and everything it owns.
LLVMDIBuilderFinalize
before this void LLVMDisposeTemporaryMDNode | ( | LLVMMetadataRef | TempNode | ) |
Deallocate a temporary node.
Calls replaceAllUsesWith(nullptr)
before deleting, so any remaining references will be reset.
TempNode | The temporary metadata node. |
unsigned LLVMDISubprogramGetLine | ( | LLVMMetadataRef | Subprogram | ) |
Get the line associated with a given subprogram.
Subprogram | The subprogram object. |
uint32_t LLVMDITypeGetAlignInBits | ( | LLVMMetadataRef | DType | ) |
Get the alignment of this DIType in bits.
DType | The DIType. |
LLVMDIFlags LLVMDITypeGetFlags | ( | LLVMMetadataRef | DType | ) |
Get the flags associated with this DIType.
DType | The DIType. |
unsigned LLVMDITypeGetLine | ( | LLVMMetadataRef | DType | ) |
Get the source line where this DIType is declared.
DType | The DIType. |
const char * LLVMDITypeGetName | ( | LLVMMetadataRef | DType, |
size_t * | Length | ||
) |
Get the name of this DIType.
DType | The DIType. |
Length | The length of the returned string. |
uint64_t LLVMDITypeGetOffsetInBits | ( | LLVMMetadataRef | DType | ) |
Get the offset of this DIType in bits.
DType | The DIType. |
uint64_t LLVMDITypeGetSizeInBits | ( | LLVMMetadataRef | DType | ) |
Get the size of this DIType in bits.
DType | The DIType. |
LLVMMetadataRef LLVMDIVariableGetFile | ( | LLVMMetadataRef | Var | ) |
Get the metadata of the file associated with a given variable.
Var | The variable object. |
unsigned LLVMDIVariableGetLine | ( | LLVMMetadataRef | Var | ) |
Get the source line where this DIVariable
is declared.
Var | The DIVariable. |
LLVMMetadataRef LLVMDIVariableGetScope | ( | LLVMMetadataRef | Var | ) |
Get the metadata of the scope associated with a given variable.
Var | The variable object. |
uint16_t LLVMGetDINodeTag | ( | LLVMMetadataRef | MD | ) |
Get the dwarf::Tag of a DINode
LLVMMetadataKind LLVMGetMetadataKind | ( | LLVMMetadataRef | Metadata | ) |
Obtain the enumerated type of a Metadata instance.
unsigned LLVMGetModuleDebugMetadataVersion | ( | LLVMModuleRef | Module | ) |
The version of debug metadata that's present in the provided Module
.
LLVMMetadataRef LLVMGetSubprogram | ( | LLVMValueRef | Func | ) |
Get the metadata of the subprogram attached to a function.
LLVMMetadataRef LLVMInstructionGetDebugLoc | ( | LLVMValueRef | Inst | ) |
Get the debug location for the given instruction.
void LLVMInstructionSetDebugLoc | ( | LLVMValueRef | Inst, |
LLVMMetadataRef | Loc | ||
) |
Set the debug location for the given instruction.
To clear the location metadata of the given instruction, pass NULL to Loc
.
void LLVMMetadataReplaceAllUsesWith | ( | LLVMMetadataRef | TempTargetMetadata, |
LLVMMetadataRef | Replacement | ||
) |
Replace all uses of temporary metadata.
TempTargetMetadata | The temporary metadata node. |
Replacement | The replacement metadata node. |
void LLVMSetSubprogram | ( | LLVMValueRef | Func, |
LLVMMetadataRef | SP | ||
) |
Set the subprogram attached to a function.
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.
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
.
Ctx | The context in which to construct the temporary node. |
Data | The metadata elements. |
NumElements | Number of metadata elements. |