[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