| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
objc-nonfragile-abi2 (radar 7824380).
llvm-svn: 111823
|
| |
|
|
| |
llvm-svn: 111733
|
| |
|
|
|
|
|
|
|
|
|
| |
"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
|
| |
|
|
|
|
|
|
| |
over ivars for a varienty of puposes is now
consolidated into two small routines; DeepCollectObjCIvars
and ShallowCollectObjCIvars.
llvm-svn: 111679
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*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: 111584
|
| |
|
|
|
|
| |
when destroying an ASTReader. Plugs a leak that shows up in libclang.
llvm-svn: 111488
|
| |
|
|
| |
llvm-svn: 111478
|
| |
|
|
| |
llvm-svn: 111475
|
| |
|
|
| |
llvm-svn: 111474
|
| |
|
|
| |
llvm-svn: 111473
|
| |
|
|
| |
llvm-svn: 111472
|
| |
|
|
| |
llvm-svn: 111471
|
| |
|
|
| |
llvm-svn: 111470
|
| |
|
|
| |
llvm-svn: 111469
|
| |
|
|
| |
llvm-svn: 111467
|
| |
|
|
| |
llvm-svn: 111466
|
| |
|
|
| |
llvm-svn: 111465
|
| |
|
|
| |
llvm-svn: 111464
|
| |
|
|
| |
llvm-svn: 111463
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now all classes derived from Attr are generated from TableGen.
Additionally, Attr* is no longer its own linked list; SmallVectors or
Attr* are used. The accompanying LLVM commit contains the updates to
TableGen necessary for this.
Some other notes about newly-generated attribute classes:
- The constructor arguments are a SourceLocation and a Context&,
followed by the attributes arguments in the order that they were
defined in Attr.td
- Every argument in Attr.td has an appropriate accessor named getFoo,
and there are sometimes a few extra ones (such as to get the length
of a variadic argument).
Additionally, specific_attr_iterator has been introduced, which will
iterate over an AttrVec, but only over attributes of a certain type. It
can be accessed through either Decl::specific_attr_begin/end or
the global functions of the same name.
llvm-svn: 111455
|
| |
|
|
| |
llvm-svn: 111284
|
| |
|
|
| |
llvm-svn: 111279
|
| |
|
|
| |
llvm-svn: 111265
|
|
|
contain all the module code in the future. Update the Makefiles, CMake projects and the Xcode project. I hope I did everything right for Xcode. No functionality change.
llvm-svn: 111258
|