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
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to