[all-commits] [llvm/llvm-project] 1b7548: [clang] Reland: separate recursive instantiation c...

Matheus Izvekov via All-commits all-commits at lists.llvm.org
Sun Oct 19 12:45:31 PDT 2025


  Branch: refs/heads/users/mizvekov/refactor-recursive-inst-diag
  Home:   https://github.com/llvm/llvm-project
  Commit: 1b754878654c8c06ea978342e7fc7249ae07fbbf
      https://github.com/llvm/llvm-project/commit/1b754878654c8c06ea978342e7fc7249ae07fbbf
  Author: Matheus Izvekov <mizvekov at gmail.com>
  Date:   2025-10-19 (Sun, 19 Oct 2025)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/SemaCXX/libstdcxx_pair_swap_hack.cpp
    M clang/test/SemaTemplate/instantiate-self.cpp

  Log Message:
  -----------
  [clang] Reland: separate recursive instantiation check from CodeSynthesisContext

This makes pushing / popping CodeSynthesisContexts much cheaper,
as it delegates to another class this functionality which is not
actually needed in most cases.

It also converts a bunch of these uses into just asserts.

This improves compiler performance a little bit:

Some diagnostics change a little bit, because we avoid printing
a redundant context notes.

This relands #162224 with no changes, turns out the buildbot failure was
unrelated.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list