- Jan 07, 2012
-
-
Andrew Trick authored
This will be more important as we extend the LSR pass in ways that don't rely on the formula solver. In particular, we need it for constructing IV chains. llvm-svn: 147724
-
Eli Friedman authored
More lambda work: semantic analysis of capturing 'this'. It's a bit complicated, but we have to be careful about when exactly captures are marked given PotentiallyPotentiallyEvaluated contexts. (Actually, it's not 100% correct yet, but it's close enough for the moment.) llvm-svn: 147723
-
rdar://problem/10658091Greg Clayton authored
Fixed dynamic types for objective C to not try and make everything dynamic including base classes. llvm-svn: 147722
-
Eli Bendersky authored
llvm-svn: 147721
-
Jakob Stoklund Olesen authored
This enables basic local CSE, giving us 20% smaller code for consumer-typeset in -O0 builds. <rdar://problem/10658692> llvm-svn: 147720
-
Evan Cheng authored
up so branch folding pass can't use the scavenger. :-( This doesn't breaks anything currently. It just means targets which do not carefully update kill markers cannot run post-ra scheduler (not new, it has always been the case). We should fix this at some point since it's really hacky. llvm-svn: 147719
-
Andrew Trick authored
LoopSimplify may not run on some outer loops, e.g. because of indirect branches. SCEVExpander simply cannot handle outer loops with no preheaders. Fixes rdar://10655343 SCEVExpander segfault. llvm-svn: 147718
-
Rafael Espindola authored
file error checking. Use that to error on an unfinished cfi_startproc. The error is not nice, but is already better than a segmentation fault. llvm-svn: 147717
-
Evan Cheng authored
opportunities that only present themselves after late optimizations such as tail duplication .e.g. ## BB#1: movl %eax, %ecx movl %ecx, %eax ret The register allocator also leaves some of them around (due to false dep between copies from phi-elimination, etc.) This required some changes in codegen passes. Post-ra scheduler and the pseudo-instruction expansion passes have been moved after branch folding and tail merging. They were before branch folding before because it did not always update block livein's. That's fixed now. The pass change makes independently since we want to properly schedule instructions after branch folding / tail duplication. rdar://10428165 rdar://10640363 llvm-svn: 147716
-
Evan Cheng authored
exposed with an upcoming change will would delete the copy to return register because there is no use! It's amazing anything works. llvm-svn: 147715
-
Anna Zaks authored
We already have a more conservative check in the compiler (if the format string is not a literal, we warn). Still adding it here for completeness and since this check is stronger - only triggered if the format string is tainted. llvm-svn: 147714
-
Argyrios Kyrtzidis authored
llvm-svn: 147713
-
Jakob Stoklund Olesen authored
This eliminates a lot of constant pool entries for -O0 builds of code with many global variable accesses. This speeds up -O0 codegen of consumer-typeset by 2x because the constant island pass no longer has to look at thousands of constant pool entries. <rdar://problem/10629774> llvm-svn: 147712
-
Andrew Trick authored
llvm-svn: 147711
-
Devang Patel authored
Store AsmParser info locally. A small step towards emitting match entries for multiple asm variants. llvm-svn: 147710
-
Andrew Trick authored
llvm-svn: 147709
-
Devang Patel authored
llvm-svn: 147708
-
Andrew Trick authored
llvm-svn: 147707
-
Eli Friedman authored
This patch (and some of my other commits related to lambdas) is heavily based off of John Freeman's work-in-progress patches. llvm-svn: 147706
-
Ted Kremenek authored
This removes analysis of other translation units, but that was an experimental feature anyway that we will revisit later. llvm-svn: 147705
-
Eric Christopher authored
Fixes rdar://10614894 llvm-svn: 147704
-
Andrew Trick authored
llvm-svn: 147703
-
Greg Clayton authored
class instead of requiring a live process in order to be able to create useful SBData objects. llvm-svn: 147702
-
Andrew Trick authored
llvm-svn: 147701
-
Andrew Trick authored
llvm-svn: 147700
-
Akira Hatanaka authored
is inserted before the real argument. Padding is needed to ensure the backend reads from or writes to the correct argument slots when the original alignment of a byval structure is unavailable due to flattening. llvm-svn: 147699
-
Ted Kremenek authored
llvm-svn: 147698
-
Ted Kremenek authored
[analyzer] Remove CallExitNodeBuilder, and have ExprEngine::processCallExit() do the work manually. This is a nice simplification. Along the way, fix Exprengine::processCallExit() to also perform the postStmt callback for checkers for CallExprs. llvm-svn: 147697
-
Chad Rosier authored
llvm-svn: 147696
-
Eric Christopher authored
to bleed from the eyes. llvm-svn: 147695
-
Eric Christopher authored
llvm-svn: 147694
-
Eric Christopher authored
llvm-svn: 147693
-
- Jan 06, 2012
-
-
Matt Beaumont-Gay authored
Along the way, move a helper function from SemaChecking.cpp to a more accessible home in SourceManager. llvm-svn: 147692
-
Fariborz Jahanian authored
currently turned off. // rdar://6137845 Also, fixes a test case which should be nonatomic under new API. llvm-svn: 147691
-
Jakob Stoklund Olesen authored
Experiments show this to be a small speedup for modern ARM cores. llvm-svn: 147689
-
Ted Kremenek authored
(Stmt*,LocationContext*) pairs to SVals instead of Stmt* to SVals. This is needed to support basic IPA via inlining. Without this, we cannot tell if a Stmt* binding is part of the current analysis scope (StackFrameContext) or part of a parent context. This change introduces an uglification of the use of getSVal(), and thus takes two steps forward and one step back. There are also potential performance implications of enlarging the Environment. Both can be addressed going forward by refactoring the APIs and optimizing the internal representation of Environment. This patch mainly introduces the functionality upon when we want to build upon (and clean up). llvm-svn: 147688
-
Douglas Gregor authored
chain to determine whether any declaration of the given entity is visible, eliminating the redundant (and less efficient) getPreviousDeclaration() implementation. This tweak uncovered an omission in the handling of RedeclarableTemplateDecl, where we weren't making sure to search for additional redeclarations of a template in other module files. Things would be cleaner if RedeclarableTemplateDecl actually used Redeclarable. llvm-svn: 147687
-
Andrew Trick authored
llvm-svn: 147686
-
Jakob Stoklund Olesen authored
llvm-svn: 147685
-
Daniel Dunbar authored
useful for test suites which want to piggyback onto the "shtest" format style. llvm-svn: 147684
-