- Aug 02, 2003
-
-
Chris Lattner authored
llvm-svn: 7492
-
- Jul 24, 2003
-
-
Chris Lattner authored
llvm-svn: 7295
-
Chris Lattner authored
Now it shoudl be a bit more efficient llvm-svn: 7292
-
Chris Lattner authored
of codes. For example, short kernel (short t1) { t1 >>= 8; t1 <<= 8; return t1; } became: short %kernel(short %t1.1) { %tmp.3 = shr short %t1.1, ubyte 8 ; <short> [#uses=1] %tmp.5 = cast short %tmp.3 to int ; <int> [#uses=1] %tmp.7 = shl int %tmp.5, ubyte 8 ; <int> [#uses=1] %tmp.8 = cast int %tmp.7 to short ; <short> [#uses=1] ret short %tmp.8 } before, now it becomes: short %kernel(short %t1.1) { %tmp.3 = shr short %t1.1, ubyte 8 ; <short> [#uses=1] %tmp.8 = shl short %tmp.3, ubyte 8 ; <short> [#uses=1] ret short %tmp.8 } which will become: short %kernel(short %t1.1) { %tmp.3 = and short %t1.1, 0xFF00 ret short %tmp.3 } This implements cast-set.ll:test4 and test5 llvm-svn: 7290
-
- Jul 23, 2003
-
-
Chris Lattner authored
llvm-svn: 7283
-
Chris Lattner authored
- InstCombine: (X & C1) ^ C2 --> (X & C1) | C2 iff (C1&C2) == 0 - InstCombine: (X | C1) ^ C2 --> (X | C1) & ~C2 iff (C1&C2) == C2 llvm-svn: 7282
-
Chris Lattner authored
llvm-svn: 7272
-
Chris Lattner authored
- InstCombine: (X | C) & C --> C - InstCombine: (X | C1) & C2 --> (X | (C1&C2)) & C2 llvm-svn: 7269
-
Chris Lattner authored
IC: (X ^ C1) | C2 --> (X | C2) ^ (C1&~C2) We are now guaranteed that all 'or's will be inside of 'and's, and all 'and's will be inside of 'xor's, if the second operands are constants. llvm-svn: 7264
-
Chris Lattner authored
Minor code cleanup llvm-svn: 7262
-
Chris Lattner authored
llvm-svn: 7260
-
Chris Lattner authored
IC: (X | 8) == 4 --> false llvm-svn: 7257
-
Chris Lattner authored
whether the constant is signed or unsigned, then casting llvm-svn: 7252
-
Chris Lattner authored
llvm-svn: 7243
-
- Jul 22, 2003
-
-
Chris Lattner authored
- InstCombine (cast (and X, (1 << size(X)-1)) to bool) ==> x < 0 llvm-svn: 7241
-
- Jul 21, 2003
-
-
John Criswell authored
a load of the global variable with the variable's constant value. llvm-svn: 7216
-
- Jul 17, 2003
-
-
John Criswell authored
an external constant. Since external constants don't have initializers, we were failing on an assert() call in llvm/GlobalVariable.h. llvm-svn: 7193
-
- Jun 26, 2003
-
-
Chris Lattner authored
llvm-svn: 6912
-
- Jun 25, 2003
-
-
Chris Lattner authored
llvm-svn: 6904
-
Chris Lattner authored
llvm-svn: 6901
-
Chris Lattner authored
llvm-svn: 6891
-
- Jun 24, 2003
-
-
Chris Lattner authored
want to mark it live if it is an unconditional branch. This fixes bug: ADCE/2002-05-28-Crash.ll and makes this pass _much_ more useful. llvm-svn: 6887
-
Chris Lattner authored
llvm-svn: 6883
-
Chris Lattner authored
llvm-svn: 6881
-
- Jun 23, 2003
-
-
Chris Lattner authored
Replace (cast (sub A, B) to bool) -> (setne A, B) Replace (cast (add A, B) to bool) -> (setne A, -B) llvm-svn: 6873
-
- Jun 22, 2003
-
-
Chris Lattner authored
llvm-svn: 6856
-
Chris Lattner authored
llvm-svn: 6852
-
Chris Lattner authored
llvm-svn: 6846
-
Chris Lattner authored
This fixes type safety problems in a variety of benchmarks that were confusing DSA. llvm-svn: 6837
-
- Jun 19, 2003
-
-
Chris Lattner authored
llvm-svn: 6783
-
- Jun 17, 2003
-
-
Chris Lattner authored
not the worklist llvm-svn: 6733
-
- Jun 16, 2003
-
-
Chris Lattner authored
This was because we were deleting large chunks of functions without an exit block, because the post-dominance information was not useful. This broke crafty and twolf. llvm-svn: 6698
-
- Jun 05, 2003
-
-
Chris Lattner authored
llvm-svn: 6630
-
- Jun 04, 2003
-
-
Chris Lattner authored
Add new combination to turn seteq X, 0 -> not(cast X to bool) llvm-svn: 6604
-
Chris Lattner authored
llvm-svn: 6599
-
- Jun 01, 2003
-
-
Chris Lattner authored
llvm-svn: 6506
-
- May 30, 2003
-
-
Chris Lattner authored
broken up into their elements. Too many programs break because of this. llvm-svn: 6440
-
Chris Lattner authored
behavior is technically undefined llvm-svn: 6438
-
Chris Lattner authored
llvm-svn: 6428
-
Chris Lattner authored
llvm-svn: 6425
-