clayborg requested changes to this revision. clayborg added a comment. This revision now requires changes to proceed.
Yes this fixes the regression and actually speeds things up a bit. My results were a speed up of 17% to 30% versus 11.3.1 LLDB. Just one nit in the way we are getting the DW_AT_stmt_list and not adding in the line table offset in the inline comments and this is good to go. ================ Comment at: lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:893-896 + const dw_offset_t cu_line_offset = dwarf_cu_die.GetAttributeValueAsUnsigned( + DW_AT_stmt_list, DW_INVALID_OFFSET); + if (cu_line_offset == DW_INVALID_OFFSET) + return false; ---------------- DWARFContext::getLineTableForUnit() in llvm/lib/DebugInfo/DWARF/DWARFContext.cpp grabs the DW_AT_stmt_list like this: ``` auto Offset = toSectionOffset(UnitDIE.find(DW_AT_stmt_list)); if (!Offset) return false; // No line table for this compile unit. uint64_t stmtOffset = *Offset + U->getLineTableOffset(); ``` Modifying this a bit would be a good idea to make sure we are compatible with all DWARF. Or we can put a function into DWARFUnit that does this correctly and switch DWARFContext::getLineTableForUnit() and our code over to use it to avoid duplicated code. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81589/new/ https://reviews.llvm.org/D81589 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits