LLVM API Documentation
#include <DebugInfo.h>
Public Member Functions | |
DIVariable (const MDNode *N=nullptr) | |
DIScope | getContext () const |
StringRef | getName () const |
DIFile | getFile () const |
unsigned | getLineNumber () const |
unsigned | getArgNumber () const |
DITypeRef | getType () const |
bool | isArtificial () const |
isArtificial - Return true if this variable is marked as "artificial". | |
bool | isObjectPointer () const |
bool | isIndirect () const |
Return true if this variable is represented as a pointer. | |
MDNode * | getInlinedAt () const |
getInlinedAt - If this variable is inlined then return inline location. | |
bool | Verify () const |
Verify - Verify that a variable descriptor is well formed. | |
bool | hasComplexAddress () const |
HasComplexAddr - Return true if the variable has a complex address. | |
unsigned | getNumAddrElements () const |
Return the size of this variable's complex address or zero if there is none. | |
uint64_t | getAddrElement (unsigned Idx) const |
return the Idx'th complex address element. | |
bool | isBlockByrefVariable (const DITypeIdentifierMap &Map) const |
bool | isInlinedFnArgument (const Function *CurFn) |
bool | isVariablePiece () const |
uint64_t | getPieceOffset () const |
getPieceOffset - Return the offset of this piece in bytes. | |
uint64_t | getPieceSize () const |
getPieceSize - Return the size of this piece in bytes. | |
unsigned | getSizeInBits (const DITypeIdentifierMap &Map) |
Return the size reported by the variable's type. | |
void | printExtendedName (raw_ostream &OS) const |
Friends | |
class | DIDescriptor |
DIVariable - This is a wrapper for a variable (e.g. parameter, local, global etc).
Definition at line 686 of file DebugInfo.h.
llvm::DIVariable::DIVariable | ( | const MDNode * | N = nullptr | ) | [inline, explicit] |
Definition at line 691 of file DebugInfo.h.
References N.
uint64_t DIVariable::getAddrElement | ( | unsigned | Idx | ) | const |
return the Idx'th complex address element.
Definition at line 141 of file DebugInfo.cpp.
References llvm::MDNode::getOperand().
Referenced by llvm::DwarfDebug::emitDebugLocValue(), and llvm::DbgVariable::getAddrElement().
unsigned llvm::DIVariable::getArgNumber | ( | ) | const [inline] |
Definition at line 697 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
DIScope llvm::DIVariable::getContext | ( | ) | const [inline] |
Definition at line 693 of file DebugInfo.h.
Referenced by llvm::DwarfUnit::addSourceLine(), llvm::DwarfDebug::beginFunction(), emitDebugValueComment(), llvm::DwarfDebug::endFunction(), and llvm::getEntireVariable().
DIFile llvm::DIVariable::getFile | ( | ) | const [inline] |
Definition at line 695 of file DebugInfo.h.
MDNode * DIVariable::getInlinedAt | ( | ) | const |
getInlinedAt - If this variable is inlined then return inline location.
Definition at line 152 of file DebugInfo.cpp.
References getNodeField().
Referenced by llvm::MachineInstr::print().
unsigned llvm::DIVariable::getLineNumber | ( | ) | const [inline] |
Definition at line 696 of file DebugInfo.h.
References llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DwarfUnit::addSourceLine(), and llvm::MachineInstr::print().
StringRef llvm::DIVariable::getName | ( | ) | const [inline] |
Definition at line 694 of file DebugInfo.h.
References llvm::DIDescriptor::getStringField().
Referenced by emitDebugValueComment(), llvm::DbgVariable::getName(), and llvm::DebugLocEntry::MergeValues().
unsigned llvm::DIVariable::getNumAddrElements | ( | ) | const [inline] |
Return the size of this variable's complex address or zero if there is none.
Definition at line 728 of file DebugInfo.h.
References llvm::DIDescriptor::DbgNode, llvm::DIDescriptor::getDescriptorField(), and llvm::MDNode::getNumOperands().
Referenced by llvm::DwarfDebug::emitDebugLocValue(), llvm::DbgVariable::getNumAddrElements(), and hasComplexAddress().
uint64_t DIVariable::getPieceOffset | ( | ) | const |
getPieceOffset - Return the offset of this piece in bytes.
Definition at line 158 of file DebugInfo.cpp.
Referenced by llvm::DwarfUnit::addComplexAddress(), emitDebugValueComment(), llvm::DwarfDebug::emitLocPieces(), llvm::operator<(), and piecesOverlap().
uint64_t DIVariable::getPieceSize | ( | ) | const |
getPieceSize - Return the size of this piece in bytes.
Definition at line 163 of file DebugInfo.cpp.
Referenced by llvm::DwarfUnit::addComplexAddress(), emitDebugValueComment(), llvm::DwarfDebug::emitLocPieces(), and piecesOverlap().
Return the size reported by the variable's type.
Definition at line 169 of file DebugInfo.cpp.
References llvm::DIType::getSizeInBits(), llvm::Intrinsic::getType(), llvm::DIDerivedType::getTypeDerivedFrom(), llvm::DIDescriptor::isDerivedType(), and llvm::DIRef< T >::resolve().
Referenced by llvm::DwarfDebug::emitLocPieces().
DITypeRef llvm::DIVariable::getType | ( | ) | const [inline] |
Definition at line 701 of file DebugInfo.h.
Referenced by llvm::DwarfDebug::emitDebugLocValue(), llvm::DbgVariable::getType(), and isBlockByrefVariable().
bool llvm::DIVariable::hasComplexAddress | ( | ) | const [inline] |
HasComplexAddr - Return true if the variable has a complex address.
Definition at line 724 of file DebugInfo.h.
References getNumAddrElements().
Referenced by llvm::DwarfDebug::emitDebugLocValue(), and llvm::DbgVariable::variableHasComplexAddress().
bool llvm::DIVariable::isArtificial | ( | ) | const [inline] |
isArtificial - Return true if this variable is marked as "artificial".
Definition at line 704 of file DebugInfo.h.
References llvm::DIDescriptor::FlagArtificial, and llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DbgVariable::isArtificial().
bool llvm::DIVariable::isBlockByrefVariable | ( | const DITypeIdentifierMap & | Map | ) | const [inline] |
isBlockByrefVariable - Return true if the variable was declared as a "__block" variable (Apple Blocks).
Definition at line 739 of file DebugInfo.h.
References getType().
Referenced by llvm::DbgVariable::getType(), and llvm::DbgVariable::isBlockByrefVariable().
bool llvm::DIVariable::isIndirect | ( | ) | const [inline] |
Return true if this variable is represented as a pointer.
Definition at line 713 of file DebugInfo.h.
References llvm::DIDescriptor::FlagIndirectVariable, and llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DwarfUnit::addVariableAddress(), llvm::DwarfDebug::emitDebugLocValue(), and llvm::DwarfDebug::emitLocPieces().
bool DIVariable::isInlinedFnArgument | ( | const Function * | CurFn | ) |
isInlinedFnArgument - Return true if this variable provides debugging information for an inlined function arguments.
Definition at line 726 of file DebugInfo.cpp.
References llvm::DISubprogram::describes().
bool llvm::DIVariable::isObjectPointer | ( | ) | const [inline] |
Definition at line 708 of file DebugInfo.h.
References llvm::DIDescriptor::FlagObjectPointer, and llvm::DIDescriptor::getUnsignedField().
Referenced by llvm::DbgVariable::isObjectPointer().
bool DIVariable::isVariablePiece | ( | ) | const |
isVariablePiece - Return whether this is a piece of an aggregate variable.
Definition at line 154 of file DebugInfo.cpp.
References llvm::DIBuilder::OpPiece.
Referenced by llvm::DwarfDebug::beginFunction(), llvm::DIBuilder::createVariablePiece(), emitDebugValueComment(), llvm::getEntireVariable(), llvm::DebugLocEntry::Value::isVariablePiece(), llvm::DebugLocEntry::MergeValues(), and piecesOverlap().
void DIVariable::printExtendedName | ( | raw_ostream & | OS | ) | const |
Definition at line 1479 of file DebugInfo.cpp.
References llvm::StringRef::empty(), llvm::DebugLoc::getFromDILocation(), llvm::Intrinsic::getName(), llvm::DebugLoc::isUnknown(), and printDebugLoc().
bool DIVariable::Verify | ( | ) | const |
Verify - Verify that a variable descriptor is well formed.
Reimplemented from llvm::DIDescriptor.
Definition at line 588 of file DebugInfo.cpp.
References fieldIsMDNode(), and fieldIsTypeRef().
Referenced by llvm::DIDescriptor::Verify().
friend class DIDescriptor [friend] |
Definition at line 687 of file DebugInfo.h.