- Feb 15, 2006
-
-
Andrew Lenharth authored
llvm-svn: 26218
-
Chris Lattner authored
Y = seteq bool X, true instead of just using X :) llvm-svn: 26215
-
Chris Lattner authored
llvm-svn: 26194
-
Chris Lattner authored
llvm-svn: 26191
-
Chris Lattner authored
can provide work for the outer loop to canonicalize. This fixes a case that breaks unswitching. llvm-svn: 26189
-
- Feb 14, 2006
-
-
Chris Lattner authored
block in the appropriate loop nest. Third time is the charm, right? llvm-svn: 26187
-
Chris Lattner authored
llvm-svn: 26157
-
Chris Lattner authored
llvm-svn: 26155
-
- Feb 13, 2006
-
-
Chris Lattner authored
for a sign extension. This fixes InstCombine/2006-02-13-DemandedMiscompile.ll and Ptrdist/bc. llvm-svn: 26152
-
Chris Lattner authored
of the input. This fixes the mediabench/gsm/toast failure last night. llvm-svn: 26138
-
- Feb 12, 2006
-
-
Chris Lattner authored
llvm-svn: 26135
-
Chris Lattner authored
llvm-svn: 26134
-
Chris Lattner authored
1. Teach GetConstantInType to handle boolean constants. 2. Teach instcombine to fold (compare X, CST) when X has known 0/1 bits. Testcase here: set.ll:test22 3. Improve the "(X >> c1) & C2 == 0" folding code to allow a noop cast between the shift and and. More aggressive bitfolding for other reasons was turning signed shr's into unsigned shr's, leaving the noop cast in the way. llvm-svn: 26131
-
Chris Lattner authored
llvm-svn: 26128
-
- Feb 11, 2006
-
-
Chris Lattner authored
llvm-svn: 26126
-
Chris Lattner authored
This allows us to simplify on conditions where bits are not known, but they are not demanded either! This also fixes a couple of bugs in ComputeMaskedBits that were exposed during this work. In the future, swaths of instcombine should be removed, as this code subsumes a bunch of ad-hockery. llvm-svn: 26122
-
Chris Lattner authored
llvm-svn: 26121
-
Chris Lattner authored
loops and their subloops. llvm-svn: 26118
-
Chris Lattner authored
llvm-svn: 26116
-
Chris Lattner authored
llvm-svn: 26114
-
Chris Lattner authored
llvm-svn: 26113
-
Chris Lattner authored
llvm-svn: 26112
-
- Feb 10, 2006
-
-
Chris Lattner authored
phi's in the successors llvm-svn: 26108
-
Chris Lattner authored
with branches on partially invariant computations. llvm-svn: 26104
-
Chris Lattner authored
llvm-svn: 26103
-
Chris Lattner authored
llvm-svn: 26102
-
Chris Lattner authored
branches in their entry block that control whether or not the loop is a noop or not. llvm-svn: 26101
-
- Feb 09, 2006
-
-
Chris Lattner authored
llvm-svn: 26098
-
Chris Lattner authored
llvm-svn: 26093
-
Chris Lattner authored
uses of loop values outside the loop. We need loop-closed SSA form to do this right, or to use SSA rewriting if we really care. llvm-svn: 26089
-
Chris Lattner authored
llvm-svn: 26088
-
Chris Lattner authored
1. Teach it new tricks: in particular how to propagate through signed shr and sexts. 2. Teach it to return a bitset of known-1 and known-0 bits, instead of just zero. 3. Teach instcombine (AND X, C) to fold when we know all C bits of X. This implements Regression/Transforms/InstCombine/bittest.ll, and allows future things to be simplified. llvm-svn: 26087
-
- Feb 08, 2006
-
-
Chris Lattner authored
optimization where we reduce the number of bits in AND masks when possible. llvm-svn: 26056
-
Chris Lattner authored
instruction onto the worklist (in case they are now dead). Add a really trivial local DSE implementation to help out bitfield code. We now fold this: struct S { unsigned char a : 1, b : 1, c : 1, d : 2, e : 3; S(); }; S::S() : a(0), b(0), c(1), d(0), e(6) {} to this: void %_ZN1SC1Ev(%struct.S* %this) { entry: %tmp.1 = getelementptr %struct.S* %this, int 0, uint 0 store ubyte 38, ubyte* %tmp.1 ret void } much earlier (in gccas instead of only in gccld after DSE runs). llvm-svn: 26050
-
Chris Lattner authored
test/Regression/Transforms/SCCP/select.ll llvm-svn: 26049
-
Chris Lattner authored
llvm-svn: 26045
-
- Feb 07, 2006
-
-
Chris Lattner authored
llvm-svn: 26040
-
Chris Lattner authored
is just as efficient as MVIZ and is also more general. Fix a few minor bugs introduced in recent patches llvm-svn: 26036
-
Chris Lattner authored
mask. This allows the code to be simpler and more efficient. Also, generalize some of the cases in MVIZ a bit, making it slightly more aggressive. llvm-svn: 26035
-
Chris Lattner authored
llvm-svn: 26034
-