rsmith added a comment.

In D99893#2672563 <https://reviews.llvm.org/D99893#2672563>, @cor3ntin wrote:

> This would solve some of the issues (perfect code-gen / no body 
> instantiation), but the declarations are still instantiated of course.
> And I have a few folks asking me whether I could get rid of it. 
> Unfortunately, I think the goals of preserving the AST as is today and 
> getting rid of these template instantiations are contradictory.

Do you know how much of the cost here is instantiating the function 
declaration, and how much is instantiating `std::remove_reference`? I imagine 
we could make the latter cheaper by adding a `__remove_reference` builtin and 
changing libc++'s `forward` and `move` to use it if that's worthwhile.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D99893/new/

https://reviews.llvm.org/D99893

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to