diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2013-04-12 15:22:25 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2013-04-12 15:22:25 +0000 |
commit | 1b4342dbda7d807b39cbbc9e1c7fe7a35465772c (patch) | |
tree | 540d97acf388f7c792806d4c0cbd710602ded26c /clang/lib | |
parent | f9cea17f750eea65da0b5a270f57ba2f39908ccc (diff) | |
download | bcm5719-llvm-1b4342dbda7d807b39cbbc9e1c7fe7a35465772c.tar.gz bcm5719-llvm-1b4342dbda7d807b39cbbc9e1c7fe7a35465772c.zip |
Sema: Give a typically small DenseMap some inline capacity.
Also reflow code a bit, no change in functionality.
llvm-svn: 179382
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Sema/SemaTemplateInstantiate.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/clang/lib/Sema/SemaTemplateInstantiate.cpp b/clang/lib/Sema/SemaTemplateInstantiate.cpp index f755b8ca452..7ef04e964dc 100644 --- a/clang/lib/Sema/SemaTemplateInstantiate.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiate.cpp @@ -2701,11 +2701,10 @@ void LocalInstantiationScope::InstantiatedLocal(const Decl *D, Decl *Inst) { llvm::PointerUnion<Decl *, DeclArgumentPack *> &Stored = LocalDecls[D]; if (Stored.isNull()) Stored = Inst; - else if (Stored.is<Decl *>()) { + else if (DeclArgumentPack *Pack = Stored.dyn_cast<DeclArgumentPack *>()) + Pack->push_back(Inst); + else assert(Stored.get<Decl *>() == Inst && "Already instantiated this local"); - Stored = Inst; - } else - LocalDecls[D].get<DeclArgumentPack *>()->push_back(Inst); } void LocalInstantiationScope::InstantiatedLocalPackArg(const Decl *D, |