LLVM API Documentation
#include <DebugInfo.h>
Public Member Functions | |
DIType (const MDNode *N=0) | |
bool | Verify () const |
Verify - Verify that a type descriptor is well formed. More... | |
DIScopeRef | getContext () const |
StringRef | getName () const |
unsigned | getLineNumber () const |
uint64_t | getSizeInBits () const |
uint64_t | getAlignInBits () const |
uint64_t | getOffsetInBits () const |
unsigned | getFlags () const |
bool | isPrivate () const |
bool | isProtected () const |
bool | isForwardDecl () const |
bool | isAppleBlockExtension () const |
bool | isBlockByrefStruct () const |
bool | isVirtual () const |
bool | isArtificial () const |
bool | isObjectPointer () const |
bool | isObjcClassComplete () const |
bool | isVector () const |
bool | isStaticMember () const |
bool | isValid () const |
void | replaceAllUsesWith (DIDescriptor &D) |
void | replaceAllUsesWith (MDNode *D) |
![]() | |
DIScope (const MDNode *N=0) | |
DIScopeRef | getContext () const |
StringRef | getName () const |
If the scope node has a name, return that, else return an empty string. More... | |
StringRef | getFilename () const |
StringRef | getDirectory () const |
DIScopeRef | getRef () const |
![]() | |
DIDescriptor (const MDNode *N=0) | |
bool | Verify () const |
operator MDNode * () const | |
MDNode * | operator-> () const |
LLVM_EXPLICIT | operator bool () const |
bool | operator== (DIDescriptor Other) const |
bool | operator!= (DIDescriptor Other) const |
uint16_t | getTag () const |
bool | isDerivedType () const |
isDerivedType - Return true if the specified tag is legal for DIDerivedType. More... | |
bool | isCompositeType () const |
bool | isBasicType () const |
bool | isVariable () const |
isVariable - Return true if the specified tag is legal for DIVariable. More... | |
bool | isSubprogram () const |
bool | isGlobalVariable () const |
bool | isScope () const |
bool | isFile () const |
isFile - Return true if the specified tag is DW_TAG_file_type. More... | |
bool | isCompileUnit () const |
isCompileUnit - Return true if the specified tag is DW_TAG_compile_unit. More... | |
bool | isNameSpace () const |
isNameSpace - Return true if the specified tag is DW_TAG_namespace. More... | |
bool | isLexicalBlockFile () const |
bool | isLexicalBlock () const |
isLexicalBlock - Return true if the specified tag is DW_TAG_lexical_block. More... | |
bool | isSubrange () const |
isSubrange - Return true if the specified tag is DW_TAG_subrange_type. More... | |
bool | isEnumerator () const |
isEnumerator - Return true if the specified tag is DW_TAG_enumerator. More... | |
bool | isType () const |
isType - Return true if the specified tag is legal for DIType. More... | |
bool | isUnspecifiedParameter () const |
bool | isTemplateTypeParameter () const |
bool | isTemplateValueParameter () const |
bool | isObjCProperty () const |
isObjCProperty - Return true if the specified tag is DW_TAG_APPLE_property. More... | |
bool | isImportedEntity () const |
Return true if the specified tag is DW_TAG_imported_module or DW_TAG_imported_declaration. More... | |
void | print (raw_ostream &OS) const |
print - print descriptor. More... | |
void | dump () const |
dump - print descriptor to dbgs() with a newline. More... | |
Protected Member Functions | |
void | printInternal (raw_ostream &OS) const |
![]() | |
void | printInternal (raw_ostream &OS) const |
![]() | |
StringRef | getStringField (unsigned Elt) const |
unsigned | getUnsignedField (unsigned Elt) const |
uint64_t | getUInt64Field (unsigned Elt) const |
int64_t | getInt64Field (unsigned Elt) const |
DIDescriptor | getDescriptorField (unsigned Elt) const |
template<typename DescTy > | |
DescTy | getFieldAs (unsigned Elt) const |
GlobalVariable * | getGlobalVariableField (unsigned Elt) const |
Constant * | getConstantField (unsigned Elt) const |
Function * | getFunctionField (unsigned Elt) const |
void | replaceFunctionField (unsigned Elt, Function *F) |
template<> | |
DIScopeRef | getFieldAs (unsigned Elt) const |
Specialize getFieldAs to handle fields that are references to DIScopes. More... | |
template<> | |
DITypeRef | getFieldAs (unsigned Elt) const |
Specialize getFieldAs to handle fields that are references to DITypes. More... | |
template<> | |
DIScopeRef | getFieldAs (unsigned Elt) const |
Specialize getFieldAs to handle fields that are references to DIScopes. More... | |
template<> | |
DITypeRef | getFieldAs (unsigned Elt) const |
Specialize getFieldAs to handle fields that are references to DITypes. More... | |
Friends | |
class | DIDescriptor |
Additional Inherited Members | |
![]() | |
enum | { FlagPrivate = 1 << 0, FlagProtected = 1 << 1, FlagFwdDecl = 1 << 2, FlagAppleBlock = 1 << 3, FlagBlockByrefStruct = 1 << 4, FlagVirtual = 1 << 5, FlagArtificial = 1 << 6, FlagExplicit = 1 << 7, FlagPrototyped = 1 << 8, FlagObjcClassComplete = 1 << 9, FlagObjectPointer = 1 << 10, FlagVector = 1 << 11, FlagStaticMember = 1 << 12, FlagIndirectVariable = 1 << 13 } |
![]() | |
const MDNode * | DbgNode |
DIType - This is a wrapper for a type. FIXME: Types should be factored much better so that CV qualifiers and others do not require a huge and empty descriptor full of zeros.
Definition at line 278 of file DebugInfo.h.
|
inlineexplicit |
Definition at line 284 of file DebugInfo.h.
|
inline |
Definition at line 293 of file DebugInfo.h.
References llvm::DIDescriptor::getUInt64Field().
|
inline |
Definition at line 289 of file DebugInfo.h.
Referenced by llvm::CompileUnit::addGlobalType(), llvm::DIScope::getContext(), llvm::CompileUnit::getOrCreateTypeDIE(), and isTypeUnitScoped().
|
inline |
Definition at line 297 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DIBuilder::createArtificialType(), llvm::DIBuilder::createObjectPointerType(), isAppleBlockExtension(), isArtificial(), isBlockByrefStruct(), isForwardDecl(), isObjcClassComplete(), isObjectPointer(), isPrivate(), isProtected(), isStaticMember(), isVector(), and isVirtual().
|
inline |
Definition at line 291 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::CompileUnit::addSourceLine().
|
inline |
Definition at line 290 of file DebugInfo.h.
References llvm::DIDescriptor::getStringField().
Referenced by llvm::CompileUnit::addGlobalType(), llvm::DIScope::getName(), and llvm::CompileUnit::getOrCreateTypeDIE().
|
inline |
Definition at line 296 of file DebugInfo.h.
References llvm::DIDescriptor::getUInt64Field().
Referenced by llvm::CompileUnit::addBlockByrefAddress().
|
inline |
Definition at line 292 of file DebugInfo.h.
References llvm::DIDescriptor::getUInt64Field().
Referenced by getBaseTypeSize(), and isTypeSigned().
|
inline |
Definition at line 302 of file DebugInfo.h.
References llvm::DIDescriptor::FlagAppleBlock, and getFlags().
|
inline |
Definition at line 309 of file DebugInfo.h.
References llvm::DIDescriptor::FlagArtificial, and getFlags().
Referenced by llvm::DIBuilder::createArtificialType(), and llvm::DbgVariable::isArtificial().
|
inline |
Definition at line 305 of file DebugInfo.h.
References llvm::DIDescriptor::FlagBlockByrefStruct, and getFlags().
Referenced by llvm::DIVariable::isBlockByrefVariable().
|
inline |
Definition at line 300 of file DebugInfo.h.
References llvm::DIDescriptor::FlagFwdDecl, and getFlags().
Referenced by llvm::CompileUnit::addGlobalType(), llvm::CompileUnit::getOrCreateTypeDIE(), and shouldCreateTypeUnit().
|
inline |
Definition at line 311 of file DebugInfo.h.
References llvm::DIDescriptor::FlagObjcClassComplete, and getFlags().
Referenced by llvm::CompileUnit::getOrCreateTypeDIE().
|
inline |
Definition at line 310 of file DebugInfo.h.
References llvm::DIDescriptor::FlagObjectPointer, and getFlags().
Referenced by llvm::DIBuilder::createObjectPointerType(), and llvm::DbgVariable::isObjectPointer().
|
inline |
Definition at line 298 of file DebugInfo.h.
References llvm::DIDescriptor::FlagPrivate, and getFlags().
|
inline |
Definition at line 299 of file DebugInfo.h.
References llvm::DIDescriptor::FlagProtected, and getFlags().
|
inline |
Definition at line 315 of file DebugInfo.h.
References llvm::DIDescriptor::FlagStaticMember, and getFlags().
Referenced by llvm::CompileUnit::createGlobalVariableDIE(), and llvm::DIDerivedType::getConstant().
|
inline |
Definition at line 316 of file DebugInfo.h.
References llvm::DIDescriptor::DbgNode, and llvm::DIDescriptor::isType().
Referenced by getBaseTypeSize().
|
inline |
Definition at line 314 of file DebugInfo.h.
References llvm::DIDescriptor::FlagVector, and getFlags().
|
inline |
Definition at line 308 of file DebugInfo.h.
References llvm::DIDescriptor::FlagVirtual, and getFlags().
|
protected |
Definition at line 1264 of file DebugInfo.cpp.
References llvm::dwarf::AttributeEncodingString(), llvm::StringRef::empty(), and llvm::Intrinsic::getName().
Referenced by llvm::DIDescriptor::print().
void DIType::replaceAllUsesWith | ( | DIDescriptor & | D | ) |
replaceAllUsesWith - Replace all uses of debug info referenced by this descriptor.
replaceAllUsesWith - Replace all uses of the MDNode used by this type with the one in the passed descriptor.
Definition at line 336 of file DebugInfo.cpp.
References llvm::MDNode::deleteTemporary(), and llvm::Value::replaceAllUsesWith().
Referenced by llvm::DIBuilder::finalize().
void DIType::replaceAllUsesWith | ( | MDNode * | D | ) |
replaceAllUsesWith - Replace all uses of the MDNode used by this type with the one in D.
Definition at line 356 of file DebugInfo.cpp.
References llvm::MDNode::deleteTemporary(), and llvm::Value::replaceAllUsesWith().
bool DIType::Verify | ( | ) | const |
Verify - Verify that a type descriptor is well formed.
Definition at line 441 of file DebugInfo.cpp.
References fieldIsScopeRef(), llvm::dwarf::isType(), llvm::DIBasicType::Verify(), llvm::DIDerivedType::Verify(), and llvm::DICompositeType::Verify().
|
friend |
Definition at line 280 of file DebugInfo.h.