ilya-biryukov wrote: I have made quite a bit of progress here, but we also need the deduplication builting urgently to help ease the pain for some of the big compilations that started hitting our infrastructure limits internally.
I have created #139730 with the initial and simple version of the builtin that I would really love to land ASAP as I expect this PR to take more time to cook (see open questions below, I'm sure there will be a few more comments). I fully understand the desire to have a better version of the builtin in the long term and I am happy to continue working on this until it lands. But we also need the build time savings at a shorter timeframe, so I hope that having a simpler version in the meantime would not be a particularly contentious point. Let me know, though. With that out of the way, @cor3ntin could you take a look at the new version here? It still has a few rough edges, but I want to make sure the choices made here make sense to you, in particular: - using `TemplateSpecializationType` for dependent instantiations and for sugar after we have a template pack after substitution, - doing a second run during template instantiations when we need to expand the packs that are delayed, - a new type (that shares a common base class with `SubstTemplateParmPackType`) to represent the pack after substitution. Also eager to hear feedback from others, just calling out @cor3ntin as someone who has been the author of the relevant standard proposals that this PR is trying to mimic. https://github.com/llvm/llvm-project/pull/106730 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits