llvm-project/clang/lib/Serialization
Richard Smith f634c90069 Fix Objective-C compilation-time performance regression introduced in r152608.
Reintroduce lazy name lookup table building, ensuring that the lazy building step
produces the same lookup table that would be built by the eager step.

Avoid building a lookup table for the translation unit outside C++, even in cases
where we can't recover the contents of the table from the declaration chain on
the translation unit, since we're not going to perform qualified lookup into it
anyway. Continue to support lazily building such lookup tables for now, though,
since ASTMerge uses them.

In my tests, this performs very similarly to ToT with r152608 backed out, for C,
Obj-C and C++, and does not suffer from PR10447.

llvm-svn: 152905
2012-03-16 06:12:59 +00:00
..
ASTCommon.cpp Restore r142914 and r142915, now with missing file and apparent 2011-10-25 17:37:35 +00:00
ASTCommon.h When deserializing the definition of a C++ class/ObjC class/ObjC 2012-01-15 18:08:05 +00:00
ASTReader.cpp Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST). 2012-03-11 07:00:24 +00:00
ASTReaderDecl.cpp Instantiating a class template should not instantiate the definition of any 2012-03-14 23:13:10 +00:00
ASTReaderInternals.h Only mark an IdentifierInfo as having changed since deserialization 2012-01-24 15:24:38 +00:00
ASTReaderStmt.cpp Remove BlockDeclRefExpr and introduce a bit on DeclRefExpr to 2012-03-10 09:33:50 +00:00
ASTWriter.cpp Fix Objective-C compilation-time performance regression introduced in r152608. 2012-03-16 06:12:59 +00:00
ASTWriterDecl.cpp Fix Objective-C compilation-time performance regression introduced in r152608. 2012-03-16 06:12:59 +00:00
ASTWriterStmt.cpp Remove BlockDeclRefExpr and introduce a bit on DeclRefExpr to 2012-03-10 09:33:50 +00:00
CMakeLists.txt Fix cmake build with -DBUILD_SHARED_LIBS=ON. 2011-12-29 04:31:59 +00:00
GeneratePCH.cpp Revert my patches which removed Diagnostic.h includes by moving some operator overloads out of line. 2012-02-07 22:29:24 +00:00
Makefile Reintroduce the serialization library, with fixed dependencies. 2010-08-17 20:43:28 +00:00
Module.cpp Reimplement (de-)serialization of Objective-C categories to eliminate 2012-01-27 01:47:08 +00:00
ModuleManager.cpp Optimize unqualified/global name lookup in modules by introducing a 2012-01-18 20:56:22 +00:00