LLVM API Documentation
DISubprogram - This is a wrapper for a subprogram (e.g. a function). More...
#include <DebugInfo.h>
DISubprogram - This is a wrapper for a subprogram (e.g. a function).
Definition at line 487 of file DebugInfo.h.
llvm::DISubprogram::DISubprogram | ( | const MDNode * | N = nullptr | ) | [inline, explicit] |
Definition at line 492 of file DebugInfo.h.
References N.
bool DISubprogram::describes | ( | const Function * | F | ) |
describes - Return true if this subprogram provides debugging information for the function F.
Definition at line 737 of file DebugInfo.cpp.
References llvm::StringRef::empty(), llvm::Intrinsic::getName(), llvm::Value::getName(), and Name.
Referenced by llvm::DIVariable::isInlinedFnArgument().
DITypeRef llvm::DISubprogram::getContainingType | ( | ) | const [inline] |
Definition at line 509 of file DebugInfo.h.
Referenced by llvm::DwarfUnit::applySubprogramAttributes().
DIScopeRef llvm::DISubprogram::getContext | ( | ) | const [inline] |
Gets the parent scope for this scope node or returns a default constructed scope.
Reimplemented from llvm::DIScope.
Definition at line 494 of file DebugInfo.h.
Referenced by llvm::DwarfUnit::applySubprogramAttributesToDefinition(), and llvm::DwarfUnit::getOrCreateSubprogramDIE().
StringRef llvm::DISubprogram::getDisplayName | ( | ) | const [inline] |
Definition at line 496 of file DebugInfo.h.
References llvm::DIDescriptor::getStringField().
unsigned llvm::DISubprogram::getFlags | ( | ) | const [inline] |
Definition at line 511 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by isPrivate(), isProtected(), and isPublic().
Function* llvm::DISubprogram::getFunction | ( | ) | const [inline] |
Definition at line 560 of file DebugInfo.h.
References llvm::DIDescriptor::getFunctionField().
Referenced by fixupSubprogramName(), and llvm::makeSubprogramMap().
DISubprogram llvm::DISubprogram::getFunctionDeclaration | ( | ) | const [inline] |
Definition at line 563 of file DebugInfo.h.
Referenced by llvm::DwarfUnit::applySubprogramAttributes(), llvm::DwarfUnit::applySubprogramAttributesToDefinition(), and llvm::DwarfUnit::getOrCreateSubprogramDIE().
unsigned llvm::DISubprogram::getLineNumber | ( | ) | const [inline] |
Definition at line 498 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DwarfUnit::addSourceLine(), and llvm::DebugLoc::getFnDebugLoc().
StringRef llvm::DISubprogram::getLinkageName | ( | ) | const [inline] |
Definition at line 497 of file DebugInfo.h.
References llvm::DIDescriptor::getStringField().
Referenced by llvm::DwarfDebug::addSubprogramNames(), llvm::DwarfUnit::applySubprogramAttributes(), and getFunctionName().
StringRef llvm::DISubprogram::getName | ( | ) | const [inline] |
If the scope node has a name, return that, else return an empty string.
Reimplemented from llvm::DIScope.
Definition at line 495 of file DebugInfo.h.
References llvm::DIDescriptor::getStringField().
Referenced by llvm::DwarfDebug::addSubprogramNames(), llvm::DwarfUnit::applySubprogramAttributes(), llvm::DwarfUnit::applySubprogramAttributesToDefinition(), fixupSubprogramName(), getFunctionName(), and llvm::DIScope::getName().
unsigned llvm::DISubprogram::getScopeLineNumber | ( | ) | const [inline] |
getScopeLineNumber - Get the beginning of the scope of the function, not necessarily where the name of the program starts.
Definition at line 572 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DebugLoc::getFnDebugLoc().
DIArray llvm::DISubprogram::getTemplateParams | ( | ) | const [inline] |
Definition at line 562 of file DebugInfo.h.
Referenced by llvm::DwarfUnit::applySubprogramAttributes().
DISubroutineType llvm::DISubprogram::getType | ( | ) | const [inline] |
Definition at line 499 of file DebugInfo.h.
Referenced by llvm::DwarfUnit::applySubprogramAttributes().
DIArray DISubprogram::getVariables | ( | ) | const |
Definition at line 760 of file DebugInfo.cpp.
References getNodeField().
Referenced by llvm::DwarfDebug::endFunction().
MDNode * DISubprogram::getVariablesNodes | ( | ) | const |
Definition at line 756 of file DebugInfo.cpp.
References getNodeField().
unsigned llvm::DISubprogram::getVirtualIndex | ( | ) | const [inline] |
Definition at line 507 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DwarfUnit::applySubprogramAttributes().
unsigned llvm::DISubprogram::getVirtuality | ( | ) | const [inline] |
Definition at line 506 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DwarfUnit::applySubprogramAttributes().
unsigned llvm::DISubprogram::isArtificial | ( | ) | const [inline] |
Definition at line 513 of file DebugInfo.h.
References llvm::DIDescriptor::FlagArtificial, and llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DwarfUnit::applySubprogramAttributes().
unsigned llvm::DISubprogram::isDefinition | ( | ) | const [inline] |
Definition at line 504 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DwarfDebug::addSubprogramNames(), llvm::DwarfUnit::applySubprogramAttributes(), llvm::DwarfUnit::getOrCreateSubprogramDIE(), and isShareableAcrossCUs().
bool llvm::DISubprogram::isExplicit | ( | ) | const [inline] |
isExplicit - Return true if this subprogram is marked as explicit.
Definition at line 532 of file DebugInfo.h.
References llvm::DIDescriptor::FlagExplicit, and llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DwarfUnit::applySubprogramAttributes().
unsigned llvm::DISubprogram::isLocalToUnit | ( | ) | const [inline] |
isLocalToUnit - Return true if this subprogram is local to the current compile unit, like 'static' in C.
Definition at line 503 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DwarfUnit::applySubprogramAttributes().
unsigned llvm::DISubprogram::isLValueReference | ( | ) | const [inline] |
Return true if this subprogram is a C++11 reference-qualified non-static member function (void foo() &).
Definition at line 540 of file DebugInfo.h.
References llvm::DIDescriptor::FlagLValueReference, and llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DwarfUnit::applySubprogramAttributes().
unsigned DISubprogram::isOptimized | ( | ) | const |
Definition at line 749 of file DebugInfo.cpp.
Referenced by llvm::DwarfUnit::applySubprogramAttributes().
bool llvm::DISubprogram::isPrivate | ( | ) | const [inline] |
isPrivate - Return true if this subprogram has "private" access specifier.
Definition at line 518 of file DebugInfo.h.
References llvm::DIDescriptor::FlagAccessibility, llvm::DIDescriptor::FlagPrivate, and getFlags().
Referenced by llvm::DwarfUnit::applySubprogramAttributes().
bool llvm::DISubprogram::isProtected | ( | ) | const [inline] |
isProtected - Return true if this subprogram has "protected" access specifier.
Definition at line 523 of file DebugInfo.h.
References llvm::DIDescriptor::FlagAccessibility, llvm::DIDescriptor::FlagProtected, and getFlags().
Referenced by llvm::DwarfUnit::applySubprogramAttributes().
bool llvm::DISubprogram::isPrototyped | ( | ) | const [inline] |
isPrototyped - Return true if this subprogram is prototyped.
Definition at line 534 of file DebugInfo.h.
References llvm::DIDescriptor::FlagPrototyped, and llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DwarfUnit::applySubprogramAttributes().
bool llvm::DISubprogram::isPublic | ( | ) | const [inline] |
isPublic - Return true if this subprogram has "public" access specifier.
Definition at line 528 of file DebugInfo.h.
References llvm::DIDescriptor::FlagAccessibility, llvm::DIDescriptor::FlagPublic, and getFlags().
Referenced by llvm::DwarfUnit::applySubprogramAttributes().
unsigned llvm::DISubprogram::isRValueReference | ( | ) | const [inline] |
Return true if this subprogram is a C++11 rvalue-reference-qualified non-static member function (void foo() &&).
Definition at line 547 of file DebugInfo.h.
References llvm::DIDescriptor::FlagRValueReference, and llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DwarfUnit::applySubprogramAttributes().
void llvm::DISubprogram::replaceFunction | ( | Function * | F | ) | [inline] |
Definition at line 561 of file DebugInfo.h.
References llvm::DIDescriptor::replaceFunctionField().
bool DISubprogram::Verify | ( | ) | const |
Verify - Verify that a subprogram descriptor is well formed.
Reimplemented from llvm::DIDescriptor.
Definition at line 547 of file DebugInfo.cpp.
References fieldIsMDNode(), fieldIsScopeRef(), and fieldIsTypeRef().
Referenced by llvm::DIDescriptor::Verify().
friend class DIDescriptor [friend] |
Reimplemented from llvm::DIScope.
Definition at line 488 of file DebugInfo.h.