- Apr 15, 2004
-
-
Chris Lattner authored
the back-edge block, we must check the preincremented value. llvm-svn: 12968
-
Chris Lattner authored
Instead of producing code like this: Loop: X = phi 0, X2 ... X2 = X + 1 if (X != N-1) goto Loop We now generate code that looks like this: Loop: X = phi 0, X2 ... X2 = X + 1 if (X2 != N) goto Loop This has two big advantages: 1. The trip count of the loop is now explicit in the code, allowing the direct implementation of Loop::getTripCount() 2. This reduces register pressure in the loop, and allows X and X2 to be put into the same register. As a consequence of the second point, the code we generate for loops went from: .LBB2: # no_exit.1 ... mov %EDI, %ESI inc %EDI cmp %ESI, 2 mov %ESI, %EDI jne .LBB2 # PC rel: no_exit.1 To: .LBB2: # no_exit.1 ... inc %ESI cmp %ESI, 3 jne .LBB2 # PC rel: no_exit.1 ... which has two fewer moves, and uses one less register. llvm-svn: 12961
-
- Apr 14, 2004
-
-
Chris Lattner authored
llvm-svn: 12940
-
- Apr 13, 2004
-
-
Chris Lattner authored
test/Regression/Transforms/SCCP/calltest.ll llvm-svn: 12921
-
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
llvm-svn: 12858
-
- 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
-
- 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: 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
-
- Apr 01, 2004
-
-
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 30, 2004
-
-
Chris Lattner authored
llvm-svn: 12544
-
Chris Lattner authored
llvm-svn: 12540
-
- Mar 26, 2004
-
-
Chris Lattner authored
llvm-svn: 12520
-
- Mar 25, 2004
-
-
Chris Lattner authored
#1 is to unconditionally strip constantpointerrefs out of instruction operands where they are absolutely pointless and inhibit optimization. GRRR! #2 is to implement InstCombine/getelementptr_const.ll llvm-svn: 12519
-
- Mar 19, 2004
-
-
Chris Lattner authored
llvm-svn: 12507
-
- Mar 17, 2004
-
-
Chris Lattner authored
llvm-svn: 12464
-
Chris Lattner authored
llvm-svn: 12458
-