| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 111882
|
|
|
|
|
|
| |
no tests for the chain yet.
llvm-svn: 111881
|
|
|
|
|
|
|
|
|
|
|
| |
"using an AST on-disk hash table for name lookup" commit.
When including a PCH and later re-emitting to another PCH, the name lookup tables of DeclContexts
may be incomplete, since we now lazily deserialize the visible decls of a particular name.
Fix the issue by iterating over the un-deserialized visible decls and completing the lookup tables
of DeclContexts before writing them out.
llvm-svn: 111698
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*Huge* improvement over the amount of deserializing that we do for C++ lookup.
e.g, if he have the Carbon header precompiled and include it on a file containing this:
int x;
these are the before/after stats:
BEFORE:
*** AST File Statistics:
578 stat cache hits
4 stat cache misses
548/30654 source location entries read (1.787695%)
15907/16501 types read (96.400223%)
53525/59955 declarations read (89.275291%)
33993/43525 identifiers read (78.099945%)
41516/51891 statements read (80.006165%)
77/5317 macros read (1.448185%)
0/6335 lexical declcontexts read (0.000000%)
1/5424 visible declcontexts read (0.018437%)
AFTER using the on-disk table:
*** AST File Statistics:
578 stat cache hits
4 stat cache misses
548/30654 source location entries read (1.787695%)
10/16501 types read (0.060602%)
9/59955 declarations read (0.015011%)
161/43525 identifiers read (0.369902%)
20/51891 statements read (0.038542%)
6/5317 macros read (0.112846%)
0/6335 lexical declcontexts read (0.000000%)
2/5424 visible declcontexts read (0.036873%)
There's only one issue affecting mostly the precompiled preambles which I will address soon.
llvm-svn: 111636
|
|
|
|
|
|
| |
lookup inside a DeclContext but don't use it yet.
llvm-svn: 111635
|
|
|
|
|
|
|
|
|
|
| |
more generic
MakeTypeID template function which accepts a type and a function object that returns a TypeIdx.
MakeTypeID is in PCHCommon.h so that it can be used by ASTReader too.
llvm-svn: 111634
|
|
|
|
|
|
|
|
| |
AddTypeRef there.
No functionality change.
llvm-svn: 111633
|
|
|
|
|
|
|
|
| |
emission of types there.
No functionality change.
llvm-svn: 111632
|
|
|
|
| |
llvm-svn: 111631
|
|
|
|
|
|
|
|
| |
as index + qualifiers.
Disambiguate and provide some type safety by using a new class TypeIdx for the "TypeID as index" semantics.
llvm-svn: 111630
|
|
|
|
|
|
|
|
| |
copies in PCHReader and PCHWriter.
No functionality change.
llvm-svn: 111629
|
|
|
|
| |
llvm-svn: 111478
|
|
|
|
| |
llvm-svn: 111475
|
|
|
|
| |
llvm-svn: 111474
|
|
|
|
| |
llvm-svn: 111472
|
|
|
|
| |
llvm-svn: 111467
|
|
|
|
| |
llvm-svn: 111466
|
|
llvm-svn: 111465
|