[PATCH] D128113: Clang: fix AST representation of expanded template arguments.
Matheus Izvekov via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Aug 23 14:26:37 PDT 2022
mizvekov added a comment.
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...
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D128113/new/
https://reviews.llvm.org/D128113
More information about the cfe-commits
mailing list