[lldb] [llvm] lldb simplified template names rebuild without clang ast (PR #90008)
David Blaikie via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 20 13:03:25 PDT 2024
dwblaikie wrote:
> Very cool!
Yeah, I had loftier goals of taking this even further (some of lldb's comparisons are DIE-to-DIE (eg: when trying to find a definition from a declaration) and in that case it'd be nice to not create any strings (when not using simplified template names, lldb sort of does this - by having the unqualified name, and the list of contexts, each context as the separate original string I think - and just walks the list to compare, rather than concatenating first - basically wanting to do something more like that but for simplified template names too, in which case it's not sufficient to just build a list of strings for context, you have to be able to walk all over the DWARF, etc) - this would allow recurring entities to be compared cheaply/once, and cache the subcomparison to reuse (eg: `t1<t2<int>, t2<int>>` could compare the `t2<int>` DIE on one side of the comparison with the one on the other side, then next time it sees the same DIE on one side, it could check that it's equal to the expected equivalent node on the other side and skip further comparison)
But for now, getting what's already here in would be good - and the further generalization can wait for another day :)
https://github.com/llvm/llvm-project/pull/90008
More information about the llvm-commits
mailing list