[PATCH] D127695: [clang] Implement Template Specialization Resugaring

Matheus Izvekov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Oct 9 08:43:55 PDT 2022


mizvekov added a comment.

In D127695#3829020 <https://reviews.llvm.org/D127695#3829020>, @davrec wrote:

> The larger issues:
>
> 1. Performance - can we see some numbers?  and

There are still work left to do on a couple of enablers, and some other changes, in order to get performance on a level which is meaningful to discuss.
The next bit of work here is to get rid of deducing partial specializations during resugaring, which hits some test cases specially bad.

> 1. There are a lot of FIXMEs introduced - understandable because of the scale, but it would be nice to hear you commit to eventually getting to those because otherwise they will probably remain indefinitely.

>From the MR desciption, I am sorry that it's not clear that this is not finished and not really ready for review at that level of detail.

So I am leaving some dumps and other stuff meanwhile, but will clean this up when it's almost there. And I will add the much needed patch description.

The tool that I am using to handle phabricator (moz-phab) is really finicky about leaving the "Changes planned" status, so this was lost here.
I addressed most of your comments though.
For the other comments, some other work has to be finished first in order to address them.

> @aaron.ballman should probably weigh in/sign off on this one given the number of FIXMEs, which probably can't be handled before @mizvekov 's deadline (when is that again?).

I am not counting anymore that I will have everything merged by the beginning of November. Don't worry too much about deadlines, we have done a lot as part of the GSoC already, much thanks to you for helping push the reviews :)
The work will continue afterwards in any case.



================
Comment at: clang/lib/Sema/SemaTemplate.cpp:95
 
+TemplateDecl *getTemplateDecl(NamedDecl *D) {
+  switch (D->getKind()) {
----------------
davrec wrote:
> static/move to namespace {} below.  Or make it a public method of Decl?  `Decl::getOriginalDescribedTemplate()` or something like that?  (If you go that route then best to fall back to getDescribedTemplate instead of the unreachable.)
This function will disappear soon, after a few other changes.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D127695



More information about the cfe-commits mailing list