vgvassilev wrote:

> > do we store all template variable specializations in the same place in the 
> > map including the partial ones?
> 
> Yes, we identify if they are partial by an additional bit.
> 
> For the solution, given there might be other places need to load the 
> specializations, how about removing the `OnlyPartial` part in 
> `ASTReader::LoadExternalSpecializations(const Decl *D, bool OnlyPartial)`. So 
> that although we have to call `findAll` in some cases, we won't call 
> `findAll` again and again. We can remove the iterator after the first call.

We can probably split the partial ones from the others as they will probably be 
far less and iterating should be faster... I suspect we should somehow record 
if the partials were read the first time and don't decent into the map again...

https://github.com/llvm/llvm-project/pull/83237
_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to