10 #ifndef LLVM_DEBUGINFO_DWARFDEBUGLINE_H
11 #define LLVM_DEBUGINFO_DWARFDEBUGLINE_H
88 Row(
bool default_is_stmt =
false) {
reset(default_is_stmt); }
91 void reset(
bool default_is_stmt);
183 std::vector<uint32_t>& result)
const;
188 bool NeedsAbsoluteFilePath,
189 std::string &Result)
const;
237 uint32_t *offset_ptr, State &state);
244 typedef std::map<uint32_t, LineTable> LineTableMapTy;
245 typedef LineTableMapTy::iterator LineTableIter;
246 typedef LineTableMapTy::const_iterator LineTableConstIter;
249 LineTableMapTy LineTableMap;
DWARFDebugLine(const RelocAddrMap *LineInfoRelocMap)
RowVector::const_iterator RowIter
std::vector< Sequence > SequenceVector
Row(bool default_is_stmt=false)
static bool orderByAddress(const Row &LHS, const Row &RHS)
SequenceVector::const_iterator SequenceIter
const LineTable * getLineTable(uint32_t offset) const
DumpingState(raw_ostream &OS)
uint32_t getStatementTableLength() const
void postAppend()
Called after a row is appended to the matrix.
bool getFileNameByIndex(uint64_t FileIndex, bool NeedsAbsoluteFilePath, std::string &Result) const
void appendSequence(const DWARFDebugLine::Sequence &sequence)
void appendRow(const DWARFDebugLine::Row &state)
LLVM Basic Block Representation.
void dump(raw_ostream &OS) const
void dump(raw_ostream &OS) const
int32_t getMaxLineIncrementForSpecialOpcode() const
void dump(raw_ostream &OS) const
const LineTable * getOrParseLineTable(DataExtractor debug_line_data, uint32_t offset)
bool lookupAddressRange(uint64_t address, uint64_t size, std::vector< uint32_t > &result) const
uint32_t lookupAddress(uint64_t address) const
std::vector< const char * > IncludeDirectories
virtual void appendRowToMatrix(uint32_t offset)
std::vector< uint8_t > StandardOpcodeLengths
void reset(bool default_is_stmt)
bool containsPC(uint64_t pc) const
uint32_t getLength() const
std::vector< FileNameEntry > FileNames
static bool orderByLowPC(const Sequence &LHS, const Sequence &RHS)
static bool parsePrologue(DataExtractor debug_line_data, uint32_t *offset_ptr, Prologue *prologue)
std::vector< Row > RowVector
static bool parseStatementTable(DataExtractor debug_line_data, const RelocAddrMap *RMap, uint32_t *offset_ptr, State &state)
Parse a single line table (prologue and all rows).