- Jan 07, 2012
-
-
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
-
Andrew Trick authored
llvm-svn: 147683
-
Andrew Trick authored
llvm-svn: 147682
-
Eli Friedman authored
llvm-svn: 147681
-
Howard Hinnant authored
__gxx_personality_v0 update. This is completely untested code. But my brain is scrambled and I wanted to get it checked in. Code review from anyone who knows anything at all about personality functions would be much appreciated. What is in here is borrowed heavily from llvm/examples/ExceptionDemo/ExceptionDemo.cpp. There are some calls to abort() that should probably be changed to return an error code instead. There may be encodings under readEncodedPointer that need to be implemented. And my handling of type_info is almost a complete guess. llvm-svn: 147680
-
Chad Rosier authored
llvm-svn: 147679
-
Chad Rosier authored
llvm-svn: 147678
-
Eli Friedman authored
llvm-svn: 147677
-
Chad Rosier authored
llvm-svn: 147676
-