hanchenye-llvm-project/clang/lib/Serialization
Richard Smith d88a7f1a92 Re-commit r246497 (and dependent changes r246524 and r246521), reverted in
r246546, with a workaround for an MSVC 2013 miscompile and an MSVC 2015
rejects-valid.

Original commit message:

[modules] Rework serialized DeclContext lookup table management. Instead of
walking the loaded ModuleFiles looking for lookup tables for the context, store
them all in one place, and merge them together if we find we have too many
(currently, more than 4). If we do merge, include the merged form in our
serialized lookup table, so that downstream readers never need to look at our
imports' tables.

This gives a huge performance improvement to builds with very large numbers of
modules (in some cases, more than a 2x speedup was observed).

llvm-svn: 246582
2015-09-01 20:35:42 +00:00
..
ASTCommon.cpp [OPENMP 4.0] Initial support for array sections. 2015-08-25 14:24:04 +00:00
ASTCommon.h [modules] Add an assert for redeclarations that we never added to their redecl 2015-07-27 05:40:23 +00:00
ASTReader.cpp Re-commit r246497 (and dependent changes r246524 and r246521), reverted in 2015-09-01 20:35:42 +00:00
ASTReaderDecl.cpp Re-commit r246497 (and dependent changes r246524 and r246521), reverted in 2015-09-01 20:35:42 +00:00
ASTReaderInternals.h Re-commit r246497 (and dependent changes r246524 and r246521), reverted in 2015-09-01 20:35:42 +00:00
ASTReaderStmt.cpp [OPENMP 4.0] Initial support for array sections. 2015-08-25 14:24:04 +00:00
ASTWriter.cpp Re-commit r246497 (and dependent changes r246524 and r246521), reverted in 2015-09-01 20:35:42 +00:00
ASTWriterDecl.cpp Re-commit r246497 (and dependent changes r246524 and r246521), reverted in 2015-09-01 20:35:42 +00:00
ASTWriterStmt.cpp [OPENMP 4.0] Initial support for array sections. 2015-08-25 14:24:04 +00:00
CMakeLists.txt Revert "Wrap clang module files in a Mach-O, ELF, or COFF container." 2015-02-25 02:44:04 +00:00
GeneratePCH.cpp [modules] When explicitly building a module file, don't include timestamps in 2015-08-17 07:13:32 +00:00
GlobalModuleIndex.cpp Make the clang module container format selectable from the command line. 2015-07-17 01:19:54 +00:00
Makefile
Module.cpp Re-commit r246497 (and dependent changes r246524 and r246521), reverted in 2015-09-01 20:35:42 +00:00
ModuleManager.cpp [modules] Remove now-dead code for lazy loading of files specified by -fmodule-file=. 2015-08-09 08:58:36 +00:00
MultiOnDiskHashTable.h Re-commit r246497 (and dependent changes r246524 and r246521), reverted in 2015-09-01 20:35:42 +00:00