]> granicus.if.org Git - clang/commit
[modules] Attempt to improve performance for declaration merging without a Sema
authorRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 6 May 2016 23:14:07 +0000 (23:14 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 6 May 2016 23:14:07 +0000 (23:14 +0000)
commit4b43489e894f9667c319d0dceee5969dc5ac2f02
treeac996d69aaff29513e02e36ca8470595902f17dd
parent0a78726ddd115f59b703c4fe81d3cc211be3758c
[modules] Attempt to improve performance for declaration merging without a Sema
object in C. Rather than using the DeclContext (which is very slow because it
triggers us to build a lookup table for the DeclContext), use a separate map
from identifiers to decls for this case, containing only the ones we've
actually deserialized. For convenience, this map is implemented as an
IdentifierResolver.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268817 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Serialization/ASTReader.h
lib/Serialization/ASTReader.cpp
lib/Serialization/ASTReaderDecl.cpp