LLVM API Documentation
DWARFDebugInfoEntryMinimal - A DIE with only the minimum required data. More...
#include <DWARFDebugInfoEntry.h>
DWARFDebugInfoEntryMinimal - A DIE with only the minimum required data.
Definition at line 29 of file DWARFDebugInfoEntry.h.
Definition at line 38 of file DWARFDebugInfoEntry.h.
bool DWARFDebugInfoEntryMinimal::addressRangeContainsAddress | ( | const DWARFUnit * | U, |
const uint64_t | Address | ||
) | const |
Definition at line 288 of file DWARFDebugInfoEntry.cpp.
Referenced by getInlinedChainForAddress().
void DWARFDebugInfoEntryMinimal::collectChildrenAddressRanges | ( | const DWARFUnit * | U, |
DWARFAddressRangesVector & | Ranges | ||
) | const |
Definition at line 272 of file DWARFDebugInfoEntry.cpp.
References collectChildrenAddressRanges(), and getSibling().
Referenced by collectChildrenAddressRanges().
void DWARFDebugInfoEntryMinimal::dump | ( | raw_ostream & | OS, |
const DWARFUnit * | u, | ||
unsigned | recurseDepth, | ||
unsigned | indent = 0 |
||
) | const |
Definition at line 23 of file DWARFDebugInfoEntry.cpp.
References dump(), llvm::format(), llvm::DWARFUnit::getDebugInfoExtractor(), getSibling(), llvm::DataExtractor::getULEB128(), llvm::raw_ostream::indent(), llvm::DataExtractor::isValidOffset(), and llvm::dwarf::TagString().
Referenced by llvm::DWARFCompileUnit::dump(), llvm::DWARFTypeUnit::dump(), and dump().
void DWARFDebugInfoEntryMinimal::dumpAttribute | ( | raw_ostream & | OS, |
const DWARFUnit * | u, | ||
uint32_t * | offset_ptr, | ||
uint16_t | attr, | ||
uint16_t | form, | ||
unsigned | indent = 0 |
||
) | const |
Definition at line 65 of file DWARFDebugInfoEntry.cpp.
References llvm::dwarf::AttributeString(), llvm::dwarf::AttributeValueString(), llvm::DWARFFormValue::dump(), llvm::dwarf::DW_AT_call_line, llvm::dwarf::DW_AT_decl_line, llvm::DWARFFormValue::extractValue(), llvm::format(), llvm::dwarf::FormEncodingString(), llvm::DWARFFormValue::getAsUnsignedConstant(), llvm::DWARFUnit::getDebugInfoExtractor(), llvm::raw_ostream::indent(), and Name.
bool DWARFDebugInfoEntryMinimal::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. If DIE can't be extracted, returns false and doesn't change OffsetPtr.
Definition at line 105 of file DWARFDebugInfoEntry.cpp.
References llvm::DWARFAbbreviationDeclarationSet::getAbbreviationDeclaration(), llvm::DWARFUnit::getAbbreviations(), llvm::DWARFUnit::getAddressByteSize(), llvm::DWARFUnit::getDebugInfoExtractor(), llvm::DWARFFormValue::getFixedFormSizes(), llvm::DWARFUnit::getNextUnitOffset(), llvm::DataExtractor::getULEB128(), llvm::DWARFUnit::getVersion(), llvm::DataExtractor::isValidOffset(), llvm::ArrayRef< T >::size(), and llvm::DWARFFormValue::skipValue().
Referenced by getSubroutineName().
const DWARFAbbreviationDeclaration* llvm::DWARFDebugInfoEntryMinimal::getAbbreviationDeclarationPtr | ( | ) | const [inline] |
Definition at line 85 of file DWARFDebugInfoEntry.h.
Definition at line 253 of file DWARFDebugInfoEntry.cpp.
References llvm::dwarf::DW_AT_ranges, llvm::DWARFUnit::extractRangeList(), llvm::DWARFDebugRangeList::getAbsoluteRanges(), and llvm::DWARFUnit::getBaseAddress().
Referenced by llvm::DWARFUnit::collectAddressRanges().
bool DWARFDebugInfoEntryMinimal::getAttributeValue | ( | const DWARFUnit * | U, |
const uint16_t | Attr, | ||
DWARFFormValue & | FormValue | ||
) | const |
Definition at line 155 of file DWARFDebugInfoEntry.cpp.
References llvm::DWARFFormValue::extractValue(), llvm::DWARFUnit::getDebugInfoExtractor(), llvm::getOffset(), llvm::DataExtractor::getULEB128(), and llvm::DWARFFormValue::skipValue().
uint64_t DWARFDebugInfoEntryMinimal::getAttributeValueAsAddress | ( | const DWARFUnit * | U, |
const uint16_t | Attr, | ||
uint64_t | FailValue | ||
) | const |
Definition at line 189 of file DWARFDebugInfoEntry.cpp.
References llvm::DWARFFormValue::getAsAddress(), llvm::Optional< T >::getValue(), and llvm::Optional< T >::hasValue().
uint64_t DWARFDebugInfoEntryMinimal::getAttributeValueAsReference | ( | const DWARFUnit * | U, |
const uint16_t | Attr, | ||
uint64_t | FailValue | ||
) | const |
Definition at line 207 of file DWARFDebugInfoEntry.cpp.
References llvm::DWARFFormValue::getAsReference(), llvm::Optional< T >::getValue(), and llvm::Optional< T >::hasValue().
uint64_t DWARFDebugInfoEntryMinimal::getAttributeValueAsSectionOffset | ( | const DWARFUnit * | U, |
const uint16_t | Attr, | ||
uint64_t | FailValue | ||
) | const |
Definition at line 216 of file DWARFDebugInfoEntry.cpp.
References llvm::DWARFFormValue::getAsSectionOffset(), llvm::Optional< T >::getValue(), and llvm::Optional< T >::hasValue().
Referenced by llvm::DWARFContext::getLineTableForUnit().
const char * DWARFDebugInfoEntryMinimal::getAttributeValueAsString | ( | const DWARFUnit * | U, |
const uint16_t | Attr, | ||
const char * | FailValue | ||
) | const |
Definition at line 180 of file DWARFDebugInfoEntry.cpp.
References llvm::DWARFFormValue::getAsCString(), llvm::Optional< T >::getValue(), and llvm::Optional< T >::hasValue().
uint64_t DWARFDebugInfoEntryMinimal::getAttributeValueAsUnsignedConstant | ( | const DWARFUnit * | U, |
const uint16_t | Attr, | ||
uint64_t | FailValue | ||
) | const |
Definition at line 198 of file DWARFDebugInfoEntry.cpp.
References llvm::DWARFFormValue::getAsUnsignedConstant(), llvm::Optional< T >::getValue(), and llvm::Optional< T >::hasValue().
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 336 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 346 of file DWARFDebugInfoEntry.cpp.
References addressRangeContainsAddress(), llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::DWARFDebugInfoEntryInlinedChain::DIEs, llvm::SmallVectorTemplateCommon< T, typename >::end(), getSibling(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), 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 235 of file DWARFDebugInfoEntry.cpp.
References llvm::dwarf::DW_AT_high_pc, and llvm::dwarf::DW_AT_low_pc.
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 |
Definition at line 226 of file DWARFDebugInfoEntry.cpp.
References llvm::dwarf::DW_AT_GNU_ranges_base, and llvm::dwarf::DW_AT_ranges_base.
const DWARFDebugInfoEntryMinimal* llvm::DWARFDebugInfoEntryMinimal::getSibling | ( | ) | const [inline] |
Definition at line 65 of file DWARFDebugInfoEntry.h.
Referenced by collectChildrenAddressRanges(), dump(), and getInlinedChainForAddress().
const char * DWARFDebugInfoEntryMinimal::getSubroutineName | ( | const DWARFUnit * | U, |
DILineInfoSpecifier::FunctionNameKind | 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 298 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, extractFast(), getSubroutineName(), and llvm::None.
Referenced by getFunctionNameForAddress(), llvm::DWARFContext::getInliningInfoForAddress(), and getSubroutineName().
uint32_t llvm::DWARFDebugInfoEntryMinimal::getTag | ( | ) | const [inline] |
Definition at line 51 of file DWARFDebugInfoEntry.h.
References llvm::DWARFAbbreviationDeclaration::getTag().
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().
Returns true if DIE represents a subprogram (not inlined).
Definition at line 145 of file DWARFDebugInfoEntry.cpp.
References llvm::dwarf::DW_TAG_subprogram.
Returns true if DIE represents a subprogram or an inlined subroutine.
Definition at line 149 of file DWARFDebugInfoEntry.cpp.
References llvm::dwarf::DW_TAG_inlined_subroutine, and llvm::dwarf::DW_TAG_subprogram.
void llvm::DWARFDebugInfoEntryMinimal::setSibling | ( | const DWARFDebugInfoEntryMinimal * | Sibling | ) | [inline] |
Definition at line 76 of file DWARFDebugInfoEntry.h.