- Apr 22, 2005
-
-
Misha Brukman authored
llvm-svn: 21427
-
- Feb 14, 2005
-
-
Chris Lattner authored
llvm-svn: 20181
-
- Feb 12, 2005
-
-
Chris Lattner authored
and PR504. llvm-svn: 20129
-
- Oct 27, 2004
-
-
Chris Lattner authored
and work better with VC++. Patch contributed by Morten Ofstad! llvm-svn: 17281
-
- Oct 12, 2004
-
-
Chris Lattner authored
marker from one ilist into the middle of another basic block! llvm-svn: 16925
-
Chris Lattner authored
pointer recurrences into expressions from this: %P_addr.0.i.0 = phi sbyte* [ getelementptr ([8 x sbyte]* %.str_1, int 0, int 0), %entry ], [ %inc.0.i, %no_exit.i ] %inc.0.i = getelementptr sbyte* %P_addr.0.i.0, int 1 ; <sbyte*> [#uses=2] into this: %inc.0.i = getelementptr sbyte* getelementptr ([8 x sbyte]* %.str_1, int 0, int 0), int %inc.0.i.rec Actually create something nice, like this: %inc.0.i = getelementptr [8 x sbyte]* %.str_1, int 0, int %inc.0.i.rec llvm-svn: 16924
-
- Sep 20, 2004
-
-
Chris Lattner authored
llvm-svn: 16432
-
- Sep 15, 2004
-
-
Reid Spencer authored
Patch contributed by Paolo Invernizzi. Thanks Paolo! llvm-svn: 16368
-
- Sep 02, 2004
-
-
Reid Spencer authored
Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
-
- Jul 26, 2004
-
-
Chris Lattner authored
llvm-svn: 15227
-
- Jun 24, 2004
-
-
Chris Lattner authored
Second, disable substitution of quadratic addrec expressions to avoid putting multiplies in loops! llvm-svn: 14358
-
- Jun 20, 2004
-
-
Chris Lattner authored
llvm-svn: 14262
-
- Jun 19, 2004
-
-
Chris Lattner authored
llvm-svn: 14249
-
- Apr 23, 2004
-
-
Chris Lattner authored
still room for cleanup, but at least the code modification is out of the analysis now. llvm-svn: 13135
-
- Apr 22, 2004
-
-
Chris Lattner authored
llvm-svn: 13108
-
Chris Lattner authored
llvm-svn: 13106
-
Chris Lattner authored
loop. This eliminates the extra add from the previous case, but it's not clear that this will be a performance win overall. Tommorows test results will tell. :) llvm-svn: 13103
-
Chris Lattner authored
types in them. Instead of creating an induction variable for all types, it creates a single induction variable and casts to the other sizes. This generates this code: no_exit: ; preds = %entry, %no_exit %indvar = phi uint [ %indvar.next, %no_exit ], [ 0, %entry ] ; <uint> [#uses=4] *** %j.0.0 = cast uint %indvar to short ; <short> [#uses=1] %indvar = cast uint %indvar to int ; <int> [#uses=1] %tmp.7 = getelementptr short* %P, uint %indvar ; <short*> [#uses=1] store short %j.0.0, short* %tmp.7 %inc.0 = add int %indvar, 1 ; <int> [#uses=2] %tmp.2 = setlt int %inc.0, %N ; <bool> [#uses=1] %indvar.next = add uint %indvar, 1 ; <uint> [#uses=1] br bool %tmp.2, label %no_exit, label %loopexit instead of: no_exit: ; preds = %entry, %no_exit %indvar = phi ushort [ %indvar.next, %no_exit ], [ 0, %entry ] ; <ushort> [#uses=2] *** %indvar = phi uint [ %indvar.next, %no_exit ], [ 0, %entry ] ; <uint> [#uses=3] %indvar = cast uint %indvar to int ; <int> [#uses=1] %indvar = cast ushort %indvar to short ; <short> [#uses=1] %tmp.7 = getelementptr short* %P, uint %indvar ; <short*> [#uses=1] store short %indvar, short* %tmp.7 %inc.0 = add int %indvar, 1 ; <int> [#uses=2] %tmp.2 = setlt int %inc.0, %N ; <bool> [#uses=1] %indvar.next = add uint %indvar, 1 *** %indvar.next = add ushort %indvar, 1 br bool %tmp.2, label %no_exit, label %loopexit This is an improvement in register pressure, but probably doesn't happen that often. The more important fix will be to get rid of the redundant add. llvm-svn: 13101
-
- Apr 19, 2004
-
-
Chris Lattner authored
structure to being dynamically computed on demand. This makes updating loop information MUCH easier. llvm-svn: 13045
-
- Apr 17, 2004
-
-
Chris Lattner authored
exit values. llvm-svn: 13018
-
Chris Lattner authored
the trip count for the loop, insert one so that we can canonicalize the exit condition. llvm-svn: 13015
-
- Apr 16, 2004
-
-
Chris Lattner authored
llvm-svn: 12980
-
- 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 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
-
- Jan 08, 2004
-
-
Chris Lattner authored
getSubLoops/getTopLevelLoops methods, replacing them with iterator-based accessors. llvm-svn: 10714
-
- Dec 23, 2003
-
-
Chris Lattner authored
it doesn't do anything with it. llvm-svn: 10590
-
- Dec 22, 2003
-
-
Chris Lattner authored
contains no functionality changes. llvm-svn: 10583
-
Chris Lattner authored
arithmetic into "array subscripts" llvm-svn: 10580
-
Chris Lattner authored
llvm-svn: 10573
-
- Dec 18, 2003
-
-
John Criswell authored
according to the CVS log messages. llvm-svn: 10517
-
John Criswell authored
llvm-svn: 10516
-
- Dec 15, 2003
-
-
Chris Lattner authored
llvm-svn: 10473
-
- Dec 10, 2003
-
-
Chris Lattner authored
llvm-svn: 10385
-
Chris Lattner authored
Reorder #includes Implement: IndVarsSimplify/2003-12-10-IndVarDeadCode.ll llvm-svn: 10376
-
- Nov 11, 2003
-
-
Brian Gaeke authored
llvm-svn: 9903
-
- Oct 20, 2003
-
-
John Criswell authored
Header files will be on the way. llvm-svn: 9298
-
- Oct 12, 2003
-
-
Chris Lattner authored
llvm-svn: 9061
-
- Oct 10, 2003
-
-
Misha Brukman authored
llvm-svn: 9027
-
- Sep 23, 2003
-
-
Chris Lattner authored
llvm-svn: 8689
-