[Lldb-commits] [lldb] Improve performance of .debug_names lookups when DW_IDX_parent attributes are used (PR #91808)
Greg Clayton via lldb-commits
lldb-commits at lists.llvm.org
Fri May 10 15:18:51 PDT 2024
clayborg wrote:
> we should probably fix the underlying issue instead: #77696
This is one fix that is needed. Quoted from an e-mail chain:
> I need to find my notes from those days, but I don't think we did. As Greg points out, the standard forbids forward declarations in debug_names; entries whose parents are forward declarations should be marked as having a parent that is not indexed.
> The addition of IDX_parent_entries should not cause the addition of _entries_ in the table, if it does then it is a bug in the implementation.
> In fact, in the original PR we have this bit of code: https://github.com/llvm/llvm-project/pull/77457/files#diff-587587ad06ddb6f99f9ad8d8deffbc2ea59fde9d62d1b5ff58ace1f52cc75752R405
```
std::optional<uint64_t>
DWARF5AccelTableData::getDefiningParentDieOffset(const DIE &Die) {
if (auto *Parent = Die.getParent();
Parent && !Parent->findAttribute(dwarf::Attribute::DW_AT_declaration))
return Parent->getOffset();
return {};
}
```
https://github.com/llvm/llvm-project/pull/91808
More information about the lldb-commits
mailing list