LLVM API Documentation

Public Member Functions | Friends
llvm::DIVariable Class Reference

#include <DebugInfo.h>

Inheritance diagram for llvm::DIVariable:
Inheritance graph
[legend]
Collaboration diagram for llvm::DIVariable:
Collaboration graph
[legend]

List of all members.

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.
MDNodegetInlinedAt () 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

Detailed Description

DIVariable - This is a wrapper for a variable (e.g. parameter, local, global etc).

Definition at line 686 of file DebugInfo.h.


Constructor & Destructor Documentation

llvm::DIVariable::DIVariable ( const MDNode N = nullptr) [inline, explicit]

Definition at line 691 of file DebugInfo.h.

References N.


Member Function Documentation

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().

Definition at line 697 of file DebugInfo.h.

References llvm::DIDescriptor::getUnsignedField().

DIFile llvm::DIVariable::getFile ( ) const [inline]

Definition at line 695 of file DebugInfo.h.

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().

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().

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().

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().

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]

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().

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().


Friends And Related Function Documentation

friend class DIDescriptor [friend]

Definition at line 687 of file DebugInfo.h.


The documentation for this class was generated from the following files: