LLVM API Documentation
DISubprogram - This is a wrapper for a subprogram (e.g. a function). More...
#include <DebugInfo.h>
Public Member Functions | |
DISubprogram (const MDNode *N=0) | |
DIScopeRef | getContext () const |
StringRef | getName () const |
StringRef | getDisplayName () const |
StringRef | getLinkageName () const |
unsigned | getLineNumber () const |
DICompositeType | getType () const |
unsigned | isLocalToUnit () const |
unsigned | isDefinition () const |
unsigned | getVirtuality () const |
unsigned | getVirtualIndex () const |
DITypeRef | getContainingType () const |
unsigned | getFlags () const |
unsigned | isArtificial () const |
bool | isPrivate () const |
bool | isProtected () const |
bool | isExplicit () const |
isExplicit - Return true if this subprogram is marked as explicit. More... | |
bool | isPrototyped () const |
isPrototyped - Return true if this subprogram is prototyped. More... | |
unsigned | isOptimized () const |
bool | Verify () const |
Verify - Verify that a subprogram descriptor is well formed. More... | |
bool | describes (const Function *F) |
Function * | getFunction () const |
void | replaceFunction (Function *F) |
DIArray | getTemplateParams () const |
DISubprogram | getFunctionDeclaration () const |
MDNode * | getVariablesNodes () const |
DIArray | getVariables () const |
unsigned | getScopeLineNumber () const |
![]() | |
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... | |
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 } |
![]() | |
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... | |
![]() | |
const MDNode * | DbgNode |
DISubprogram - This is a wrapper for a subprogram (e.g. a function).
Definition at line 429 of file DebugInfo.h.
|
inlineexplicit |
Definition at line 434 of file DebugInfo.h.
describes - Return true if this subprogram provides debugging information for the function F.
Definition at line 705 of file DebugInfo.cpp.
References llvm::StringRef::empty(), llvm::Intrinsic::getName(), and llvm::Value::getName().
Referenced by llvm::DIVariable::isInlinedFnArgument().
|
inline |
Definition at line 451 of file DebugInfo.h.
Referenced by llvm::CompileUnit::getOrCreateSubprogramDIE().
|
inline |
Definition at line 436 of file DebugInfo.h.
Referenced by llvm::CompileUnit::getOrCreateSubprogramDIE().
|
inline |
Definition at line 438 of file DebugInfo.h.
References llvm::DIDescriptor::getStringField().
|
inline |
Definition at line 453 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
|
inline |
Definition at line 482 of file DebugInfo.h.
References llvm::DIDescriptor::getFunctionField().
Referenced by fixupSubprogramName().
|
inline |
Definition at line 485 of file DebugInfo.h.
Referenced by llvm::CompileUnit::getOrCreateSubprogramDIE().
|
inline |
Definition at line 440 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::CompileUnit::addSourceLine(), and getFnDebugLoc().
|
inline |
Definition at line 439 of file DebugInfo.h.
References llvm::DIDescriptor::getStringField().
Referenced by addSubprogramNames(), getFunctionName(), and llvm::CompileUnit::getOrCreateSubprogramDIE().
|
inline |
Definition at line 437 of file DebugInfo.h.
References llvm::DIDescriptor::getStringField().
Referenced by addSubprogramNames(), fixupSubprogramName(), getFunctionName(), llvm::DIScope::getName(), and llvm::CompileUnit::getOrCreateSubprogramDIE().
|
inline |
getScopeLineNumber - Get the beginning of the scope of the function, not necessarily where the name of the program starts.
Definition at line 494 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by getFnDebugLoc().
|
inline |
Definition at line 484 of file DebugInfo.h.
Referenced by llvm::CompileUnit::getOrCreateSubprogramDIE().
|
inline |
Definition at line 441 of file DebugInfo.h.
Referenced by llvm::CompileUnit::addPubTypes(), and llvm::CompileUnit::getOrCreateSubprogramDIE().
DIArray DISubprogram::getVariables | ( | ) | const |
Definition at line 728 of file DebugInfo.cpp.
References getNodeField().
Referenced by llvm::DwarfDebug::endFunction().
MDNode * DISubprogram::getVariablesNodes | ( | ) | const |
Definition at line 724 of file DebugInfo.cpp.
References getNodeField().
|
inline |
Definition at line 449 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::CompileUnit::getOrCreateSubprogramDIE().
|
inline |
Definition at line 448 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::CompileUnit::getOrCreateSubprogramDIE().
|
inline |
Definition at line 455 of file DebugInfo.h.
References llvm::DIDescriptor::FlagArtificial, and llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::CompileUnit::getOrCreateSubprogramDIE().
|
inline |
Definition at line 446 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by addSubprogramNames(), llvm::CompileUnit::getOrCreateSubprogramDIE(), and isShareableAcrossCUs().
|
inline |
isExplicit - Return true if this subprogram is marked as explicit.
Definition at line 467 of file DebugInfo.h.
References llvm::DIDescriptor::FlagExplicit, and llvm::DIDescriptor::getUnsignedField().
|
inline |
isLocalToUnit - Return true if this subprogram is local to the current compile unit, like 'static' in C.
Definition at line 445 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::CompileUnit::getOrCreateSubprogramDIE().
unsigned DISubprogram::isOptimized | ( | ) | const |
Definition at line 717 of file DebugInfo.cpp.
Referenced by llvm::CompileUnit::getOrCreateSubprogramDIE().
|
inline |
isPrivate - Return true if this subprogram has "private" access specifier.
Definition at line 460 of file DebugInfo.h.
References llvm::DIDescriptor::FlagPrivate, and llvm::DIDescriptor::getUnsignedField().
|
inline |
isProtected - Return true if this subprogram has "protected" access specifier.
Definition at line 463 of file DebugInfo.h.
References llvm::DIDescriptor::FlagProtected, and llvm::DIDescriptor::getUnsignedField().
|
inline |
isPrototyped - Return true if this subprogram is prototyped.
Definition at line 469 of file DebugInfo.h.
References llvm::DIDescriptor::FlagPrototyped, and llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::CompileUnit::getOrCreateSubprogramDIE().
|
inline |
Definition at line 483 of file DebugInfo.h.
References llvm::DIDescriptor::replaceFunctionField().
bool DISubprogram::Verify | ( | ) | const |
Verify - Verify that a subprogram descriptor is well formed.
Definition at line 512 of file DebugInfo.cpp.
References fieldIsMDNode(), fieldIsScopeRef(), and fieldIsTypeRef().
Referenced by llvm::DIDescriptor::Verify().
|
friend |
Definition at line 430 of file DebugInfo.h.