alexfh added a comment.

In D128113#3743736 <https://reviews.llvm.org/D128113#3743736>, @mizvekov wrote:

> In D128113#3742779 <https://reviews.llvm.org/D128113#3742779>, @joanahalili 
> wrote:
>
>> This is the reproducer we managed to create for the memory increase.  As 
>> mentioned above we notice both a difference in memory and execution time.
>
> Thanks.
>
> I also added a print of the amount of SubstTemplateTypeParmType nodes that 
> were uniqued:
>
> Before:
>
>   SubstTemplateTypeParmType: 751088
>   clang.exe: output=a.exe, total=46687.500 ms, user=46031.250 ms, mem=7793868 
> Kb
>
> After:
>
>   SubstTemplateTypeParmType: 41919586
>   clang.exe: output=a.exe, total=68828.125 ms, user=67968.750 ms, 
> mem=10511992 Kb
>
> This DR is so basic that I don't really see reasonable way to avoid this cost 
> except by disabling it with a flag.
>
> Though I wonder how useful a SubstTemplateTypeParmType is without the pack 
> index. If that kind of heavy handed meta-programming is reasonable, a flag 
> for disabling substitution sugar entirely does not seem unreasonable...

I wonder what is the practical application of the substitution index in 
SubstTemplateTypeParmType? Diagnostics? Matching AST? Something else? What 
would be the cost of calculating the index when necessary?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D128113

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

Reply via email to