[Lldb-commits] [lldb] Improve performance of .debug_names lookups when DW_IDX_parent attributes are used (PR #91808)

David Blaikie via lldb-commits lldb-commits at lists.llvm.org
Mon May 13 12:18:36 PDT 2024


dwblaikie wrote:

& FWIW, I think it is valid to include these declarations as entries, though not as named/index entries, per the spec:

> It is possible that an indexed debugging information entry has a parent that is not indexed (for example, if its parent does not have a name attribute). In such a case, a parent attribute may point to a nameless index entry (that is, one that cannot be reached from any entry in the name table), or it may point to the nearest ancestor that does have an index entry

So I think you could have a parent that's a declaration, represented as a nameless index entry. That'd allow faster comparisons when examining the entry for the named child that had such a parent - because you could potentially check that named entry's fully qualified name directly from the named entry and the parents - without needing to parse all the DIEs in the CU to walk and find the start of the parents.

But I don't believe clang is producing such DWARF today.

https://github.com/llvm/llvm-project/pull/91808


More information about the lldb-commits mailing list