diff options
author | David Majnemer <david.majnemer@gmail.com> | 2015-11-04 03:40:30 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2015-11-04 03:40:30 +0000 |
commit | 6bb02a27b9161e772ec3fd64c8ee9955787d583e (patch) | |
tree | 9c233c030b85adee499edc3badf256ad989d31a1 /lib/AST/DeclBase.cpp | |
parent | 0c29653a59e47624ec37f4e607976449fb975f44 (diff) |
[Sema] Implement __make_integer_seq
This new builtin template allows for incredibly fast instantiations of
templates like std::integer_sequence.
Performance numbers follow:
My work station has 64 GB of ram + 20 Xeon Cores at 2.8 GHz.
__make_integer_seq<std::integer_sequence, int, 90000> takes 0.25
seconds.
std::make_integer_sequence<int, 90000> takes unbound time, it is still
running. Clang is consuming gigabytes of memory.
Differential Revision: http://reviews.llvm.org/D13786
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252036 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/DeclBase.cpp')
-rw-r--r-- | lib/AST/DeclBase.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/AST/DeclBase.cpp b/lib/AST/DeclBase.cpp index 406dff6899..fd6df024bb 100644 --- a/lib/AST/DeclBase.cpp +++ b/lib/AST/DeclBase.cpp @@ -639,6 +639,7 @@ unsigned Decl::getIdentifierNamespaceForKind(Kind DeclKind) { case ExternCContext: case UsingDirective: + case BuiltinTemplate: case ClassTemplateSpecialization: case ClassTemplatePartialSpecialization: case ClassScopeFunctionSpecialization: |