- Aug 06, 2008
-
-
Dan Gohman authored
when it meant to be emitting undef indices. llvm-svn: 54417
-
Evan Cheng authored
Fix PR2355: bug in ChangeCompareStride. When the loop termination compare is the only use of its iv stride, the stride can be eliminated by moving it to another stride. If the scale is negative, swap the predicate instead of using a inverse predicate. llvm-svn: 54415
-
Chris Lattner authored
llvm-svn: 54408
-
Chris Lattner authored
matters, the result is undefined anyway. llvm-svn: 54396
-
Nick Lewycky authored
tracking down that this was breaking llvm-gcc bootstrap on Linux. llvm-svn: 54394
-
Dan Gohman authored
instead of having it call getIterationCount again. llvm-svn: 54380
-
- Aug 05, 2008
-
-
Bill Wendling authored
looks bogus. Please see PR2629 for details on why this is breaking things. llvm-svn: 54372
-
- Aug 01, 2008
-
-
Duncan Sands authored
llvm-svn: 54266
-
- Jul 29, 2008
-
-
Nate Begeman authored
CodeGen & Clang work coming next. llvm-svn: 54161
-
Matthijs Kooijman authored
partially unroll a loop when fully unrolling would not fit under the threshold. Patch by Mikael Lepistö. llvm-svn: 54160
-
- Jul 28, 2008
-
-
Owen Anderson authored
llvm-svn: 54144
-
Owen Anderson authored
This fixes PR2599. llvm-svn: 54133
-
- Jul 27, 2008
-
-
Dan Gohman authored
llvm-svn: 54128
-
- Jul 25, 2008
-
-
Dan Gohman authored
command-line option, and disable it by default. It introduced performance regressions because CodeGen is currently not able to remat such loads. llvm-svn: 53997
-
- Jul 23, 2008
-
-
Chris Lattner authored
case for this. This allows instructions like loads from global variables declared to be constant to be moved out of loops." Patch by Stefanus Du Toit! llvm-svn: 53945
-
Dan Gohman authored
Remove the GetResultInst instruction. It is still accepted in LLVM assembly and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove support for return instructions with multiple values. These are auto-upgraded to use InsertValueInst instructions. The IRBuilder still accepts multiple-value returns, and auto-upgrades them to InsertValueInst instructions. llvm-svn: 53941
-
- Jul 21, 2008
-
-
Dan Gohman authored
leads into a cycle involving a different PHI, LSR got stuck running around that cycle looking for the original PHI. To avoid this, keep track of visited PHIs and stop searching if we see one more than once. This fixes PR2570. llvm-svn: 53879
-
- Jul 18, 2008
-
-
Duncan Sands authored
llvm-svn: 53771
-
Owen Anderson authored
Make PRE actually handle critical edges (by splitting them). Confirmed that bootstrap passes with this change. llvm-svn: 53762
-
- Jul 17, 2008
-
-
Owen Anderson authored
llvm-svn: 53730
-
Chris Lattner authored
llvm-svn: 53715
-
Owen Anderson authored
llvm-svn: 53705
-
- Jul 16, 2008
-
-
Owen Anderson authored
could cause problems for memdep when it breaks critical edges. llvm-svn: 53691
-
Matthijs Kooijman authored
FindInsertedValue, it now performs a number of simple transformations that should result in the same effect when applied iteratively. llvm-svn: 53673
-
Evan Cheng authored
llvm-svn: 53666
-
- Jul 15, 2008
-
-
Owen Anderson authored
llvm-svn: 53627
-
Owen Anderson authored
llvm-svn: 53616
-
Owen Anderson authored
Have GVN do a pre-pass over the CFG that folds away unconditional branches where possible. This allows local PRE to be more aggressive. llvm-svn: 53615
-
- Jul 14, 2008
-
-
Dan Gohman authored
llvm-svn: 53564
-
Chris Lattner authored
disproving a condition. This actually compiles the existing testcase (udiv_select_to_select_shift) to: define i64 @test(i64 %X, i1 %Cond) { entry: %divisor1.t = lshr i64 %X, 3 ; <i64> [#uses=1] %quotient2 = lshr i64 %X, 3 ; <i64> [#uses=1] %sum = add i64 %divisor1.t, %quotient2 ; <i64> [#uses=1] ret i64 %sum } instead of: define i64 @test(i64 %X, i1 %Cond) { entry: %quotient1.v = select i1 %Cond, i64 3, i64 4 ; <i64> [#uses=1] %quotient1 = lshr i64 %X, %quotient1.v ; <i64> [#uses=1] %quotient2 = lshr i64 %X, 3 ; <i64> [#uses=1] %sum = add i64 %quotient1, %quotient2 ; <i64> [#uses=1] ret i64 %sum } llvm-svn: 53534
-
- Jul 12, 2008
-
-
Nick Lewycky authored
Remove dead code analyzing urem. 'urem' of power-of-2 is canonicalized to an 'and' instruction. llvm-svn: 53506
-
- Jul 11, 2008
-
-
Owen Anderson authored
llvm-svn: 53470
-
Nick Lewycky authored
llvm-svn: 53454
-
Nick Lewycky authored
llvm-svn: 53452
-
Nick Lewycky authored
similar. llvm-svn: 53451
-
Chris Lattner authored
llvm-svn: 53449
-
Chris Lattner authored
llvm-svn: 53448
-
Chris Lattner authored
llvm-svn: 53447
-
Chris Lattner authored
the min/max values for an integer type, compare against the min/max values we can prove contain the input. This might be a tighter bound, so this is general goodness. llvm-svn: 53446
-
Chris Lattner authored
handle them in some code. llvm-svn: 53445
-