diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-08-31 22:17:11 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-08-31 22:17:11 +0000 |
commit | 9ce2b45936896d28939c2d28860a9c9fb424c7d3 (patch) | |
tree | 881aad0deab058309d207b7e999c30820bedc171 /clang/test/Modules/merge-using-decls.cpp | |
parent | 0518574a735fd41d7aa1a8f3457be9b790b5befd (diff) | |
download | bcm5719-llvm-9ce2b45936896d28939c2d28860a9c9fb424c7d3.tar.gz bcm5719-llvm-9ce2b45936896d28939c2d28860a9c9fb424c7d3.zip |
[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: 246497
Diffstat (limited to 'clang/test/Modules/merge-using-decls.cpp')
-rw-r--r-- | clang/test/Modules/merge-using-decls.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/test/Modules/merge-using-decls.cpp b/clang/test/Modules/merge-using-decls.cpp index 789f75b5740..15d4af4837a 100644 --- a/clang/test/Modules/merge-using-decls.cpp +++ b/clang/test/Modules/merge-using-decls.cpp @@ -31,7 +31,9 @@ template int UseAll<YA>(); template int UseAll<YB>(); template int UseAll<Y>(); -#if ORDER == 1 +// Which of these two sets of diagnostics is chosen is not important. It's OK +// if this varies with ORDER, but it must be consistent across runs. +#if 1 // Here, we're instantiating the definition from 'A' and merging the definition // from 'B' into it. |