[all-commits] [llvm/llvm-project] 9919bb: [clang] Reland: Instantiate concepts with sugared ...
Matheus Izvekov via All-commits
all-commits at lists.llvm.org
Fri Aug 2 19:35:06 PDT 2024
Branch: refs/heads/users/mizvekov/clang-sugar-substitute-concepts
Home: https://github.com/llvm/llvm-project
Commit: 9919bb4550f266375be19ce2af46735fb451ff86
https://github.com/llvm/llvm-project/commit/9919bb4550f266375be19ce2af46735fb451ff86
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2024-08-02 (Fri, 02 Aug 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Template.h
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/test/AST/ast-dump-concepts.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/compound-requirement.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/simple-requirement.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/type-requirement.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.normal/p1.cpp
M clang/test/CXX/temp/temp.param/p10-2a.cpp
M clang/test/SemaTemplate/concepts-recursive-inst.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/test/SemaTemplate/pr52970.cpp
M libcxx/test/libcxx/algorithms/cpp17_iterator_concepts.verify.cpp
Log Message:
-----------
[clang] Reland: Instantiate concepts with sugared template arguments
Since we don't unique specializations for concepts, we can just instantiate
them with the sugared template arguments, at negligible cost.
If we don't track their specializations, we can't resugar them later
anyway, and that would be more expensive than just instantiating them
sugared in the first place since it would require an additional pass.
This was a previously reverted patch due to a performance regression,
which was very simple to fix, as we were only missing the
canonicalizations for the key to the satisfcation cache.
Fixes #59271
Differential Revision: https://reviews.llvm.org/D136566
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