Builder for constructing LLVM IR debug information metadata.

Synopsis

Declared in <llvm/IR/DIBuilder.h>

class DIBuilder;

Member Functions

Name

Description

DIBuilder [constructor]

Constructors

operator= [deleted]

Copy assignment is deleted; DIBuilder is non‐copyable.

createArrayType

Create debugging information entry for an array.

createAutoVariable

Create a new descriptor for an auto variable. This is a local variable that is not a subprogram parameter.

createBasicType

Create debugging information entry for a basic type.

createBinaryFixedPointType

Create debugging information entry for a binary fixed‐point type.

createBitFieldMemberType

Create debugging information entry for a bit field member.

createClassType

Create debugging information entry for a class.

createCommonBlock

Create common block entry for a Fortran common block.

createCompileUnit

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

createConstantValueExpression

Create an expression for a variable that does not have an address, but does have a constant value.

createDecimalFixedPointType

Create debugging information entry for a decimal fixed‐point type.

createEnumerationType

Create debugging information entry for an enumeration.

createEnumerator

createEnumerator overloads

createExpression

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

createFile

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

createForwardDecl

Create a permanent forward‐declared type.

createFriend

Create debugging information entry for a 'friend'.

createFunction

Create a new descriptor for the specified subprogram. See comments in DISubprogram* for descriptions of these fields.

createGlobalVariableExpression

Create a new descriptor for the specified variable.

createImportedDeclaration

Create a descriptor for an imported function.

createImportedModule

Create a descriptor for an imported module.

createInheritance

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

createLabel

Create a new descriptor for an label.

createLexicalBlock

This creates a descriptor for a lexical block with the specified parent context.

createLexicalBlockFile

This creates a descriptor for a lexical block with a new file attached. This merely extends the existing lexical block as it crosses a file.

createMacro

Create debugging information entry for a macro.

createMemberPointerType

Create debugging information entry for a pointer to member.

createMemberType

Create debugging information entry for a member.

createMethod

Create a new descriptor for the specified C++ method. See comments in DISubprogram* for descriptions of these fields.

createModule

This creates new descriptor for a module with the specified parent scope.

createNameSpace

This creates new descriptor for a namespace with the specified parent scope.

createNullPtrType

Create C++11 nullptr type.

createObjCIVar

Create debugging information entry for Objective‐C instance variable.

createObjCProperty

Create debugging information entry for Objective‐C property.

createParameterVariable

Create a new descriptor for a parameter variable.

createPointerType

Create debugging information entry for a pointer.

createProperty

Create debugging information entry for a property, i.e. an entity that is accessed like a data member but whose access is implemented by an accessor.

createPtrAuthQualifiedType

Create a __ptrauth qualifier.

createQualifiedType

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

createRationalFixedPointType

Create debugging information entry for an arbitrary rational fixed‐point type.

createReferenceType

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

createReplaceableCompositeType

Create a temporary forward‐declared type.

createSetType

Create debugging information entry for a set.

createStaticMemberType

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

createStringType

createStringType overloads

createStructType

Create debugging information entry for a struct.

createSubrangeType

Create a type describing a subrange of another type.

createSubroutineType

Create subroutine type.

createTempFunctionFwdDecl

Identical to createFunction, except that the resulting DbgNode is meant to be RAUWed.

createTempGlobalVariableFwdDecl

Identical to createGlobalVariable except that the resulting DbgNode is temporary and meant to be RAUWed.

createTempMacroFile

Create a temporary macro‐file debug info entry.

createTemplateAlias

Create debugging information entry for a template alias.

createTemplateParameterPack

Create debugging information for a template parameter pack.

createTemplateTemplateParameter

Create debugging information for a template template parameter.

createTemplateTypeParameter

Create debugging information for template type parameter.

createTemplateValueParameter

Create debugging information for template value parameter.

createTypedef

Create debugging information entry for a typedef.

createUnionType

Create debugging information entry for an union.

createUnspecifiedParameter

Create unspecified parameter type for a subroutine type.

createUnspecifiedType

Create a DWARF unspecified type.

createVariantMemberType

createVariantMemberType overloads

createVariantPart

Create debugging information entry for a variant part.

createVectorType

Create debugging information entry for a vector type.

finalize

Construct any deferred debug info descriptors.

finalizeSubprogram

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

getOrCreateArray

Get a DINodeArray, create one if required.

getOrCreateGenericSubrange

Create a descriptor for a generic value range.

getOrCreateMacroArray

Get a DIMacroNodeArray, create one if required.

getOrCreateSubrange

getOrCreateSubrange overloads

getOrCreateTypeArray

Get a DITypeArray, create one if required.

insertDbgAssign

Insert a new #dbg_assign record.

insertDbgValue

Insert a new #dbg_value record.

insertDeclare

Insert a new #dbg_declare record.

insertDeclareValue

Insert a new #dbg_declare_value record.

insertLabel

Insert a new #dbg_label record.

replaceArrays

Replace arrays on a composite type.

replaceTemporary

Replace a temporary node.

replaceVTableHolder

Replace the vtable holder in the given type.

retainType

Retain DIScope* in a module even if it is not referenced through debug info anchors.

Static Member Functions

Name

Description

createArtificialSubprogram

Create a distinct clone of SP with FlagArtificial set.

createArtificialType

Create a uniqued clone of Ty with FlagArtificial set.

createObjectPointerType

Create a uniqued clone of Ty with FlagObjectPointer set. If Implicit is true, also set FlagArtificial.

Non-Member Functions

Name

Description

applyDebugifyMetadataToMachineFunction

Add synthesized debug information to a MachineFunction.

getExpressionForConstant

Create a debug‐info expression for a constant.

unwrap

Convert an opaque LLVMDIBuilderRef to a DIBuilder pointer.

wrap

Convert a DIBuilder pointer to an opaque LLVMDIBuilderRef.

Created with MrDocs