|
LLVM
3.7.0
|
#include <DWARFDebugLine.h>
Public Types | |
| typedef std::vector< Row > | RowVector |
| typedef RowVector::const_iterator | RowIter |
| typedef std::vector< Sequence > | SequenceVector |
| typedef SequenceVector::const_iterator | SequenceIter |
Public Member Functions | |
| LineTable () | |
| void | appendRow (const DWARFDebugLine::Row &R) |
| void | appendSequence (const DWARFDebugLine::Sequence &S) |
| uint32_t | lookupAddress (uint64_t address) const |
| bool | lookupAddressRange (uint64_t address, uint64_t size, std::vector< uint32_t > &result) const |
| bool | getFileNameByIndex (uint64_t FileIndex, const char *CompDir, DILineInfoSpecifier::FileLineInfoKind Kind, std::string &Result) const |
| bool | getFileLineInfoForAddress (uint64_t Address, const char *CompDir, DILineInfoSpecifier::FileLineInfoKind Kind, DILineInfo &Result) const |
| void | dump (raw_ostream &OS) const |
| void | clear () |
| bool | parse (DataExtractor debug_line_data, const RelocAddrMap *RMap, uint32_t *offset_ptr) |
| Parse prologue and all rows. More... | |
Public Attributes | |
| const uint32_t | UnknownRowIndex = UINT32_MAX |
| struct Prologue | Prologue |
| RowVector | Rows |
| SequenceVector | Sequences |
Definition at line 171 of file DWARFDebugLine.h.
| typedef RowVector::const_iterator llvm::DWARFDebugLine::LineTable::RowIter |
Definition at line 212 of file DWARFDebugLine.h.
| typedef std::vector<Row> llvm::DWARFDebugLine::LineTable::RowVector |
Definition at line 211 of file DWARFDebugLine.h.
| typedef SequenceVector::const_iterator llvm::DWARFDebugLine::LineTable::SequenceIter |
Definition at line 214 of file DWARFDebugLine.h.
| typedef std::vector<Sequence> llvm::DWARFDebugLine::LineTable::SequenceVector |
Definition at line 213 of file DWARFDebugLine.h.
| DWARFDebugLine::LineTable::LineTable | ( | ) |
Definition at line 181 of file DWARFDebugLine.cpp.
|
inline |
Definition at line 177 of file DWARFDebugLine.h.
References Rows.
|
inline |
Definition at line 180 of file DWARFDebugLine.h.
References Sequences.
| void DWARFDebugLine::LineTable::clear | ( | ) |
Definition at line 199 of file DWARFDebugLine.cpp.
References llvm::DWARFDebugLine::Prologue::clear().
Referenced by llvm::DWARFContext::dump().
| void DWARFDebugLine::LineTable::dump | ( | raw_ostream & | OS | ) | const |
Definition at line 185 of file DWARFDebugLine.cpp.
References llvm::DWARFDebugLine::Prologue::dump().
Referenced by llvm::DWARFContext::dump().
| bool DWARFDebugLine::LineTable::getFileLineInfoForAddress | ( | uint64_t | Address, |
| const char * | CompDir, | ||
| DILineInfoSpecifier::FileLineInfoKind | Kind, | ||
| DILineInfo & | Result | ||
| ) | const |
Definition at line 673 of file DWARFDebugLine.cpp.
References llvm::DILineInfo::Column, llvm::DWARFDebugLine::Row::Column, llvm::DWARFDebugLine::Row::File, llvm::DILineInfo::FileName, llvm::DILineInfo::Line, and llvm::DWARFDebugLine::Row::Line.
Referenced by llvm::DWARFContext::getInliningInfoForAddress().
| bool DWARFDebugLine::LineTable::getFileNameByIndex | ( | uint64_t | FileIndex, |
| const char * | CompDir, | ||
| DILineInfoSpecifier::FileLineInfoKind | Kind, | ||
| std::string & | Result | ||
| ) | const |
Definition at line 636 of file DWARFDebugLine.cpp.
References llvm::sys::path::append(), llvm::DWARFDebugLine::FileNameEntry::DirIdx, llvm::DWARFDebugLine::Prologue::FileNames, if(), llvm::DWARFDebugLine::Prologue::IncludeDirectories, llvm::sys::path::is_absolute(), llvm::sys::path::is_relative(), llvm::DWARFDebugLine::FileNameEntry::Name, llvm::None, and llvm::SmallString< InternalLen >::str().
Referenced by llvm::DWARFContext::getInliningInfoForAddress(), and llvm::DWARFContext::getLineInfoForAddressRange().
| uint32_t DWARFDebugLine::LineTable::lookupAddress | ( | uint64_t | address | ) | const |
Definition at line 561 of file DWARFDebugLine.cpp.
References llvm::DWARFDebugLine::Sequence::LowPC, and llvm::DWARFDebugLine::Sequence::orderByLowPC().
| bool DWARFDebugLine::LineTable::lookupAddressRange | ( | uint64_t | address, |
| uint64_t | size, | ||
| std::vector< uint32_t > & | result | ||
| ) | const |
Definition at line 584 of file DWARFDebugLine.cpp.
References llvm::DWARFDebugLine::Sequence::FirstRowIndex, llvm::DWARFDebugLine::Sequence::LastRowIndex, llvm::DWARFDebugLine::Sequence::LowPC, llvm::DWARFDebugLine::Sequence::orderByLowPC(), and size.
Referenced by llvm::DWARFContext::getLineInfoForAddressRange().
| bool DWARFDebugLine::LineTable::parse | ( | DataExtractor | debug_line_data, |
| const RelocAddrMap * | RMap, | ||
| uint32_t * | offset_ptr | ||
| ) |
Parse prologue and all rows.
Definition at line 256 of file DWARFDebugLine.cpp.
References llvm::DWARFDebugLine::FileNameEntry::DirIdx, llvm::dwarf::DW_LNE_define_file, llvm::dwarf::DW_LNE_end_sequence, llvm::dwarf::DW_LNE_set_address, llvm::dwarf::DW_LNE_set_discriminator, llvm::dwarf::DW_LNS_advance_line, llvm::dwarf::DW_LNS_advance_pc, llvm::dwarf::DW_LNS_const_add_pc, llvm::dwarf::DW_LNS_copy, llvm::dwarf::DW_LNS_fixed_advance_pc, llvm::dwarf::DW_LNS_negate_stmt, llvm::dwarf::DW_LNS_set_basic_block, llvm::dwarf::DW_LNS_set_column, llvm::dwarf::DW_LNS_set_epilogue_begin, llvm::dwarf::DW_LNS_set_file, llvm::dwarf::DW_LNS_set_isa, llvm::dwarf::DW_LNS_set_prologue_end, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DWARFDebugLine::Prologue::FileNames, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), llvm::DataExtractor::getAddress(), llvm::DataExtractor::getCStr(), llvm::DataExtractor::getSLEB128(), llvm::DataExtractor::getU16(), llvm::DataExtractor::getU8(), llvm::DataExtractor::getULEB128(), llvm::DWARFDebugLine::FileNameEntry::Length, llvm::DWARFDebugLine::Prologue::LineBase, llvm::DWARFDebugLine::Prologue::LineRange, llvm::DWARFDebugLine::Prologue::MinInstLength, llvm::DWARFDebugLine::FileNameEntry::ModTime, llvm::DWARFDebugLine::FileNameEntry::Name, llvm::DWARFDebugLine::Prologue::OpcodeBase, llvm::DWARFDebugLine::Sequence::orderByLowPC(), llvm::DWARFDebugLine::Prologue::parse(), llvm::DWARFDebugLine::Prologue::sizeofTotalLength(), llvm::DWARFDebugLine::Prologue::StandardOpcodeLengths, and llvm::DWARFDebugLine::Prologue::TotalLength.
Referenced by llvm::DWARFContext::dump(), and llvm::DWARFDebugLine::getOrParseLineTable().
| struct Prologue llvm::DWARFDebugLine::LineTable::Prologue |
Definition at line 210 of file DWARFDebugLine.h.
Referenced by llvm::DWARFContext::dump().
| RowVector llvm::DWARFDebugLine::LineTable::Rows |
Definition at line 215 of file DWARFDebugLine.h.
Referenced by appendRow(), and llvm::DWARFContext::getLineInfoForAddressRange().
| SequenceVector llvm::DWARFDebugLine::LineTable::Sequences |
Definition at line 216 of file DWARFDebugLine.h.
Referenced by appendSequence().
| const uint32_t llvm::DWARFDebugLine::LineTable::UnknownRowIndex = UINT32_MAX |
Definition at line 175 of file DWARFDebugLine.h.
1.8.6