- Jan 08, 2011
-
-
Cameron Zwarich authored
they all ready do). This removes two dominator recomputations prior to isel, which is a 1% improvement in total llc time for 403.gcc. The only potentially suspect thing is making GCStrategy recompute dominators if it used a custom lowering strategy. llvm-svn: 123064
-
- Jan 06, 2011
-
-
Cameron Zwarich authored
OptimizeInst() so that they can be used on a worklist instruction. llvm-svn: 122945
-
Cameron Zwarich authored
llvm-svn: 122944
-
Cameron Zwarich authored
into a separate function, so that it can be called from a loop using a worklist rather than a loop traversing a whole basic block. llvm-svn: 122943
-
Cameron Zwarich authored
worklist, the key will need to become std::pair<BasicBlock*, Value*>. llvm-svn: 122932
-
- Jan 05, 2011
-
-
Cameron Zwarich authored
llvm-svn: 122891
-
Cameron Zwarich authored
regressing code quality. llvm-svn: 122887
-
- Jan 04, 2011
-
-
Cameron Zwarich authored
CodeGenPrepare (which is the default behavior). llvm-svn: 122801
-
- Jan 03, 2011
-
-
Cameron Zwarich authored
capacity on the Visited SmallPtrSet. On 403.gcc, this is about a 4.5% speedup of CodeGenPrepare time (which itself is 10% of time spent in the backend). This is progress towards PR8889. llvm-svn: 122741
-
- Dec 23, 2010
-
-
Owen Anderson authored
pipeline to be caught by instcombine, and it's not feasible to catch them in SimplifyCFG because the use-lists are in an inconsistent state at the point where it could know that it need to simplify them. Instead, have CodeGenPrepare look for trivially redundant PHIs as part of its general cleanup effort. llvm-svn: 122516
-
- Dec 19, 2010
-
-
Chris Lattner authored
llvm-svn: 122168
-
Chris Lattner authored
which have trapping constant exprs in them due to PHI nodes. Eliminating them can cause the constant expr to be evalutated on new paths if the input edges are critical. llvm-svn: 122164
-
- Nov 27, 2010
-
-
Owen Anderson authored
by my recent GVN improvement. Looking through a single layer of PHI nodes when attempting to sink GEPs, we need to iteratively look through arbitrary PHI nests. llvm-svn: 120202
-
- Nov 19, 2010
-
-
Owen Anderson authored
if all the operands of the PHI are equivalent. This allows CodeGenPrepare to undo unprofitable PRE transforms. llvm-svn: 119853
-
- Oct 29, 2010
-
-
John Thompson authored
Inline asm multiple alternative constraints development phase 2 - improved basic logic, added initial platform support. llvm-svn: 117667
-
- Oct 19, 2010
-
-
Owen Anderson authored
Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize the pass's dependencies. Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h before parsing commandline arguments. I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass registration/creation, please send the testcase to me directly. llvm-svn: 116820
-
- Oct 08, 2010
-
-
Owen Anderson authored
llvm-svn: 115996
-
- Sep 30, 2010
-
-
Jakob Stoklund Olesen authored
The bug that broke i386 linux has been fixed in r115191. llvm-svn: 115204
-
- Sep 27, 2010
-
-
Jakob Stoklund Olesen authored
This reverts revision 114633. It was breaking llvm-gcc-i386-linux-selfhost. It seems there is a downstream bug that is exposed by -cgp-critical-edge-splitting=0. When that bug is fixed, this patch can go back in. Note that the changes to tailcallfp2.ll are not reverted. They were good are required. llvm-svn: 114859
-
- Sep 23, 2010
-
-
Evan Cheng authored
break critical edges on demand. llvm-svn: 114633
-
- Sep 22, 2010
-
-
Bob Wilson authored
truncates are free only in the case where the extended type is legal but the load type is not. If both types are illegal, such as when they are too big, the load may not be legalized into an extended load. llvm-svn: 114568
-
- Sep 21, 2010
-
-
Bob Wilson authored
load when the type of the load is not legal, even if truncates are not free. The load is going to be legalized to an extending load anyway. llvm-svn: 114488
-
Bob Wilson authored
llvm-svn: 114487
-
- Sep 16, 2010
-
-
Dale Johannesen authored
walking the asm arguments once and stashing their Values. This is wrong because the same memory location can be in the list twice, and if the first one has a sunkaddr substituted, the stashed value for the second one will be wrong (use-after-free). PR 8154. llvm-svn: 114104
-
- Sep 13, 2010
-
-
Eric Christopher authored
llvm-svn: 113769
-
John Thompson authored
llvm-svn: 113766
-
- Aug 26, 2010
-
-
Chris Lattner authored
llvm-svn: 112104
-
- Aug 17, 2010
-
-
Evan Cheng authored
Add an option to disable codegen prepare critical edge splitting. In theory, PHI elimination is already doing all (most?) of the splitting needed. But machine-licm and machine-sink seem to miss some important optimizations when splitting is disabled. llvm-svn: 111224
-
- Aug 06, 2010
-
-
Owen Anderson authored
llvm-svn: 110460
-
Owen Anderson authored
llvm-svn: 110410
-
Owen Anderson authored
ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
-
- Jul 22, 2010
-
-
Owen Anderson authored
llvm-svn: 109045
-
- Jul 16, 2010
-
-
Gabor Greif authored
llvm-svn: 108522
-
- Jun 30, 2010
-
-
Gabor Greif authored
llvm-svn: 107273
-
- Jun 25, 2010
-
-
Dale Johannesen authored
for an "i" constraint should get lowered; PR 6309. While this argument was passed around a lot, this is the only place it was used, so it goes away from a lot of other places. llvm-svn: 106893
-
- Jun 24, 2010
-
-
Gabor Greif authored
llvm-svn: 106707
-
- Apr 17, 2010
-
-
Eric Christopher authored
Probably the best way to know that all getOperand() calls have been handled is to replace that API instead of updating. llvm-svn: 101579
-
- Apr 16, 2010
-
-
Gabor Greif authored
with a fix for self-hosting rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101465
-
Gabor Greif authored
llvm-svn: 101434
-
Gabor Greif authored
llvm-svn: 101423
-