[Concepts] Constraint Satisfaction Caching
authorSaar Raz <saar@raz.email>
Wed, 22 Jan 2020 00:50:12 +0000 (02:50 +0200)
committerSaar Raz <saar@raz.email>
Wed, 22 Jan 2020 01:09:53 +0000 (03:09 +0200)
commitb933d37cd3774e5431b35e82187eebb59b1ff59e
treecc62167fbd38b917beeb554380d4afe760c85b9b
parenta156da5fb361fd38ba379ec20856626c9e35f829
[Concepts] Constraint Satisfaction Caching

Add a simple cache for constraint satisfaction results. Whether or not this simple caching
would be permitted in final C++2a is currently being discussed but it is required for
acceptable performance so we use it in the meantime, with the possibility of adding some
cache invalidation mechanisms later.

Differential Revision: https://reviews.llvm.org/D72552
clang/include/clang/AST/ASTConcept.h
clang/include/clang/Basic/LangOptions.def
clang/include/clang/Driver/CC1Options.td
clang/include/clang/Sema/Sema.h
clang/include/clang/Sema/TemplateDeduction.h
clang/lib/AST/ASTConcept.cpp
clang/lib/Frontend/CompilerInvocation.cpp
clang/lib/Sema/Sema.cpp
clang/lib/Sema/SemaConcept.cpp
clang/test/SemaTemplate/cxx2a-constraint-caching.cpp [new file with mode: 0644]