- Apr 23, 2003
-
-
Chris Lattner authored
llvm-svn: 5865
-
Chris Lattner authored
llvm-svn: 5863
-
- Apr 17, 2003
-
-
Chris Lattner authored
llvm-svn: 5793
-
- Mar 31, 2003
-
-
Chris Lattner authored
several ways: * Load expressions are not PRE'd well. Alias Analysis should be used to get accurate information when computing anticipatibility. * The expression collection implementation does not handle PHI nodes properly, thus the implementation misses many opportunities to PRE. * This code could be sped up quite a bit Despite these flaws, the code seems to work well, and handles PR's as one would expect. llvm-svn: 5759
-
- Mar 21, 2003
-
-
Chris Lattner authored
llvm-svn: 5754
-
- Mar 11, 2003
-
-
Chris Lattner authored
- Implement simple reassociation: (A|c1)|(B|c2) == (A|B)|(c1|c2) - (A & C1)+(B & C2) -> (A & C1)|(B & C2) iff C1&C2 == 0 - (A & C1)^(B & C2) -> (A & C1)|(B & C2) iff C1&C2 == 0 llvm-svn: 5743
-
Chris Lattner authored
llvm-svn: 5740
-
Chris Lattner authored
llvm-svn: 5738
-
Chris Lattner authored
Generalize not and neg comparison testers to allow constant to be considered not'able and neg'able. This allows optimization of this: int %test4(int %A, int %B) { %a = xor int %A, -1 %c = and int %a, 5 ; 5 = ~c2 %d = xor int %c, -1 ret int %d } into this: int %test4(int %A, int %B) { ; No predecessors! %c.demorgan = or int %A, -6 ; <int> [#uses=1] ret int %c.demorgan } llvm-svn: 5736
-
- Mar 10, 2003
-
-
Chris Lattner authored
llvm-svn: 5733
-
Chris Lattner authored
llvm-svn: 5731
-
Chris Lattner authored
Implement new shift optimizations for shifting the result of a shift. llvm-svn: 5729
-
Chris Lattner authored
llvm-svn: 5728
-
- Mar 05, 2003
-
-
Chris Lattner authored
llvm-svn: 5704
-
- Mar 04, 2003
-
-
Chris Lattner authored
allows LICM to use access sizes to help alias analysis be more precise. llvm-svn: 5693
-
- Mar 03, 2003
-
-
Chris Lattner authored
llvm-svn: 5685
-
- Feb 28, 2003
-
-
Chris Lattner authored
llvm-svn: 5675
-
Chris Lattner authored
llvm-svn: 5669
-
Chris Lattner authored
llvm-svn: 5667
-
- Feb 27, 2003
-
-
Chris Lattner authored
llvm-svn: 5664
-
Chris Lattner authored
Ironically the exit block modification code wasn't updating the exit block information itself. Fix this. llvm-svn: 5659
-
Chris Lattner authored
llvm-svn: 5658
-
Chris Lattner authored
* Remove bogus assertion: there may be a single outside predecessor and still need a new loop-preheader if the predecessor has multiple successors. See bug: LICM/2003-02-27-PreheaderProblem.ll llvm-svn: 5655
-
Chris Lattner authored
- Now we perform loop exit-block splitting to ensure exit blocks are always dominated by the loop header. - We now preserve dominance frontier information - This fixes bug: LICM/2003-02-26-LoopExitNotDominated.ll llvm-svn: 5652
-
- Feb 26, 2003
-
-
Chris Lattner authored
Convert to work with new AliasAnalysis interface by conservatively assuming all pointers are arbitrarily large accesses llvm-svn: 5636
-
- Feb 24, 2003
-
-
Chris Lattner authored
llvm-svn: 5620
-
Chris Lattner authored
llvm-svn: 5613
-
- Feb 23, 2003
-
-
Chris Lattner authored
a pass which wraps the function. This allows other passes to use the functionality llvm-svn: 5610
-
- Feb 18, 2003
-
-
Chris Lattner authored
* X*C + X --> X * (C+1) * X + X*C --> X * (C+1) * X - X*C --> X * (1-C) * X*C - X --> X * (C-1) llvm-svn: 5592
-
Chris Lattner authored
* A & ~A == 0 * A / (2^c) == A >> c if unsigned * 0 / A == 0 * 1.0 * A == A * A * (2^c) == A << c * A ^ ~A == -1 * A | ~A == -1 * 0 % X = 0 * A % (2^c) == A & (c-1) if unsigned * A - (A & B) == A & ~B * -1 - A == ~A llvm-svn: 5587
-
- Feb 01, 2003
-
-
Chris Lattner authored
llvm-svn: 5458
-
- Jan 23, 2003
-
-
Chris Lattner authored
llvm-svn: 5405
-
- Dec 15, 2002
-
-
Chris Lattner authored
rank map cache for instruction ranks llvm-svn: 5030
-
Chris Lattner authored
* Reword comment to make more clear * Don't print out BB's after modification made * Don't delete and new an instruction when we need to move something, just move it. llvm-svn: 5029
-
- Dec 07, 2002
-
-
Chris Lattner authored
llvm-svn: 4952
-
- Dec 05, 2002
-
-
Chris Lattner authored
llvm-svn: 4935
-
- Nov 20, 2002
-
-
Chris Lattner authored
wasn't an optimization and it was causing lots of bugs. llvm-svn: 4779
-
- Nov 09, 2002
-
-
Chris Lattner authored
llvm-svn: 4649
-
Chris Lattner authored
llvm-svn: 4645
-
- Nov 04, 2002
-
-
Chris Lattner authored
%A = getelementptr [4 x int]* %M, long 0, long 0 %B = getelementptr int* %A, long 2 llvm-svn: 4536
-