LLVM  3.7.0
Public Member Functions | List of all members
llvm::DWARFDebugInfoEntryMinimal Class Reference

DWARFDebugInfoEntryMinimal - A DIE with only the minimum required data. More...

#include <DWARFDebugInfoEntry.h>

Public Member Functions

 DWARFDebugInfoEntryMinimal ()
 
void dump (raw_ostream &OS, DWARFUnit *u, unsigned recurseDepth, unsigned indent=0) const
 
void dumpAttribute (raw_ostream &OS, DWARFUnit *u, uint32_t *offset_ptr, uint16_t attr, uint16_t form, unsigned indent=0) const
 
bool extractFast (const DWARFUnit *U, uint32_t *OffsetPtr)
 Extracts a debug info entry, which is a child of a given unit, starting at a given offset. More...
 
uint32_t getTag () const
 
bool isNULL () const
 
bool isSubprogramDIE () const
 Returns true if DIE represents a subprogram (not inlined). More...
 
bool isSubroutineDIE () const
 Returns true if DIE represents a subprogram or an inlined subroutine. More...
 
uint32_t getOffset () const
 
bool hasChildren () const
 
const DWARFDebugInfoEntryMinimalgetSibling () const
 
const DWARFDebugInfoEntryMinimalgetFirstChild () const
 
void setSibling (const DWARFDebugInfoEntryMinimal *Sibling)
 
const
DWARFAbbreviationDeclaration
getAbbreviationDeclarationPtr () const
 
bool getAttributeValue (const DWARFUnit *U, const uint16_t Attr, DWARFFormValue &FormValue) const
 
const char * getAttributeValueAsString (const DWARFUnit *U, const uint16_t Attr, const char *FailValue) const
 
uint64_t getAttributeValueAsAddress (const DWARFUnit *U, const uint16_t Attr, uint64_t FailValue) const
 
uint64_t getAttributeValueAsUnsignedConstant (const DWARFUnit *U, const uint16_t Attr, uint64_t FailValue) const
 
uint64_t getAttributeValueAsReference (const DWARFUnit *U, const uint16_t Attr, uint64_t FailValue) const
 
uint64_t getAttributeValueAsSectionOffset (const DWARFUnit *U, const uint16_t Attr, uint64_t FailValue) const
 
uint64_t getRangesBaseAttribute (const DWARFUnit *U, uint64_t FailValue) const
 
bool getLowAndHighPC (const DWARFUnit *U, uint64_t &LowPC, uint64_t &HighPC) const
 Retrieves DW_AT_low_pc and DW_AT_high_pc from CU. More...
 
DWARFAddressRangesVector getAddressRanges (const DWARFUnit *U) const
 
void collectChildrenAddressRanges (const DWARFUnit *U, DWARFAddressRangesVector &Ranges) const
 
bool addressRangeContainsAddress (const DWARFUnit *U, const uint64_t Address) const
 
const char * getSubroutineName (const DWARFUnit *U, DINameKind Kind) const
 If a DIE represents a subprogram (or inlined subroutine), returns its mangled name (or short name, if mangled is missing). More...
 
const char * getName (const DWARFUnit *U, DINameKind Kind) const
 Return the DIE name resolving DW_AT_sepcification or DW_AT_abstract_origin references if necessary. More...
 
void getCallerFrame (const DWARFUnit *U, uint32_t &CallFile, uint32_t &CallLine, uint32_t &CallColumn) const
 Retrieves values of DW_AT_call_file, DW_AT_call_line and DW_AT_call_column from DIE (or zeroes if they are missing). More...
 
DWARFDebugInfoEntryInlinedChain getInlinedChainForAddress (const DWARFUnit *U, const uint64_t Address) const
 Get inlined chain for a given address, rooted at the current DIE. More...
 

Detailed Description

DWARFDebugInfoEntryMinimal - A DIE with only the minimum required data.

Definition at line 29 of file DWARFDebugInfoEntry.h.

Constructor & Destructor Documentation

llvm::DWARFDebugInfoEntryMinimal::DWARFDebugInfoEntryMinimal ( )
inline

Definition at line 38 of file DWARFDebugInfoEntry.h.

Member Function Documentation

bool DWARFDebugInfoEntryMinimal::addressRangeContainsAddress ( const DWARFUnit U,
const uint64_t  Address 
) const

Definition at line 367 of file DWARFDebugInfoEntry.cpp.

Referenced by getInlinedChainForAddress().

void DWARFDebugInfoEntryMinimal::collectChildrenAddressRanges ( const DWARFUnit U,
DWARFAddressRangesVector Ranges 
) const

Definition at line 351 of file DWARFDebugInfoEntry.cpp.

References collectChildrenAddressRanges(), and getSibling().

Referenced by collectChildrenAddressRanges().

void DWARFDebugInfoEntryMinimal::dump ( raw_ostream OS,
DWARFUnit u,
unsigned  recurseDepth,
unsigned  indent = 0 
) const
void DWARFDebugInfoEntryMinimal::dumpAttribute ( raw_ostream OS,
DWARFUnit u,
uint32_t *  offset_ptr,
uint16_t  attr,
uint16_t  form,
unsigned  indent = 0 
) const
bool DWARFDebugInfoEntryMinimal::extractFast ( const DWARFUnit U,
uint32_t *  OffsetPtr 
)
const DWARFAbbreviationDeclaration* llvm::DWARFDebugInfoEntryMinimal::getAbbreviationDeclarationPtr ( ) const
inline

Definition at line 85 of file DWARFDebugInfoEntry.h.

DWARFAddressRangesVector DWARFDebugInfoEntryMinimal::getAddressRanges ( const DWARFUnit U) const
bool DWARFDebugInfoEntryMinimal::getAttributeValue ( const DWARFUnit U,
const uint16_t  Attr,
DWARFFormValue FormValue 
) const
uint64_t DWARFDebugInfoEntryMinimal::getAttributeValueAsAddress ( const DWARFUnit U,
const uint16_t  Attr,
uint64_t  FailValue 
) const
uint64_t DWARFDebugInfoEntryMinimal::getAttributeValueAsReference ( const DWARFUnit U,
const uint16_t  Attr,
uint64_t  FailValue 
) const
uint64_t DWARFDebugInfoEntryMinimal::getAttributeValueAsSectionOffset ( const DWARFUnit U,
const uint16_t  Attr,
uint64_t  FailValue 
) const
const char * DWARFDebugInfoEntryMinimal::getAttributeValueAsString ( const DWARFUnit U,
const uint16_t  Attr,
const char *  FailValue 
) const
uint64_t DWARFDebugInfoEntryMinimal::getAttributeValueAsUnsignedConstant ( const DWARFUnit U,
const uint16_t  Attr,
uint64_t  FailValue 
) const
void DWARFDebugInfoEntryMinimal::getCallerFrame ( const DWARFUnit U,
uint32_t &  CallFile,
uint32_t &  CallLine,
uint32_t &  CallColumn 
) const

Retrieves values of DW_AT_call_file, DW_AT_call_line and DW_AT_call_column from DIE (or zeroes if they are missing).

Definition at line 424 of file DWARFDebugInfoEntry.cpp.

References llvm::dwarf::DW_AT_call_column, llvm::dwarf::DW_AT_call_file, and llvm::dwarf::DW_AT_call_line.

Referenced by llvm::DWARFContext::getInliningInfoForAddress().

const DWARFDebugInfoEntryMinimal* llvm::DWARFDebugInfoEntryMinimal::getFirstChild ( ) const
inline

Definition at line 72 of file DWARFDebugInfoEntry.h.

References hasChildren().

DWARFDebugInfoEntryInlinedChain DWARFDebugInfoEntryMinimal::getInlinedChainForAddress ( const DWARFUnit U,
const uint64_t  Address 
) const

Get inlined chain for a given address, rooted at the current DIE.

Returns empty chain if address is not contained in address range of current DIE.

Definition at line 434 of file DWARFDebugInfoEntry.cpp.

References addressRangeContainsAddress(), llvm::DWARFDebugInfoEntryInlinedChain::DIEs, getSibling(), and llvm::DWARFDebugInfoEntryInlinedChain::U.

Referenced by llvm::DWARFUnit::getInlinedChainForAddress().

bool DWARFDebugInfoEntryMinimal::getLowAndHighPC ( const DWARFUnit U,
uint64_t &  LowPC,
uint64_t &  HighPC 
) const

Retrieves DW_AT_low_pc and DW_AT_high_pc from CU.

Returns true if both attributes are present.

Definition at line 314 of file DWARFDebugInfoEntry.cpp.

References llvm::dwarf::DW_AT_high_pc, and llvm::dwarf::DW_AT_low_pc.

const char * DWARFDebugInfoEntryMinimal::getName ( const DWARFUnit U,
DINameKind  Kind 
) const

Return the DIE name resolving DW_AT_sepcification or DW_AT_abstract_origin references if necessary.

Returns null if no name is found.

Definition at line 385 of file DWARFDebugInfoEntry.cpp.

References llvm::dwarf::DW_AT_abstract_origin, llvm::dwarf::DW_AT_linkage_name, llvm::dwarf::DW_AT_MIPS_linkage_name, llvm::dwarf::DW_AT_name, llvm::dwarf::DW_AT_specification, findUnitAndExtractFast(), getName(), llvm::LinkageName, name, and llvm::None.

Referenced by dumpAttribute(), and getName().

uint32_t llvm::DWARFDebugInfoEntryMinimal::getOffset ( ) const
inline

Definition at line 60 of file DWARFDebugInfoEntry.h.

uint64_t DWARFDebugInfoEntryMinimal::getRangesBaseAttribute ( const DWARFUnit U,
uint64_t  FailValue 
) const
const DWARFDebugInfoEntryMinimal* llvm::DWARFDebugInfoEntryMinimal::getSibling ( ) const
inline
const char * DWARFDebugInfoEntryMinimal::getSubroutineName ( const DWARFUnit U,
DINameKind  Kind 
) const

If a DIE represents a subprogram (or inlined subroutine), returns its mangled name (or short name, if mangled is missing).

This name may be fetched from specification or abstract origin for this subprogram. Returns null if no name is found.

Definition at line 377 of file DWARFDebugInfoEntry.cpp.

References getName().

Referenced by getFunctionNameForAddress(), and llvm::DWARFContext::getInliningInfoForAddress().

uint32_t llvm::DWARFDebugInfoEntryMinimal::getTag ( ) const
inline
bool llvm::DWARFDebugInfoEntryMinimal::hasChildren ( ) const
inline

Definition at line 61 of file DWARFDebugInfoEntry.h.

References llvm::DWARFAbbreviationDeclaration::hasChildren(), and isNULL().

Referenced by getFirstChild().

bool llvm::DWARFDebugInfoEntryMinimal::isNULL ( ) const
inline

Definition at line 52 of file DWARFDebugInfoEntry.h.

Referenced by hasChildren().

bool DWARFDebugInfoEntryMinimal::isSubprogramDIE ( ) const

Returns true if DIE represents a subprogram (not inlined).

Definition at line 224 of file DWARFDebugInfoEntry.cpp.

References llvm::dwarf::getTag().

bool DWARFDebugInfoEntryMinimal::isSubroutineDIE ( ) const

Returns true if DIE represents a subprogram or an inlined subroutine.

Definition at line 228 of file DWARFDebugInfoEntry.cpp.

References llvm::dwarf::getTag().

void llvm::DWARFDebugInfoEntryMinimal::setSibling ( const DWARFDebugInfoEntryMinimal Sibling)
inline

Definition at line 76 of file DWARFDebugInfoEntry.h.


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