- Apr 11, 2004
-
-
Chris Lattner authored
llvm-svn: 12837
-
Chris Lattner authored
llvm-svn: 12836
-
Chris Lattner authored
1. If an incoming argument is dead, don't load it from the stack 2. Do not code gen noop copies at all (ie, cast int -> uint), not even to a move. This should reduce register pressure for allocators that are unable to coallesce away these copies in some cases. llvm-svn: 12835
-
Chris Lattner authored
llvm-svn: 12834
-
Chris Lattner authored
llvm-svn: 12833
-
Chris Lattner authored
llvm-svn: 12832
-
Chris Lattner authored
llvm-svn: 12831
-
Chris Lattner authored
llvm-svn: 12830
-
Chris Lattner authored
llvm-svn: 12829
-
Chris Lattner authored
llvm-svn: 12826
-
Chris Lattner authored
llvm-svn: 12825
-
Chris Lattner authored
llvm-svn: 12824
-
Chris Lattner authored
llvm-svn: 12823
-
Chris Lattner authored
llvm-svn: 12822
-
Chris Lattner authored
llvm-svn: 12821
-
Chris Lattner authored
llvm-svn: 12820
-
Chris Lattner authored
Canonicalize add of sign bit constant into a xor llvm-svn: 12819
-
Chris Lattner authored
llvm-svn: 12818
-
- 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: 12815
-
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
llvm-svn: 12809
-
Chris Lattner authored
don't write to memory llvm-svn: 12808
-
Chris Lattner authored
call and invoke instructions that are known to not write to memory. llvm-svn: 12807
-
Chris Lattner authored
llvm-svn: 12806
-
Chris Lattner authored
llvm-svn: 12805
-
Chris Lattner authored
llvm-svn: 12804
-
Chris Lattner authored
llvm-svn: 12803
-
Chris Lattner authored
llvm-svn: 12802
-
Chris Lattner authored
eliminating the shifts llvm-svn: 12801
-
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
llvm-svn: 12799
-
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
-
Chris Lattner authored
llvm-svn: 12797
-
- Apr 09, 2004
-
-
Chris Lattner authored
llvm-svn: 12796
-
John Criswell authored
is listed first and the address is listed second. llvm-svn: 12795
-