LLVM API Documentation
#include <DIBuilder.h>
Public Types | |
enum | ComplexAddrKind { OpPlus =1, OpDeref } |
Public Member Functions | |
DIBuilder (Module &M) | |
void | finalize () |
finalize - Construct any deferred debug info descriptors. More... | |
DICompileUnit | createCompileUnit (unsigned Lang, StringRef File, StringRef Dir, StringRef Producer, bool isOptimized, StringRef Flags, unsigned RV, StringRef SplitName=StringRef()) |
DIFile | createFile (StringRef Filename, StringRef Directory) |
DIEnumerator | createEnumerator (StringRef Name, int64_t Val) |
createEnumerator - Create a single enumerator value. More... | |
DIBasicType | createUnspecifiedType (StringRef Name) |
Create a DWARF unspecified type. More... | |
DIBasicType | createNullPtrType () |
Create C++11 nullptr type. More... | |
DIBasicType | createBasicType (StringRef Name, uint64_t SizeInBits, uint64_t AlignInBits, unsigned Encoding) |
DIDerivedType | createQualifiedType (unsigned Tag, DIType FromTy) |
DIDerivedType | createPointerType (DIType PointeeTy, uint64_t SizeInBits, uint64_t AlignInBits=0, StringRef Name=StringRef()) |
createPointerType - Create debugging information entry for a pointer. More... | |
DIDerivedType | createMemberPointerType (DIType PointeeTy, DIType Class) |
Create debugging information entry for a pointer to member. More... | |
DIDerivedType | createReferenceType (unsigned Tag, DIType RTy) |
DIDerivedType | createTypedef (DIType Ty, StringRef Name, DIFile File, unsigned LineNo, DIDescriptor Context) |
createTypedef - Create debugging information entry for a typedef. More... | |
DIDerivedType | createFriend (DIType Ty, DIType FriendTy) |
createFriend - Create debugging information entry for a 'friend'. More... | |
DIDerivedType | createInheritance (DIType Ty, DIType BaseTy, uint64_t BaseOffset, unsigned Flags) |
DIDerivedType | createMemberType (DIDescriptor Scope, StringRef Name, DIFile File, unsigned LineNo, uint64_t SizeInBits, uint64_t AlignInBits, uint64_t OffsetInBits, unsigned Flags, DIType Ty) |
createMemberType - Create debugging information entry for a member. More... | |
DIDerivedType | createStaticMemberType (DIDescriptor Scope, StringRef Name, DIFile File, unsigned LineNo, DIType Ty, unsigned Flags, llvm::Value *Val) |
DIDerivedType | createObjCIVar (StringRef Name, DIFile File, unsigned LineNo, uint64_t SizeInBits, uint64_t AlignInBits, uint64_t OffsetInBits, unsigned Flags, DIType Ty, StringRef PropertyName=StringRef(), StringRef PropertyGetterName=StringRef(), StringRef PropertySetterName=StringRef(), unsigned PropertyAttributes=0) |
DIDerivedType | createObjCIVar (StringRef Name, DIFile File, unsigned LineNo, uint64_t SizeInBits, uint64_t AlignInBits, uint64_t OffsetInBits, unsigned Flags, DIType Ty, MDNode *PropertyNode) |
DIObjCProperty | createObjCProperty (StringRef Name, DIFile File, unsigned LineNumber, StringRef GetterName, StringRef SetterName, unsigned PropertyAttributes, DIType Ty) |
DICompositeType | createClassType (DIDescriptor Scope, StringRef Name, DIFile File, unsigned LineNumber, uint64_t SizeInBits, uint64_t AlignInBits, uint64_t OffsetInBits, unsigned Flags, DIType DerivedFrom, DIArray Elements, DIType VTableHolder=DIType(), MDNode *TemplateParms=0, StringRef UniqueIdentifier=StringRef()) |
createClassType - Create debugging information entry for a class. More... | |
DICompositeType | createStructType (DIDescriptor Scope, StringRef Name, DIFile File, unsigned LineNumber, uint64_t SizeInBits, uint64_t AlignInBits, unsigned Flags, DIType DerivedFrom, DIArray Elements, unsigned RunTimeLang=0, DIType VTableHolder=DIType(), StringRef UniqueIdentifier=StringRef()) |
createStructType - Create debugging information entry for a struct. More... | |
DICompositeType | createUnionType (DIDescriptor Scope, StringRef Name, DIFile File, unsigned LineNumber, uint64_t SizeInBits, uint64_t AlignInBits, unsigned Flags, DIArray Elements, unsigned RunTimeLang=0, StringRef UniqueIdentifier=StringRef()) |
createUnionType - Create debugging information entry for an union. More... | |
DITemplateTypeParameter | createTemplateTypeParameter (DIDescriptor Scope, StringRef Name, DIType Ty, MDNode *File=0, unsigned LineNo=0, unsigned ColumnNo=0) |
DITemplateValueParameter | createTemplateValueParameter (DIDescriptor Scope, StringRef Name, DIType Ty, Value *Val, MDNode *File=0, unsigned LineNo=0, unsigned ColumnNo=0) |
DITemplateValueParameter | createTemplateTemplateParameter (DIDescriptor Scope, StringRef Name, DIType Ty, StringRef Val, MDNode *File=0, unsigned LineNo=0, unsigned ColumnNo=0) |
Create debugging information for a template template parameter. More... | |
DITemplateValueParameter | createTemplateParameterPack (DIDescriptor Scope, StringRef Name, DIType Ty, DIArray Val, MDNode *File=0, unsigned LineNo=0, unsigned ColumnNo=0) |
Create debugging information for a template parameter pack. More... | |
DICompositeType | createArrayType (uint64_t Size, uint64_t AlignInBits, DIType Ty, DIArray Subscripts) |
createArrayType - Create debugging information entry for an array. More... | |
DICompositeType | createVectorType (uint64_t Size, uint64_t AlignInBits, DIType Ty, DIArray Subscripts) |
createVectorType - Create debugging information entry for a vector. More... | |
DICompositeType | createEnumerationType (DIDescriptor Scope, StringRef Name, DIFile File, unsigned LineNumber, uint64_t SizeInBits, uint64_t AlignInBits, DIArray Elements, DIType UnderlyingType, StringRef UniqueIdentifier=StringRef()) |
DICompositeType | createSubroutineType (DIFile File, DIArray ParameterTypes) |
createSubroutineType - Create subroutine type. More... | |
DIType | createArtificialType (DIType Ty) |
createArtificialType - Create a new DIType with "artificial" flag set. More... | |
DIType | createObjectPointerType (DIType Ty) |
DICompositeType | createForwardDecl (unsigned Tag, StringRef Name, DIDescriptor Scope, DIFile F, unsigned Line, unsigned RuntimeLang=0, uint64_t SizeInBits=0, uint64_t AlignInBits=0, StringRef UniqueIdentifier=StringRef()) |
createForwardDecl - Create a temporary forward-declared type. More... | |
void | retainType (DIType T) |
DIDescriptor | createUnspecifiedParameter () |
DIArray | getOrCreateArray (ArrayRef< Value * > Elements) |
getOrCreateArray - Get a DIArray, create one if required. More... | |
DISubrange | getOrCreateSubrange (int64_t Lo, int64_t Count) |
DIGlobalVariable | createGlobalVariable (StringRef Name, DIFile File, unsigned LineNo, DIType Ty, bool isLocalToUnit, llvm::Value *Val) |
Create a new descriptor for the specified global. More... | |
DIGlobalVariable | createGlobalVariable (StringRef Name, StringRef LinkageName, DIFile File, unsigned LineNo, DIType Ty, bool isLocalToUnit, llvm::Value *Val) |
Create a new descriptor for the specified global. More... | |
DIGlobalVariable | createStaticVariable (DIDescriptor Context, StringRef Name, StringRef LinkageName, DIFile File, unsigned LineNo, DIType Ty, bool isLocalToUnit, llvm::Value *Val, MDNode *Decl=NULL) |
DIVariable | createLocalVariable (unsigned Tag, DIDescriptor Scope, StringRef Name, DIFile File, unsigned LineNo, DIType Ty, bool AlwaysPreserve=false, unsigned Flags=0, unsigned ArgNo=0) |
createVariable - Create a new descriptor for the specified variable. More... | |
DIVariable | createComplexVariable (unsigned Tag, DIDescriptor Scope, StringRef Name, DIFile F, unsigned LineNo, DIType Ty, ArrayRef< Value * > Addr, unsigned ArgNo=0) |
DISubprogram | createFunction (DIDescriptor Scope, StringRef Name, StringRef LinkageName, DIFile File, unsigned LineNo, DICompositeType Ty, bool isLocalToUnit, bool isDefinition, unsigned ScopeLine, unsigned Flags=0, bool isOptimized=false, Function *Fn=0, MDNode *TParam=0, MDNode *Decl=0) |
createFunction - Create a new descriptor for the specified function. More... | |
DISubprogram | createFunction (DIScopeRef Scope, StringRef Name, StringRef LinkageName, DIFile File, unsigned LineNo, DICompositeType Ty, bool isLocalToUnit, bool isDefinition, unsigned ScopeLine, unsigned Flags=0, bool isOptimized=false, Function *Fn=0, MDNode *TParam=0, MDNode *Decl=0) |
DISubprogram | createMethod (DIDescriptor Scope, StringRef Name, StringRef LinkageName, DIFile File, unsigned LineNo, DICompositeType Ty, bool isLocalToUnit, bool isDefinition, unsigned Virtuality=0, unsigned VTableIndex=0, DIType VTableHolder=DIType(), unsigned Flags=0, bool isOptimized=false, Function *Fn=0, MDNode *TParam=0) |
createMethod - Create a new descriptor for the specified C++ method. More... | |
DINameSpace | createNameSpace (DIDescriptor Scope, StringRef Name, DIFile File, unsigned LineNo) |
DILexicalBlockFile | createLexicalBlockFile (DIDescriptor Scope, DIFile File) |
DILexicalBlock | createLexicalBlock (DIDescriptor Scope, DIFile File, unsigned Line, unsigned Col) |
DIImportedEntity | createImportedModule (DIScope Context, DINameSpace NS, unsigned Line, StringRef Name=StringRef()) |
Create a descriptor for an imported module. More... | |
DIImportedEntity | createImportedModule (DIScope Context, DIImportedEntity NS, unsigned Line, StringRef Name) |
Create a descriptor for an imported module. More... | |
DIImportedEntity | createImportedDeclaration (DIScope Context, DIDescriptor Decl, unsigned Line) |
Create a descriptor for an imported function. More... | |
Instruction * | insertDeclare (llvm::Value *Storage, DIVariable VarInfo, BasicBlock *InsertAtEnd) |
insertDeclare - Insert a new llvm.dbg.declare intrinsic call. More... | |
Instruction * | insertDeclare (llvm::Value *Storage, DIVariable VarInfo, Instruction *InsertBefore) |
insertDeclare - Insert a new llvm.dbg.declare intrinsic call. More... | |
Instruction * | insertDbgValueIntrinsic (llvm::Value *Val, uint64_t Offset, DIVariable VarInfo, BasicBlock *InsertAtEnd) |
insertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call. More... | |
Instruction * | insertDbgValueIntrinsic (llvm::Value *Val, uint64_t Offset, DIVariable VarInfo, Instruction *InsertBefore) |
insertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call. More... | |
Definition at line 55 of file DIBuilder.h.
Enumerator | |
---|---|
OpPlus | |
OpDeref |
Definition at line 88 of file DIBuilder.h.
|
explicit |
Definition at line 32 of file DIBuilder.cpp.
DICompositeType DIBuilder::createArrayType | ( | uint64_t | Size, |
uint64_t | AlignInBits, | ||
DIType | Ty, | ||
DIArray | Subscripts | ||
) |
createArrayType - Create debugging information entry for an array.
createArrayType - Create debugging information entry for an array.
Size | Array size. |
AlignInBits | Alignment. |
Ty | Element type. |
Subscripts | Subscripts. |
Definition at line 763 of file DIBuilder.cpp.
References llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), llvm::DIScope::getRef(), and GetTagConstant().
createArtificialType - Create a new DIType with "artificial" flag set.
Definition at line 811 of file DIBuilder.cpp.
References llvm::DIDescriptor::FlagArtificial, llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::DIType::getFlags(), llvm::Type::getInt32Ty(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), llvm::DIType::isArtificial(), N, and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
DIBasicType DIBuilder::createBasicType | ( | StringRef | Name, |
uint64_t | SizeInBits, | ||
uint64_t | AlignInBits, | ||
unsigned | Encoding | ||
) |
createBasicType - Create debugging information entry for a basic type.
Name | Type name. |
SizeInBits | Size of the type. |
AlignInBits | Type alignment. |
Encoding | DWARF encoding code, e.g. dwarf::DW_ATE_float. |
createBasicType - Create debugging information entry for a basic type, e.g 'char'.
Definition at line 250 of file DIBuilder.cpp.
References llvm::StringRef::empty(), llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), and GetTagConstant().
DICompositeType DIBuilder::createClassType | ( | DIDescriptor | Scope, |
StringRef | Name, | ||
DIFile | File, | ||
unsigned | LineNumber, | ||
uint64_t | SizeInBits, | ||
uint64_t | AlignInBits, | ||
uint64_t | OffsetInBits, | ||
unsigned | Flags, | ||
DIType | DerivedFrom, | ||
DIArray | Elements, | ||
DIType | VTableHolder = DIType() , |
||
MDNode * | TemplateParms = 0 , |
||
StringRef | UniqueIdentifier = StringRef() |
||
) |
createClassType - Create debugging information entry for a class.
createClassType - Create debugging information entry for a class.
Scope | Scope in which this class is defined. |
Name | class 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 |
Elements | class members. |
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. |
TemplateParms | Template type parameters. |
UniqueIdentifier | A unique identifier for the class. |
Definition at line 600 of file DIBuilder.cpp.
References llvm::StringRef::empty(), llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::DIFile::getFileNode(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), getNonCompileUnitScope(), llvm::DIScope::getRef(), GetTagConstant(), llvm::DIDescriptor::isCompositeType(), llvm::DIDescriptor::isScope(), llvm::DIDescriptor::isType(), and retainType().
DICompileUnit DIBuilder::createCompileUnit | ( | unsigned | Lang, |
StringRef | Filename, | ||
StringRef | Directory, | ||
StringRef | Producer, | ||
bool | isOptimized, | ||
StringRef | Flags, | ||
unsigned | RunTimeVer, | ||
StringRef | SplitName = StringRef() |
||
) |
createCompileUnit - A CompileUnit provides an anchor for all debugging information generated during this instance of compilation.
Lang | Source programming language, eg. dwarf::DW_LANG_C99 |
File | File name |
Dir | Directory |
Producer | String identify producer of debugging information. Usuall this is a compiler version string. |
isOptimized | A boolean flag which indicates whether optimization is ON 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. |
RV | This indicates runtime version for languages like Objective-C. |
SplitName | The name of the file that we'll split debug info out into. |
createCompileUnit - A CompileUnit provides an anchor for all debugging information generated during this instance of compilation.
Definition at line 96 of file DIBuilder.cpp.
References llvm::NamedMDNode::addOperand(), createFilePathPair(), llvm::dwarf::DW_LANG_C89, llvm::dwarf::DW_LANG_lo_user, llvm::StringRef::empty(), llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt1Ty(), llvm::Type::getInt32Ty(), llvm::Module::getOrInsertNamedMetadata(), GetTagConstant(), and llvm::MDNode::getTemporary().
DIVariable DIBuilder::createComplexVariable | ( | unsigned | Tag, |
DIDescriptor | Scope, | ||
StringRef | Name, | ||
DIFile | F, | ||
unsigned | LineNo, | ||
DIType | Ty, | ||
ArrayRef< Value * > | Addr, | ||
unsigned | ArgNo = 0 |
||
) |
createComplexVariable - Create a new descriptor for the specified variable which has a complex address expression for its address.
Tag | Dwarf TAG. Usually DW_TAG_auto_variable or DW_TAG_arg_variable. |
Scope | Variable scope. |
Name | Variable name. |
F | File where this variable is defined. |
LineNo | Line number. |
Ty | Variable Type |
Addr | An array of complex address operations. |
ArgNo | If this variable is an argument then this argument's number. 1 indicates 1st argument. |
createComplexVariable - Create a new descriptor for the specified variable which has a complex address expression for its address.
Definition at line 1024 of file DIBuilder.cpp.
References llvm::SmallVectorImpl< T >::append(), llvm::ArrayRef< T >::begin(), llvm::ArrayRef< T >::end(), llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), getNonCompileUnitScope(), llvm::Constant::getNullValue(), GetTagConstant(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
Referenced by llvm::replaceDbgDeclareForAlloca().
DICompositeType DIBuilder::createEnumerationType | ( | DIDescriptor | Scope, |
StringRef | Name, | ||
DIFile | File, | ||
unsigned | LineNumber, | ||
uint64_t | SizeInBits, | ||
uint64_t | AlignInBits, | ||
DIArray | Elements, | ||
DIType | UnderlyingType, | ||
StringRef | UniqueIdentifier = StringRef() |
||
) |
createEnumerationType - Create debugging information entry for an enumeration.
Scope | Scope in which this enumeration is defined. |
Name | Union name. |
File | File where this member is defined. |
LineNumber | Line number. |
SizeInBits | Member size. |
AlignInBits | Member alignment. |
Elements | Enumeration elements. |
UnderlyingType | Underlying type of a C++11/ObjC fixed enum. |
UniqueIdentifier | A unique identifier for the enum. |
createEnumerationType - Create debugging information entry for an enumeration.
Definition at line 733 of file DIBuilder.cpp.
References llvm::StringRef::empty(), llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::DIFile::getFileNode(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), getNonCompileUnitScope(), llvm::DIScope::getRef(), GetTagConstant(), and retainType().
DIEnumerator DIBuilder::createEnumerator | ( | StringRef | Name, |
int64_t | Val | ||
) |
createEnumerator - Create a single enumerator value.
Definition at line 212 of file DIBuilder.cpp.
References llvm::StringRef::empty(), llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt64Ty(), and GetTagConstant().
createFile - Create a file descriptor to hold debugging information for a file.
Definition at line 203 of file DIBuilder.cpp.
References createFilePathPair(), llvm::MDNode::get(), and GetTagConstant().
DICompositeType DIBuilder::createForwardDecl | ( | unsigned | Tag, |
StringRef | Name, | ||
DIDescriptor | Scope, | ||
DIFile | F, | ||
unsigned | Line, | ||
unsigned | RuntimeLang = 0 , |
||
uint64_t | SizeInBits = 0 , |
||
uint64_t | AlignInBits = 0 , |
||
StringRef | UniqueIdentifier = StringRef() |
||
) |
createForwardDecl - Create a temporary forward-declared type.
createForwardDecl - Create a temporary forward-declared type that can be RAUW'd if the full type is seen.
Definition at line 871 of file DIBuilder.cpp.
References llvm::StringRef::empty(), llvm::DIDescriptor::FlagFwdDecl, llvm::MDString::get(), llvm::ConstantInt::get(), llvm::DIFile::getFileNode(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), getNonCompileUnitScope(), llvm::DIScope::getRef(), GetTagConstant(), llvm::MDNode::getTemporary(), llvm::DIDescriptor::isCompositeType(), and retainType().
DIDerivedType DIBuilder::createFriend | ( | DIType | Ty, |
DIType | FriendTy | ||
) |
createFriend - Create debugging information entry for a 'friend'.
Definition at line 369 of file DIBuilder.cpp.
References llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), llvm::DIScope::getRef(), GetTagConstant(), and llvm::DIDescriptor::isType().
DISubprogram DIBuilder::createFunction | ( | DIDescriptor | Scope, |
StringRef | Name, | ||
StringRef | LinkageName, | ||
DIFile | File, | ||
unsigned | LineNo, | ||
DICompositeType | Ty, | ||
bool | isLocalToUnit, | ||
bool | isDefinition, | ||
unsigned | ScopeLine, | ||
unsigned | Flags = 0 , |
||
bool | isOptimized = false , |
||
Function * | Fn = 0 , |
||
MDNode * | TParam = 0 , |
||
MDNode * | Decl = 0 |
||
) |
createFunction - Create a new descriptor for the specified function.
createFunction - Create a new descriptor for the specified subprogram. See comments in DISubprogram for descriptions of these fields.
Scope | Function scope. |
Name | Function name. |
LinkageName | Mangled function 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. is this function prototyped or not. This flags are used to emit dwarf attributes. |
isOptimized | True if optimization is ON. |
Fn | llvm::Function pointer. |
TParam | Function template parameters. |
Definition at line 1063 of file DIBuilder.cpp.
References llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::DIFile::getFileNode(), llvm::Type::getInt1Ty(), llvm::Type::getInt32Ty(), getNonCompileUnitScope(), llvm::DIScope::getRef(), llvm::DIDescriptor::getTag(), GetTagConstant(), llvm::MDNode::getTemporary(), and llvm::DIDescriptor::isSubprogram().
Referenced by createFunction().
DISubprogram DIBuilder::createFunction | ( | DIScopeRef | Context, |
StringRef | Name, | ||
StringRef | LinkageName, | ||
DIFile | File, | ||
unsigned | LineNo, | ||
DICompositeType | Ty, | ||
bool | isLocalToUnit, | ||
bool | isDefinition, | ||
unsigned | ScopeLine, | ||
unsigned | Flags = 0 , |
||
bool | isOptimized = false , |
||
Function * | Fn = 0 , |
||
MDNode * | TParams = 0 , |
||
MDNode * | Decl = 0 |
||
) |
FIXME: this is added for dragonegg. Once we update dragonegg to call resolve function, this will be removed.
createFunction - Create a new descriptor for the specified function. FIXME: this is added for dragonegg. Once we update dragonegg to call resolve function, this will be removed.
Definition at line 1047 of file DIBuilder.cpp.
References createFunction(), llvm::ARMBuildAttrs::File, and llvm::DIRef< T >::resolve().
DIGlobalVariable DIBuilder::createGlobalVariable | ( | StringRef | Name, |
DIFile | File, | ||
unsigned | LineNo, | ||
DIType | Ty, | ||
bool | isLocalToUnit, | ||
llvm::Value * | Val | ||
) |
Create a new descriptor for the specified global.
createGlobalVariable - Create a new descriptor for the specified global.
Name | Name of the variable. |
File | File where this variable is defined. |
LineNo | Line number. |
Ty | Variable Type. |
isLocalToUnit | Boolean flag indicate whether this variable is externally visible or not. |
Val | llvm::Value of the variable. |
Definition at line 950 of file DIBuilder.cpp.
DIGlobalVariable DIBuilder::createGlobalVariable | ( | StringRef | Name, |
StringRef | LinkageName, | ||
DIFile | File, | ||
unsigned | LineNo, | ||
DIType | Ty, | ||
bool | isLocalToUnit, | ||
llvm::Value * | Val | ||
) |
Create a new descriptor for the specified global.
Name | Name of the variable. |
LinkageName | Mangled variable name. |
File | File where this variable is defined. |
LineNo | Line number. |
Ty | Variable Type. |
isLocalToUnit | Boolean flag indicate whether this variable is externally visible or not. |
Val | llvm::Value of the variable. |
Definition at line 924 of file DIBuilder.cpp.
References F(), llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), llvm::Constant::getNullValue(), and GetTagConstant().
DIImportedEntity DIBuilder::createImportedDeclaration | ( | DIScope | Context, |
DIDescriptor | Decl, | ||
unsigned | Line | ||
) |
Create a descriptor for an imported function.
Context | The scope this module is imported into |
Decl | The declaration (or definition) of a function, type, or variable |
Line | Line number |
Definition at line 186 of file DIBuilder.cpp.
References llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), GetTagConstant(), and llvm::DIImportedEntity::Verify().
DIImportedEntity DIBuilder::createImportedModule | ( | DIScope | Context, |
DINameSpace | NS, | ||
unsigned | Line, | ||
StringRef | Name = StringRef() |
||
) |
Create a descriptor for an imported module.
Context | The scope this module is imported into |
NS | The namespace being imported here |
Line | Line number |
Definition at line 171 of file DIBuilder.cpp.
References createImportedModule().
DIImportedEntity DIBuilder::createImportedModule | ( | DIScope | Context, |
DIImportedEntity | NS, | ||
unsigned | Line, | ||
StringRef | Name | ||
) |
Create a descriptor for an imported module.
Context | The scope this module is imported into |
NS | An aliased namespace |
Line | Line number |
Definition at line 178 of file DIBuilder.cpp.
References createImportedModule().
DIDerivedType DIBuilder::createInheritance | ( | DIType | Ty, |
DIType | BaseTy, | ||
uint64_t | BaseOffset, | ||
unsigned | Flags | ||
) |
createInheritance - Create debugging information entry to establish inheritance relationship between two types.
Ty | Original type. |
BaseTy | Base type. Ty is inherits from base. |
BaseOffset | Base offset. |
Flags | Flags to describe inheritance attribute, e.g. private |
createInheritance - Create debugging information entry to establish inheritance relationship between two types.
Definition at line 390 of file DIBuilder.cpp.
References llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), llvm::DIScope::getRef(), GetTagConstant(), and llvm::DIDescriptor::isType().
DILexicalBlock DIBuilder::createLexicalBlock | ( | DIDescriptor | Scope, |
DIFile | File, | ||
unsigned | Line, | ||
unsigned | Col | ||
) |
createLexicalBlock - This creates a descriptor for a lexical block with the specified parent context.
Scope | Parent lexical scope. |
File | Source file |
Line | Line number |
Col | Column number |
Definition at line 1184 of file DIBuilder.cpp.
References llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::DIFile::getFileNode(), llvm::Type::getInt32Ty(), getNonCompileUnitScope(), GetTagConstant(), and llvm::DILexicalBlock::Verify().
DILexicalBlockFile DIBuilder::createLexicalBlockFile | ( | DIDescriptor | Scope, |
DIFile | File | ||
) |
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.
Scope | Lexical block. |
File | Source file. |
createLexicalBlockFile - This creates a new MDNode that encapsulates an existing scope with a new filename.
Definition at line 1170 of file DIBuilder.cpp.
References llvm::MDNode::get(), llvm::DIFile::getFileNode(), GetTagConstant(), and llvm::DILexicalBlockFile::Verify().
DIVariable DIBuilder::createLocalVariable | ( | unsigned | Tag, |
DIDescriptor | Scope, | ||
StringRef | Name, | ||
DIFile | File, | ||
unsigned | LineNo, | ||
DIType | Ty, | ||
bool | AlwaysPreserve = false , |
||
unsigned | Flags = 0 , |
||
unsigned | ArgNo = 0 |
||
) |
createVariable - Create a new descriptor for the specified variable.
createLocalVariable - Create a new descriptor for the specified local variable.
Tag | Dwarf TAG. Usually DW_TAG_auto_variable or DW_TAG_arg_variable. |
Scope | Variable scope. |
Name | Variable name. |
File | File where this variable is defined. |
LineNo | Line number. |
Ty | Variable Type |
AlwaysPreserve | Boolean. Set to true if debug info for this variable should be preserved in optimized build. |
Flags | Flags, e.g. artificial variable. |
ArgNo | If this variable is an argument then this argument's number. 1 indicates 1st argument. |
Definition at line 987 of file DIBuilder.cpp.
References llvm::NamedMDNode::addOperand(), llvm::ARMBuildAttrs::File, llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::getDISubprogram(), llvm::Type::getInt32Ty(), getNonCompileUnitScope(), llvm::Constant::getNullValue(), llvm::getOrInsertFnSpecificMDNode(), GetTagConstant(), llvm::DIDescriptor::isScope(), llvm::DIDescriptor::isType(), and llvm::DIDescriptor::isVariable().
DIDerivedType DIBuilder::createMemberPointerType | ( | DIType | PointeeTy, |
DIType | Class | ||
) |
Create debugging information entry for a pointer to member.
PointeeTy | Type pointed to by this pointer. |
Class | Type for which this pointer points to members of. |
Definition at line 309 of file DIBuilder.cpp.
References llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), llvm::DIScope::getRef(), and GetTagConstant().
DIDerivedType DIBuilder::createMemberType | ( | DIDescriptor | Scope, |
StringRef | Name, | ||
DIFile | File, | ||
unsigned | LineNo, | ||
uint64_t | SizeInBits, | ||
uint64_t | AlignInBits, | ||
uint64_t | OffsetInBits, | ||
unsigned | Flags, | ||
DIType | Ty | ||
) |
createMemberType - Create debugging information entry for a member.
createMemberType - Create debugging information entry for a member.
Scope | Member scope. |
Name | 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. |
Definition at line 411 of file DIBuilder.cpp.
References llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::DIFile::getFileNode(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), getNonCompileUnitScope(), llvm::DIScope::getRef(), and GetTagConstant().
DISubprogram DIBuilder::createMethod | ( | DIDescriptor | Scope, |
StringRef | Name, | ||
StringRef | LinkageName, | ||
DIFile | File, | ||
unsigned | LineNo, | ||
DICompositeType | Ty, | ||
bool | isLocalToUnit, | ||
bool | isDefinition, | ||
unsigned | Virtuality = 0 , |
||
unsigned | VTableIndex = 0 , |
||
DIType | VTableHolder = DIType() , |
||
unsigned | Flags = 0 , |
||
bool | isOptimized = false , |
||
Function * | Fn = 0 , |
||
MDNode * | TParam = 0 |
||
) |
createMethod - Create a new descriptor for the specified C++ method.
createMethod - Create a new descriptor for the specified C++ method. See comments in DISubprogram for descriptions of these fields.
Scope | Function scope. |
Name | Function name. |
LinkageName | Mangled function 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. |
Virtuality | Attributes describing virtualness. e.g. pure virtual function. |
VTableIndex | Index no of this method in virtual table. |
VTableHolder | Type that holds vtable. |
Flags | e.g. is this function prototyped or not. This flags are used to emit dwarf attributes. |
isOptimized | True if optimization is ON. |
Fn | llvm::Function pointer. |
TParam | Function template parameters. |
Definition at line 1106 of file DIBuilder.cpp.
References llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::DIFile::getFileNode(), llvm::Type::getInt1Ty(), llvm::Type::getInt32Ty(), getNonCompileUnitScope(), llvm::Constant::getNullValue(), llvm::DIScope::getRef(), llvm::DIDescriptor::getTag(), GetTagConstant(), llvm::MDNode::getTemporary(), and llvm::DIDescriptor::isSubprogram().
DINameSpace DIBuilder::createNameSpace | ( | DIDescriptor | Scope, |
StringRef | Name, | ||
DIFile | File, | ||
unsigned | LineNo | ||
) |
createNameSpace - This creates new descriptor for a namespace with the specified parent scope.
Scope | Namespace scope |
Name | Name of this namespace |
File | Source file |
LineNo | Line number |
createNameSpace - This creates new descriptor for a namespace with the specified parent scope.
Definition at line 1153 of file DIBuilder.cpp.
References llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::DIFile::getFileNode(), llvm::Type::getInt32Ty(), getNonCompileUnitScope(), GetTagConstant(), and llvm::DINameSpace::Verify().
DIBasicType DIBuilder::createNullPtrType | ( | ) |
Create C++11 nullptr type.
Definition at line 243 of file DIBuilder.cpp.
References createUnspecifiedType().
DIDerivedType DIBuilder::createObjCIVar | ( | StringRef | Name, |
DIFile | File, | ||
unsigned | LineNumber, | ||
uint64_t | SizeInBits, | ||
uint64_t | AlignInBits, | ||
uint64_t | OffsetInBits, | ||
unsigned | Flags, | ||
DIType | Ty, | ||
StringRef | PropertyName = StringRef() , |
||
StringRef | GetterName = StringRef() , |
||
StringRef | SetterName = StringRef() , |
||
unsigned | PropertyAttributes = 0 |
||
) |
createObjCIVar - Create debugging information entry for Objective-C instance variable.
Name | 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. |
PropertyName | Name of the Objective C property associated with this ivar. |
PropertyGetterName | Name of the Objective C property getter selector. |
PropertySetterName | Name of the Objective C property setter selector. |
PropertyAttributes | Objective C property attributes. |
createObjCIVar - Create debugging information entry for Objective-C instance variable.
Definition at line 461 of file DIBuilder.cpp.
References llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::DIFile::getFileNode(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), getNonCompileUnitScope(), and GetTagConstant().
DIDerivedType DIBuilder::createObjCIVar | ( | StringRef | Name, |
DIFile | File, | ||
unsigned | LineNumber, | ||
uint64_t | SizeInBits, | ||
uint64_t | AlignInBits, | ||
uint64_t | OffsetInBits, | ||
unsigned | Flags, | ||
DIType | Ty, | ||
MDNode * | PropertyNode | ||
) |
createObjCIVar - Create debugging information entry for Objective-C instance variable.
Name | 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. |
PropertyNode | Property associated with this ivar. |
createObjCIVar - Create debugging information entry for Objective-C instance variable.
Definition at line 488 of file DIBuilder.cpp.
References llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::DIFile::getFileNode(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), getNonCompileUnitScope(), and GetTagConstant().
DIObjCProperty DIBuilder::createObjCProperty | ( | StringRef | Name, |
DIFile | File, | ||
unsigned | LineNumber, | ||
StringRef | GetterName, | ||
StringRef | SetterName, | ||
unsigned | PropertyAttributes, | ||
DIType | Ty | ||
) |
createObjCProperty - Create debugging information entry for Objective-C property.
Name | Property name. |
File | File where this property is defined. |
LineNumber | Line number. |
GetterName | Name of the Objective C property getter selector. |
SetterName | Name of the Objective C property setter selector. |
PropertyAttributes | Objective C property attributes. |
Ty | Type. |
createObjCProperty - Create debugging information entry for Objective-C property.
Definition at line 514 of file DIBuilder.cpp.
References llvm::ARMBuildAttrs::File, llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), and GetTagConstant().
createObjectPointerType - Create a new DIType with the "object pointer" flag set.
createObjectPointerType - Create a new type with both the object pointer and artificial flags set.
Definition at line 833 of file DIBuilder.cpp.
References llvm::DIDescriptor::FlagArtificial, llvm::DIDescriptor::FlagObjectPointer, llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::DIType::getFlags(), llvm::Type::getInt32Ty(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), llvm::DIType::isObjectPointer(), N, and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
DIDerivedType DIBuilder::createPointerType | ( | DIType | PointeeTy, |
uint64_t | SizeInBits, | ||
uint64_t | AlignInBits = 0 , |
||
StringRef | Name = StringRef() |
||
) |
createPointerType - Create debugging information entry for a pointer.
createPointerType - Create debugging information entry for a pointer.
PointeeTy | Type pointed by this pointer. |
SizeInBits | Size. |
AlignInBits | Alignment. (optional) |
Name | Pointer type name. (optional) |
Definition at line 291 of file DIBuilder.cpp.
References llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), llvm::DIScope::getRef(), and GetTagConstant().
DIDerivedType DIBuilder::createQualifiedType | ( | unsigned | Tag, |
DIType | FromTy | ||
) |
createQualifiedType - Create debugging information entry for a qualified type, e.g. 'const int'.
Tag | Tag identifing type, e.g. dwarf::TAG_volatile_type |
FromTy | Base Type. |
createQualifiedType - Create debugging information entry for a qualified type, e.g. 'const int'.
Definition at line 272 of file DIBuilder.cpp.
References llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), llvm::DIScope::getRef(), and GetTagConstant().
DIDerivedType DIBuilder::createReferenceType | ( | unsigned | Tag, |
DIType | RTy | ||
) |
createReferenceType - Create debugging information entry for a c++ style reference or rvalue reference type.
createReferenceType - Create debugging information entry for a reference type.
Definition at line 330 of file DIBuilder.cpp.
References llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), llvm::DIScope::getRef(), GetTagConstant(), and llvm::DIDescriptor::isType().
DIDerivedType DIBuilder::createStaticMemberType | ( | DIDescriptor | Scope, |
StringRef | Name, | ||
DIFile | File, | ||
unsigned | LineNumber, | ||
DIType | Ty, | ||
unsigned | Flags, | ||
llvm::Value * | Val | ||
) |
createStaticMemberType - Create debugging information entry for a C++ static data member.
Scope | Member scope. |
Name | Member name. |
File | File where this member is declared. |
LineNo | Line number. |
Ty | Type of the static member. |
Flags | Flags to encode member attribute, e.g. private. |
Val | Const initializer of the member. |
createStaticMemberType - Create debugging information entry for a C++ static data member.
Definition at line 436 of file DIBuilder.cpp.
References llvm::DIDescriptor::FlagStaticMember, llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::DIFile::getFileNode(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), getNonCompileUnitScope(), llvm::DIScope::getRef(), and GetTagConstant().
DIGlobalVariable DIBuilder::createStaticVariable | ( | DIDescriptor | Context, |
StringRef | Name, | ||
StringRef | LinkageName, | ||
DIFile | F, | ||
unsigned | LineNumber, | ||
DIType | Ty, | ||
bool | isLocalToUnit, | ||
llvm::Value * | Val, | ||
MDNode * | Decl = NULL |
||
) |
createStaticVariable - Create a new descriptor for the specified variable.
Context | Variable scope. |
Name | Name of the variable. |
LinkageName | Mangled name of the variable. |
File | File where this variable is defined. |
LineNo | Line number. |
Ty | Variable Type. |
isLocalToUnit | Boolean flag indicate whether this variable is externally visible or not. |
Val | llvm::Value of the variable. |
Decl | Reference to the corresponding declaration. |
createStaticVariable - Create a new descriptor for the specified static variable.
Definition at line 960 of file DIBuilder.cpp.
References F(), llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), getNonCompileUnitScope(), llvm::Constant::getNullValue(), and GetTagConstant().
DICompositeType DIBuilder::createStructType | ( | DIDescriptor | Scope, |
StringRef | Name, | ||
DIFile | File, | ||
unsigned | LineNumber, | ||
uint64_t | SizeInBits, | ||
uint64_t | AlignInBits, | ||
unsigned | Flags, | ||
DIType | DerivedFrom, | ||
DIArray | Elements, | ||
unsigned | RunTimeLang = 0 , |
||
DIType | VTableHolder = DIType() , |
||
StringRef | UniqueIdentifier = StringRef() |
||
) |
createStructType - Create debugging information entry for a struct.
createStructType - Create debugging information entry for a struct.
Scope | Scope in which this struct is defined. |
Name | Struct 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 | Struct elements. |
RunTimeLang | Optional parameter, Objective-C runtime version. |
UniqueIdentifier | A unique identifier for the struct. |
Definition at line 639 of file DIBuilder.cpp.
References llvm::StringRef::empty(), llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::DIFile::getFileNode(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), getNonCompileUnitScope(), llvm::DIScope::getRef(), GetTagConstant(), llvm::DIDescriptor::isCompositeType(), and retainType().
DICompositeType DIBuilder::createSubroutineType | ( | DIFile | File, |
DIArray | ParameterTypes | ||
) |
createSubroutineType - Create subroutine type.
createSubroutineType - Create subroutine type.
File | File in which this subroutine is defined. |
ParameterTypes | An array of subroutine parameter types. This includes return type at 0th index. |
Definition at line 708 of file DIBuilder.cpp.
References llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), llvm::Constant::getNullValue(), and GetTagConstant().
DITemplateValueParameter DIBuilder::createTemplateParameterPack | ( | DIDescriptor | Scope, |
StringRef | Name, | ||
DIType | Ty, | ||
DIArray | Val, | ||
MDNode * | File = 0 , |
||
unsigned | LineNo = 0 , |
||
unsigned | ColumnNo = 0 |
||
) |
Create debugging information for a template parameter pack.
Scope | Scope in which this type is defined. |
Name | Value parameter name. |
Ty | Parameter type. |
Val | An array of types in the pack. |
File | File where this type parameter is defined. |
LineNo | Line number. |
ColumnNo | Column Number. |
Definition at line 590 of file DIBuilder.cpp.
DITemplateValueParameter DIBuilder::createTemplateTemplateParameter | ( | DIDescriptor | Scope, |
StringRef | Name, | ||
DIType | Ty, | ||
StringRef | Val, | ||
MDNode * | File = 0 , |
||
unsigned | LineNo = 0 , |
||
unsigned | ColumnNo = 0 |
||
) |
Create debugging information for a template template parameter.
Scope | Scope in which this type is defined. |
Name | Value parameter name. |
Ty | Parameter type. |
Val | The fully qualified name of the template. |
File | File where this type parameter is defined. |
LineNo | Line number. |
ColumnNo | Column Number. |
Definition at line 580 of file DIBuilder.cpp.
References llvm::MDString::get().
DITemplateTypeParameter DIBuilder::createTemplateTypeParameter | ( | DIDescriptor | Context, |
StringRef | Name, | ||
DIType | Ty, | ||
MDNode * | File = 0 , |
||
unsigned | LineNo = 0 , |
||
unsigned | ColumnNo = 0 |
||
) |
createTemplateTypeParameter - Create debugging information for template type parameter.
Scope | Scope in which this type is defined. |
Name | Type parameter name. |
Ty | Parameter type. |
File | File where this type parameter is defined. |
LineNo | Line number. |
ColumnNo | Column Number. |
createTemplateTypeParameter - Create debugging information for template type parameter.
Definition at line 533 of file DIBuilder.cpp.
References llvm::ARMBuildAttrs::File, llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), getNonCompileUnitScope(), llvm::DIScope::getRef(), and GetTagConstant().
DITemplateValueParameter DIBuilder::createTemplateValueParameter | ( | DIDescriptor | Context, |
StringRef | Name, | ||
DIType | Ty, | ||
Value * | Val, | ||
MDNode * | File = 0 , |
||
unsigned | LineNo = 0 , |
||
unsigned | ColumnNo = 0 |
||
) |
createTemplateValueParameter - Create debugging information for template value parameter.
Scope | Scope in which this type is defined. |
Name | Value parameter name. |
Ty | Parameter type. |
Val | Constant parameter value. |
File | File where this type parameter is defined. |
LineNo | Line number. |
ColumnNo | Column Number. |
createTemplateValueParameter - Create debugging information for template value parameter.
Definition at line 570 of file DIBuilder.cpp.
DIDerivedType DIBuilder::createTypedef | ( | DIType | Ty, |
StringRef | Name, | ||
DIFile | File, | ||
unsigned | LineNo, | ||
DIDescriptor | Context | ||
) |
createTypedef - Create debugging information entry for a typedef.
createTypedef - Create debugging information entry for a typedef.
Ty | Original type. |
Name | Typedef name. |
File | File where this type is defined. |
LineNo | Line number. |
Context | The surrounding context for the typedef. |
Definition at line 349 of file DIBuilder.cpp.
References llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::DIFile::getFileNode(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), getNonCompileUnitScope(), llvm::DIScope::getRef(), GetTagConstant(), and llvm::DIDescriptor::isType().
DICompositeType DIBuilder::createUnionType | ( | DIDescriptor | Scope, |
StringRef | Name, | ||
DIFile | File, | ||
unsigned | LineNumber, | ||
uint64_t | SizeInBits, | ||
uint64_t | AlignInBits, | ||
unsigned | Flags, | ||
DIArray | Elements, | ||
unsigned | RunTimeLang = 0 , |
||
StringRef | UniqueIdentifier = StringRef() |
||
) |
createUnionType - Create debugging information entry for an union.
createUnionType - Create debugging information entry for an union.
Scope | Scope in which this union is defined. |
Name | 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. |
RunTimeLang | Optional parameter, Objective-C runtime version. |
UniqueIdentifier | A unique identifier for the union. |
Definition at line 676 of file DIBuilder.cpp.
References llvm::StringRef::empty(), llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::DIFile::getFileNode(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), getNonCompileUnitScope(), llvm::DIScope::getRef(), GetTagConstant(), and retainType().
DIDescriptor DIBuilder::createUnspecifiedParameter | ( | ) |
createUnspecifiedParameter - Create unspeicified type descriptor for a subroutine type.
createUnspecifiedParameter - Create unspeicified type descriptor for the subroutine type.
Definition at line 861 of file DIBuilder.cpp.
References llvm::MDNode::get(), and GetTagConstant().
DIBasicType DIBuilder::createUnspecifiedType | ( | StringRef | Name | ) |
Create a DWARF unspecified type.
Definition at line 223 of file DIBuilder.cpp.
References llvm::StringRef::empty(), llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), and GetTagConstant().
Referenced by createNullPtrType().
DICompositeType DIBuilder::createVectorType | ( | uint64_t | Size, |
uint64_t | AlignInBits, | ||
DIType | Ty, | ||
DIArray | Subscripts | ||
) |
createVectorType - Create debugging information entry for a vector.
createVectorType - Create debugging information entry for a vector type.
Size | Array size. |
AlignInBits | Alignment. |
Ty | Element type. |
Subscripts | Subscripts. |
Definition at line 787 of file DIBuilder.cpp.
References llvm::DIDescriptor::FlagVector, llvm::MDString::get(), llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), llvm::DIScope::getRef(), and GetTagConstant().
void DIBuilder::finalize | ( | ) |
finalize - Construct any deferred debug info descriptors.
Definition at line 37 of file DIBuilder.cpp.
References llvm::DIArray::getElement(), llvm::getFnSpecificMDNode(), llvm::DIArray::getNumElements(), getOrCreateArray(), I, llvm::SmallPtrSet< PtrType, SmallSize >::insert(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::DIType::replaceAllUsesWith().
getOrCreateArray - Get a DIArray, create one if required.
Definition at line 903 of file DIBuilder.cpp.
References llvm::ArrayRef< T >::empty(), llvm::MDNode::get(), llvm::Type::getInt32Ty(), and llvm::Constant::getNullValue().
Referenced by finalize().
DISubrange DIBuilder::getOrCreateSubrange | ( | int64_t | Lo, |
int64_t | Count | ||
) |
getOrCreateSubrange - Create a descriptor for a value range. This implicitly uniques the values returned.
Definition at line 913 of file DIBuilder.cpp.
References llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Type::getInt64Ty(), and GetTagConstant().
Instruction * DIBuilder::insertDbgValueIntrinsic | ( | llvm::Value * | Val, |
uint64_t | Offset, | ||
DIVariable | VarInfo, | ||
BasicBlock * | InsertAtEnd | ||
) |
insertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call.
insertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call.
Val | llvm::Value of the variable |
Offset | Offset |
VarInfo | Variable's debug info descriptor. |
InsertAtEnd | Location for the new intrinsic. |
Definition at line 1251 of file DIBuilder.cpp.
References llvm::CallInst::Create(), llvm::Intrinsic::dbg_value, llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Value::getContext(), llvm::Intrinsic::getDeclaration(), llvm::Type::getInt64Ty(), and llvm::DIDescriptor::isVariable().
Referenced by llvm::ConvertDebugDeclareToDebugValue().
Instruction * DIBuilder::insertDbgValueIntrinsic | ( | llvm::Value * | Val, |
uint64_t | Offset, | ||
DIVariable | VarInfo, | ||
Instruction * | InsertBefore | ||
) |
insertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call.
insertDbgValueIntrinsic - Insert a new llvm.dbg.value intrinsic call.
Val | llvm::Value of the variable |
Offset | Offset |
VarInfo | Variable's debug info descriptor. |
InsertBefore | Location for the new intrinsic. |
Definition at line 1235 of file DIBuilder.cpp.
References llvm::CallInst::Create(), llvm::Intrinsic::dbg_value, llvm::ConstantInt::get(), llvm::MDNode::get(), llvm::Value::getContext(), llvm::Intrinsic::getDeclaration(), llvm::Type::getInt64Ty(), and llvm::DIDescriptor::isVariable().
Instruction * DIBuilder::insertDeclare | ( | llvm::Value * | Storage, |
DIVariable | VarInfo, | ||
BasicBlock * | InsertAtEnd | ||
) |
insertDeclare - Insert a new llvm.dbg.declare intrinsic call.
insertDeclare - Insert a new llvm.dbg.declare intrinsic call.
Storage | llvm::Value of the variable |
VarInfo | Variable's debug info descriptor. |
InsertAtEnd | Location for the new intrinsic. |
Definition at line 1216 of file DIBuilder.cpp.
References llvm::CallInst::Create(), llvm::Intrinsic::dbg_declare, llvm::MDNode::get(), llvm::Value::getContext(), llvm::Intrinsic::getDeclaration(), llvm::BasicBlock::getTerminator(), and llvm::DIDescriptor::isVariable().
Referenced by llvm::replaceDbgDeclareForAlloca().
Instruction * DIBuilder::insertDeclare | ( | llvm::Value * | Storage, |
DIVariable | VarInfo, | ||
Instruction * | InsertBefore | ||
) |
insertDeclare - Insert a new llvm.dbg.declare intrinsic call.
insertDeclare - Insert a new llvm.dbg.declare intrinsic call.
Storage | llvm::Value of the variable |
VarInfo | Variable's debug info descriptor. |
InsertBefore | Location for the new intrinsic. |
Definition at line 1203 of file DIBuilder.cpp.
References llvm::CallInst::Create(), llvm::Intrinsic::dbg_declare, llvm::MDNode::get(), llvm::Value::getContext(), llvm::Intrinsic::getDeclaration(), and llvm::DIDescriptor::isVariable().
void DIBuilder::retainType | ( | DIType | T | ) |
retainType - Retain DIType in a module even if it is not referenced through debug info anchors.
Definition at line 855 of file DIBuilder.cpp.
Referenced by createClassType(), createEnumerationType(), createForwardDecl(), createStructType(), and createUnionType().