a4de17562d13d7a8188108243c4cfbd52f33229a |
|
04-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r256229 http://b/26987366 (cherry picked from commit 87d948ecccffea9e9e37d0d053b246e2d6d6c47b) Change-Id: I10ca401a280e905253aafabad9118693a2f24ffb
/external/clang/lib/Serialization/ModuleManager.cpp
|
b6d6993e6e6d3daf4d9876794254d20a134e37c2 |
|
01-Jul-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r239765 Change-Id: I0393bcc952590a7226af8c4b58534a8ee5fd2d99
/external/clang/lib/Serialization/ModuleManager.cpp
|
3ea9e33ea25e0c2b12db56418ba3f994eb662c04 |
|
08-Apr-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master clang for rebase to r233350 Change-Id: I12d4823f10bc9e445b8b86e7721b71f98d1df442
/external/clang/lib/Serialization/ModuleManager.cpp
|
0e2c34f92f00628d48968dfea096d36381f494cb |
|
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master clang for rebase to r230699. Change-Id: I6a546ab3d4ae37119eebb735e102cca4f80ab520
/external/clang/lib/Serialization/ModuleManager.cpp
|
176edba5311f6eff0cad2631449885ddf4fbc9ea |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master Clang for rebase to r222490. Change-Id: Ic557ac55e97fbf6ee08771c7b7c3594777b0aefd
/external/clang/lib/Serialization/ModuleManager.cpp
|
c568f1e98938584c0ef0b12ae5018ff7d90a4072 |
|
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for rebase to r212749. This also fixes a small issue with arm_neon.h not being generated always. Includes a cherry-pick of: r213450 - fixes mac-specific header issue r213126 - removes a default -Bsymbolic on Android Change-Id: I2a790a0f5d3b2aab11de596fc3a74e7cbc99081d
/external/clang/lib/Serialization/ModuleManager.cpp
|
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/lib/Serialization/ModuleManager.cpp
|
651f13cea278ec967336033dd032faef0e9fc2ec |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/lib/Serialization/ModuleManager.cpp
|
edadb9a879e14b3732461316a83ffc4c3482ad19 |
|
06-Sep-2013 |
Eli Friedman <eli.friedman@gmail.com> |
Add a bit more info to modules fatal error. Just a minor tweak to make it easier to track down the cause of fatal errors with modules. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@190108 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
809d254c1f1521c141c8807638c29d67b50ebf29 |
|
24-Aug-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
This wasn't headers, just missing namespaces. /me bows head in shame. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189172 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
ae0cdff0b83e59c7fe769baf171d1ba194ad8b88 |
|
24-Aug-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Add missing includes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
344472ebeded2fca2ed5013b9e87f81d09bfa908 |
|
23-Aug-2013 |
Robert Wilhelm <robert.wilhelm@gmx.net> |
Use pop_back_val() instead of both back() and pop_back(). No functionality change intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
8229d22e6449851b89361bf2f41804557328be63 |
|
12-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Include Path.h instead of PathV2.h. I am about to move PathV2.h to Path.h. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
c544ba09695e300f31355af342258bd57619e737 |
|
27-Mar-2013 |
Douglas Gregor <dgregor@apple.com> |
<rdar://problem/13509689> Introduce -module-file-info option that provides information about a particular module file. This option can be useful for end users who want to know why they ended up with a ton of different variants of the "std" module in their module cache. This problem should go away over time, as we reduce the need for module variants, but it will never go away entirely. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
fa69fc19121da3fc5673ccc00d4e8afa5b540a4f |
|
22-Mar-2013 |
Douglas Gregor <dgregor@apple.com> |
<rdar://problem/13479539> Simplify ModuleManager/GlobalModuleIndex interaction to eliminate a pile of extraneous stats(). The refactoring in r177367 introduced a serious performance bug where the "lazy" resolution of module file names in the global module index to actual module file entries in the module manager would perform repeated negative stats(). The new interaction requires the module manager to inform the global module index when a module file has been loaded, eliminating the extraneous stat()s and a bunch of bookkeeping on both sides. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177750 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
0beab2746464ff7e871b2ec9c9b7fd9e8bc53494 |
|
21-Mar-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove unused variable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177657 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
677e15ffee2ecc9c1c8f46fd77cab4b5afb59640 |
|
19-Mar-2013 |
Douglas Gregor <dgregor@apple.com> |
<rdar://problem/13363214> Eliminate race condition between module rebuild and the global module index. The global module index was querying the file manager for each of the module files it knows about at load time, to prune out any out-of-date information. The file manager would then cache the results of the stat() falls used to find that module file. Later, the same translation unit could end up trying to import one of the module files that had previously been ignored by the module cache, but after some other Clang instance rebuilt the module file to bring it up-to-date. The stale stat() results in the file manager would trigger a second rebuild of the already-up-to-date module, causing failures down the line. The global module index now lazily resolves its module file references to actual AST reader module files only after the module file has been loaded, eliminating the stat-caching race. Moreover, the AST reader can communicate to its caller that a module file is missing (rather than simply being out-of-date), allowing us to simplify the module-loading logic and allowing the compiler to recover if a dependent module file ends up getting deleted. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
ea14a8799f2a6d139491483151cee4341ef1a73e |
|
08-Feb-2013 |
Douglas Gregor <dgregor@apple.com> |
Never cache the result of a module file lookup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
d3cf5fba332fc77f7e72ef58077822606718671d |
|
28-Jan-2013 |
Douglas Gregor <dgregor@apple.com> |
Eliminate memory allocation from most invocations of ModuleManager::visit() by keeping a free list of the two data structures used to store state (a preallocated stack and a visitation number vector). Improves -fsyntax-only performance for my modules test case by 2.8%. Modules has pulled ahead by almost 10% with the global module index. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
188bdcd1aaf5e9f457cec6851707d7dc3e7bbb15 |
|
26-Jan-2013 |
Douglas Gregor <dgregor@apple.com> |
Improve coordination between the module manager and the global module index, optimizing the operation that skips lookup in modules where we know the identifier will not be found. This makes the global module index optimization actually useful, providing an 8.5% speedup over modules without the global module index for -fsyntax-only. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173529 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
d07865b42dcb32154c75134fded51b38cc55a0c4 |
|
25-Jan-2013 |
Douglas Gregor <dgregor@apple.com> |
Optimize ModuleManager::visit() by precomputing the visitation order and limiting ourselves to two memory allocations. 10% speedup in -fsyntax-only time for modules. With this change, we can actually see some performance different from the global module index, but it's still about 1%. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
1a49d97d762570027863e9209af81d445e4f1502 |
|
25-Jan-2013 |
Douglas Gregor <dgregor@apple.com> |
Implement the reader of the global module index and wire it into the AST reader. The global module index tracks all of the identifiers known to a set of module files. Lookup of those identifiers looks first in the global module index, which returns the set of module files in which that identifier can be found. The AST reader only needs to look into those module files and any module files not known to the global index (e.g., because they were (re)built after the global index), reducing the number of on-disk hash tables to visit. For an example source I'm looking at, we go from 237844 total identifier lookups into on-disk hash tables down to 126817. Unfortunately, this does not translate into a performance advantage. At best, it's a wash once the global module index has been built, but that's ignore the cost of building the global module index (which is itself fairly large). Profiles show that the global module index code is far less efficient than it should be; optimizing it might give enough of an advantage to justify its continued inclusion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173405 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
cc71dbee441e97285e86bff48eecfbeab82de7ce |
|
21-Jan-2013 |
Douglas Gregor <dgregor@apple.com> |
Give ModuleFiles an index, so that we can use indexed vectors rather than DenseMaps and SmallPtrSets for module-visitation data. ~2.6% speedup for modules. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
87e2cfcec7231daaa3f367dc32df74b411251e46 |
|
30-Nov-2012 |
Douglas Gregor <dgregor@apple.com> |
Actually keep track of the source locations at which particular module files are loaded. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
7cdd28162dc7ade4b14bf237e87b4bbc17b2f023 |
|
07-Nov-2012 |
Douglas Gregor <dgregor@apple.com> |
When loading a module fails because it is out of date, rebuild that module in place. <rdar://problem/10138913> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167539 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
d64c26f6676eef69d1713f353ca8a3c2fe963f17 |
|
03-Oct-2012 |
Argyrios Kyrtzidis <akyrtzi@gmail.com> |
Set the file entry for a Module* that was created during deserialization of a module file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165086 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
057df20b3107cef764052d271c89b8591b98b3ce |
|
18-Jan-2012 |
Douglas Gregor <dgregor@apple.com> |
Optimize unqualified/global name lookup in modules by introducing a generational scheme for identifiers that avoids searching the hash tables of a given module more than once for a given identifier. Previously, loading any new module invalidated all of the previous lookup results for all identifiers, causing us to perform the lookups repeatedly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
1a4761edca58c6b559de825b9abfb66f7f1ba94a |
|
01-Dec-2011 |
Douglas Gregor <dgregor@apple.com> |
Promote ModuleMap::Module to a namespace-scope class in the Basic library, since modules cut across all of the libraries. Rename serialization::Module to serialization::ModuleFile to side-step the annoying naming conflict. Prune a bunch of ModuleMap.h includes that are no longer needed (most files only needed the Module type). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145538 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
2492c89882b5c5ce03afb4704fee67b7eff8f5ee |
|
11-Oct-2011 |
Douglas Gregor <dgregor@apple.com> |
Add support for viewing the module graph via Graphviz, for debugging purposes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|
98339b96a8089a6da715487e432c5abfca0ca0df |
|
25-Aug-2011 |
Douglas Gregor <dgregor@apple.com> |
Factor the Module and ModuleManager classes out into separate headers and .cpp files, since ASTReader.cpp was getting way too large. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138582 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Serialization/ModuleManager.cpp
|