| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 62012
|
| |
|
|
| |
llvm-svn: 62011
|
| |
|
|
|
|
| |
escape hatch for 'unused variable' warnings).
llvm-svn: 62010
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Refactor caching logic into a helper class PTHSpellingSearch
- Allow "random accesses" in the spelling cache, thus catching the remaining
cases where 'getSpelling' wasn't hitting the PTH cache
For -Eonly, PTH, Cocoa.h:
- This reduces wall time by 3% (user time unchanged, sys time reduced)
- This reduces the amount of paged source by 1112K.
The remaining 1112K still being paged in is from somewhere else
(investigating).
llvm-svn: 62009
|
| |
|
|
| |
llvm-svn: 62008
|
| |
|
|
|
|
| |
in designated protocols lazily.
llvm-svn: 62007
|
| |
|
|
| |
llvm-svn: 62006
|
| |
|
|
| |
llvm-svn: 62005
|
| |
|
|
| |
llvm-svn: 62004
|
| |
|
|
| |
llvm-svn: 62003
|
| |
|
|
|
|
| |
comprehensive and can support more complex style analysis.
llvm-svn: 62002
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of ScopedDecls (using the new ScopedDecl::NextDeclInScope
pointer). Performance-wise:
- It's a net win in memory utilization, since DeclContext is now one
pointer smaller than it used to be (std::vectors are typically 3
pointers; we now use 2 pointers) and
- Parsing Cocoa.h with -fsyntax-only (with a Release-Asserts Clang)
is about 1.9% faster than before, most likely because we no longer
have the memory allocations and copying associated with the
std::vector.
I'll re-enable serialization of DeclContexts once I've sorted out the
NextDeclarator/NextDeclInScope question.
llvm-svn: 62001
|
| |
|
|
| |
llvm-svn: 62000
|
| |
|
|
| |
llvm-svn: 61999
|
| |
|
|
|
|
| |
their lexical context
llvm-svn: 61998
|
| |
|
|
| |
llvm-svn: 61997
|
| |
|
|
|
|
| |
that PTH always pulls in the source pages with -fsyntax-only (investigating further).
llvm-svn: 61996
|
| |
|
|
| |
llvm-svn: 61995
|
| |
|
|
|
|
|
|
|
| |
filters the decls seen by decl_iterator with two criteria: the dynamic
type of the declaration and a run-time predicate described by a member
function. This simplifies EnumDecl, RecordDecl, and ObjCContainerDecl
considerably. It has no measurable performance impact.
llvm-svn: 61994
|
| |
|
|
| |
llvm-svn: 61993
|
| |
|
|
|
|
| |
crashes.
llvm-svn: 61992
|
| |
|
|
| |
llvm-svn: 61991
|
| |
|
|
| |
llvm-svn: 61990
|
| |
|
|
| |
llvm-svn: 61989
|
| |
|
|
|
|
|
|
|
| |
Add isa/cast/dyncast support for ObjCContainerDecl.
Renamed classprop_iterator/begin/end to prop_iterator/begin/end (the class prefix was confusing).
More simplifications to Sema::ActOnAtEnd()...
Added/changed some FIXME's as a result of the above work.
llvm-svn: 61988
|
| |
|
|
| |
llvm-svn: 61986
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I noticed this in the code compiled for a routine using std::map, which produced
this code:
%25 = tail call i32 @memcmp(i8* %24, i8* %23, i32 6) nounwind readonly
%.lobit.i = lshr i32 %25, 31 ; <i32> [#uses=1]
%tmp.i = trunc i32 %.lobit.i to i8 ; <i8> [#uses=1]
%toBool = icmp eq i8 %tmp.i, 0 ; <i1> [#uses=1]
br i1 %toBool, label %bb3, label %bb4
which compiled to:
call L_memcmp$stub
shrl $31, %eax
testb %al, %al
jne LBB1_11 ##
with this change, we compile it to:
call L_memcmp$stub
testl %eax, %eax
js LBB1_11
This triggers all the time in common code, with patters like this:
%169 = and i32 %ply, 1 ; <i32> [#uses=1]
%170 = trunc i32 %169 to i8 ; <i8> [#uses=1]
%toBool = icmp ne i8 %170, 0 ; <i1> [#uses=1]
%7 = lshr i32 %6, 24 ; <i32> [#uses=1]
%9 = trunc i32 %7 to i8 ; <i8> [#uses=1]
%10 = icmp ne i8 %9, 0 ; <i1> [#uses=1]
etc
llvm-svn: 61985
|
| |
|
|
| |
llvm-svn: 61984
|
| |
|
|
|
|
| |
jump threading can have bugs, who knew? ;-)
llvm-svn: 61983
|
| |
|
|
| |
llvm-svn: 61982
|
| |
|
|
| |
llvm-svn: 61981
|
| |
|
|
| |
llvm-svn: 61980
|
| |
|
|
|
|
| |
just llc.
llvm-svn: 61979
|
| |
|
|
| |
llvm-svn: 61978
|
| |
|
|
| |
llvm-svn: 61977
|
| |
|
|
|
|
| |
(which is constant time and cheap) before checking hasAllZeroIndices.
llvm-svn: 61976
|
| |
|
|
| |
llvm-svn: 61975
|
| |
|
|
|
|
| |
matches llvm-gcc (?).
llvm-svn: 61974
|
| |
|
|
| |
llvm-svn: 61973
|
| |
|
|
| |
llvm-svn: 61972
|
| |
|
|
|
|
|
| |
the same formatting as their corresponding SSE2 instructions, for
consistency.
llvm-svn: 61971
|
| |
|
|
| |
llvm-svn: 61970
|
| |
|
|
| |
llvm-svn: 61969
|
| |
|
|
|
|
|
| |
categories.
- Also, simplify nesting via early return.
llvm-svn: 61968
|
| |
|
|
|
|
|
|
|
| |
- For use by the driver in places where the host alters driver
behavior (for example, running as a driver driver on darwin).
- Allow user override for testing purposes.
llvm-svn: 61967
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
rewrite @class declarations that showed up within linkage
specifications because those @class declarations never made it any
place where the rewriter could find them.
Moved all of the ObjC*Decl nodes over to ScopedDecls, so that they can
live in the appropriate top-level or transparent DeclContext near the
top level, e.g., TranslationUnitDecl or LinkageSpecDecl. Objective-C
declarations now show up in a traversal of the declarations in a
DeclContext (they didn't before!). This way, the rewriter finds all
Objective-C declarations within linkage specifications.
llvm-svn: 61966
|
| |
|
|
|
|
| |
Objective-C++).
llvm-svn: 61965
|
| |
|
|
|
|
| |
parameter list. This is work in progress.
llvm-svn: 61964
|
| |
|
|
| |
llvm-svn: 61963
|
| |
|
|
|
|
| |
character after each cached string.
llvm-svn: 61962
|