[clang] [Clang] Improve concept performance 1/N (PR #188421)

Corentin Jabot via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 1 01:52:20 PDT 2026


================
@@ -1358,7 +1360,12 @@ namespace {
                          SourceLocation Loc,
                          const MultiLevelTemplateArgumentList &TemplateArgs)
         : inherited(SemaRef), TemplateArgs(TemplateArgs), Loc(Loc),
-          BailOutOnIncomplete(false) {}
+          BailOutOnIncomplete(false) {
+      auto &V = TemplateArgsHashValue.emplace();
+      for (auto &Level : TemplateArgs)
+        for (auto &Arg : Level.Args)
+          Arg.Profile(V, SemaRef.Context);
----------------
cor3ntin wrote:

Is there any value doing that lazily? (in cases there is no template arguments to transform?)

https://github.com/llvm/llvm-project/pull/188421


More information about the cfe-commits mailing list