- Apr 13, 2004
-
-
Chris Lattner authored
llvm-svn: 12919
-
Chris Lattner authored
llvm-svn: 12917
-
Chris Lattner authored
LoopSimplify was not updating dominator frontiers correctly in some cases. llvm-svn: 12890
-
Chris Lattner authored
llvm-svn: 12888
-
Chris Lattner authored
This is fairly straight-forward, but was a real nightmare to get just perfect. aarg. :) llvm-svn: 12884
-
- Apr 12, 2004
-
-
Chris Lattner authored
execute other CallGraphSCCPasses after the inliner without crashing. llvm-svn: 12861
-
Chris Lattner authored
llvm-svn: 12858
-
Chris Lattner authored
llvm-svn: 12857
-
Chris Lattner authored
llvm-svn: 12856
-
- Apr 11, 2004
-
-
Chris Lattner authored
llvm-svn: 12826
-
Chris Lattner authored
llvm-svn: 12824
-
Chris Lattner authored
llvm-svn: 12821
-
Chris Lattner authored
Canonicalize add of sign bit constant into a xor llvm-svn: 12819
-
- Apr 10, 2004
-
-
Chris Lattner authored
and a bit more powerful llvm-svn: 12817
-
Chris Lattner authored
llvm-svn: 12816
-
Chris Lattner authored
llvm-svn: 12814
-
Chris Lattner authored
llvm-svn: 12813
-
Chris Lattner authored
llvm-svn: 12811
-
Chris Lattner authored
llvm-svn: 12810
-
Chris Lattner authored
call and invoke instructions that are known to not write to memory. llvm-svn: 12807
-
Chris Lattner authored
This transforms code like this: %C = or %A, %B %D = select %cond, %C, %A into: %C = select %cond, %B, 0 %D = or %A, %C Since B is often a constant, the select can often be eliminated. In any case, this reduces the usage count of A, allowing subsequent optimizations to happen. This xform applies when the operator is any of: add, sub, mul, or, xor, and, shl, shr llvm-svn: 12800
-
Chris Lattner authored
if (C) V1 |= V2; into: Vx = V1 | V2; V1 = select C, V1, Vx when the expression can be evaluated unconditionally and is *cheap* to execute. This limited form of if conversion is quite handy in lots of cases. For example, it turns this testcase into straight-line code: int in0 ; int in1 ; int in2 ; int in3 ; int in4 ; int in5 ; int in6 ; int in7 ; int in8 ; int in9 ; int in10; int in11; int in12; int in13; int in14; int in15; long output; void mux(void) { output = (in0 ? 0x00000001 : 0) | (in1 ? 0x00000002 : 0) | (in2 ? 0x00000004 : 0) | (in3 ? 0x00000008 : 0) | (in4 ? 0x00000010 : 0) | (in5 ? 0x00000020 : 0) | (in6 ? 0x00000040 : 0) | (in7 ? 0x00000080 : 0) | (in8 ? 0x00000100 : 0) | (in9 ? 0x00000200 : 0) | (in10 ? 0x00000400 : 0) | (in11 ? 0x00000800 : 0) | (in12 ? 0x00001000 : 0) | (in13 ? 0x00002000 : 0) | (in14 ? 0x00004000 : 0) | (in15 ? 0x00008000 : 0) ; } llvm-svn: 12798
-
- Apr 09, 2004
-
-
Chris Lattner authored
that have a constant operand. This implements add.ll:test19, shift.ll:test15*, and others that are not tested llvm-svn: 12794
-
Chris Lattner authored
llvm-svn: 12793
-
- Apr 08, 2004
-
-
Chris Lattner authored
llvm-svn: 12784
-
Chris Lattner authored
llvm-svn: 12779
-
Chris Lattner authored
Now we collect all of the call sites we are interested in inlining, then inline them. This entirely avoids issues with trying to inline a call site we got by inlining another call site. This also eliminates iterator invalidation issues. llvm-svn: 12770
-
Chris Lattner authored
llvm-svn: 12769
-
- Apr 07, 2004
-
-
Chris Lattner authored
llvm-svn: 12762
-
- Apr 05, 2004
-
-
Chris Lattner authored
llvm-svn: 12659
-
Chris Lattner authored
llvm-svn: 12658
-
Chris Lattner authored
types and can have arbitrary 32- and 64-bit integer types indexing into sequential types. llvm-svn: 12653
-
- Apr 02, 2004
-
-
Chris Lattner authored
This also implements some new features for the indvars pass, including linear function test replacement, exit value substitution, and it works with a much more general class of induction variables and loops. llvm-svn: 12620
-
Chris Lattner authored
llvm-svn: 12618
-
Chris Lattner authored
This actually causes us to turn code like: return C ? A : B; into a select instruction. llvm-svn: 12617
-
- Apr 01, 2004
-
-
Chris Lattner authored
llvm-svn: 12597
-
Chris Lattner authored
llvm-svn: 12595
-
Chris Lattner authored
Testcase: LoopSimplify/2004-04-01-IncorrectDomUpdate.ll llvm-svn: 12592
-
Chris Lattner authored
llvm-svn: 12573
-
- Mar 31, 2004
-
-
Chris Lattner authored
this and the other patches 253.perlbmk links again. llvm-svn: 12565
-