Lines Matching full:row

483 DWARFDebugLine::Row::Row(bool DefaultIsStmt) { reset(DefaultIsStmt); }
485 void DWARFDebugLine::Row::postAppend() {
492 void DWARFDebugLine::Row::reset(bool DefaultIsStmt) {
508 void DWARFDebugLine::Row::dumpTableHeader(raw_ostream &OS, unsigned Indent) {
517 void DWARFDebugLine::Row::dump(raw_ostream &OS) const {
545 Row::dumpTableHeader(OS, 0);
546 for (const Row &R : Rows) {
570 Row.reset(LineTable->Prologue.DefaultIsStmt);
579 Sequence.LowPC = Row.Address.Address;
582 LineTable->appendRow(Row);
583 if (Row.EndSequence) {
585 Sequence.HighPC = Row.Address.Address;
587 Sequence.SectionIndex = Row.Address.SectionIndex;
592 Row.postAppend();
690 uint64_t AddrOffset = ((Row.OpIndex + OperationAdvance) / MaxOpsPerInst) *
692 Row.Address.Address += AddrOffset;
694 uint8_t PrevOpIndex = Row.OpIndex;
695 Row.OpIndex = (Row.OpIndex + OperationAdvance) % MaxOpsPerInst;
696 int16_t OpIndexDelta = static_cast<int16_t>(Row.OpIndex) - PrevOpIndex;
773 Row.Line += LineOffset;
849 Row::dumpTableHeader(*OS, /*Indent=*/Verbose ? 12 : 0);
859 State.Row.dump(*OS);
904 // append a row to the matrix using the current values of the
907 // with a DW_LNE_end_sequence instruction which creates a row whose
910 State.Row.EndSequence = true;
954 State.Row.Address.Address = TableData.getRelocatedAddress(
955 Cursor, &State.Row.Address.SectionIndex);
956 State.Row.OpIndex = 0;
960 TombstonedAddress = State.Row.Address.Address == Tombstone;
969 DWARFFormValue::dumpAddress(*OS, OpcodeAddressSize, State.Row.Address.Address);
1013 State.Row.Discriminator = TableData.getULEB128(Cursor);
1015 *OS << " (" << State.Row.Discriminator << ")";
1062 // Takes no arguments. Append a row to the matrix using the
1087 State.Row.Line += LineDelta;
1089 *OS << " (" << State.Row.Line << ")";
1099 State.Row.File = *File;
1101 *OS << " (" << State.Row.File << ")";
1110 State.Row.Column = *Column;
1112 *OS << " (" << State.Row.Column << ")";
1119 State.Row.IsStmt = !State.Row.IsStmt;
1125 State.Row.BasicBlock = true;
1165 State.Row.Address.Address += PCOffset;
1166 State.Row.OpIndex = 0;
1177 State.Row.PrologueEnd = true;
1183 State.Row.EpilogueBegin = true;
1191 State.Row.Isa = *Isa;
1193 *OS << " (" << (uint64_t)State.Row.Isa << ")";
1243 // When a row is added to the matrix, it is also dumped, which includes a
1297 // In general we want a non-empty range: the last row whose address is less
1302 DWARFDebugLine::Row Row;
1303 Row.Address = Address;
1306 assert(FirstRow->Address.Address <= Row.Address.Address &&
1307 Row.Address.Address < LastRow[-1].Address.Address);
1308 RowIter RowPos = std::upper_bound(FirstRow + 1, LastRow - 1, Row,
1309 DWARFDebugLine::Row::orderByAddress) -
1382 // For the first sequence, we need to find which row in the sequence is the
1388 // Figure out the last row in the range.
1482 // Get the index of row we're looking for in the line table.
1486 // Take file number and line/column from the row.
1487 const auto &Row = Rows[RowIndex];
1488 if (!getFileNameByIndex(Row.File, CompDir, Kind, Result.FileName))
1490 Result.Line = Row.Line;
1491 Result.Column = Row.Column;
1492 Result.Discriminator = Row.Discriminator;
1493 Result.Source = getSourceByIndex(Row.File, Kind);