- Jul 14, 2008
-
-
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
-
Chris Lattner authored
fixes PR2540. llvm-svn: 53533
-
Chris Lattner authored
No functionality change. llvm-svn: 53532
-
- Jul 13, 2008
-
-
Chris Lattner authored
llvm-svn: 53531
-
Chris Lattner authored
No functionality change. llvm-svn: 53530
-
Chris Lattner authored
llvm-svn: 53529
-
Chris Lattner authored
llvm-svn: 53528
-
Chris Lattner authored
llvm-svn: 53527
-
Chris Lattner authored
conditionals and commenting the code better. No functionality change. llvm-svn: 53526
-
Duncan Sands authored
llvm-svn: 53525
-
Chris Lattner authored
llvm-svn: 53523
-
Cedric Venet authored
llvm-svn: 53521
-
- Jul 12, 2008
-
-
Ted Kremenek authored
llvm-svn: 53517
-
Nick Lewycky authored
started complicating many loops ('for' loops, in fact). llvm-svn: 53508
-
Nick Lewycky authored
to prevent silly things from happening accidentally. PR2171 llvm-svn: 53507
-
Nick Lewycky authored
Remove dead code analyzing urem. 'urem' of power-of-2 is canonicalized to an 'and' instruction. llvm-svn: 53506
-
Evan Cheng authored
llvm-svn: 53505
-
Evan Cheng authored
llvm-svn: 53504
-
Evan Cheng authored
Fix PR2536: a nasty spiller bug. If a two-address instruction uses a register but the use portion of its live range is not part of its liveinterval, it must be defined by an implicit_def. In that case, do not spill the use. e.g. 8 %reg1024<def> = IMPLICIT_DEF 12 %reg1024<def> = INSERT_SUBREG %reg1024<kill>, %reg1025, 2 The live range [12, 14) are not part of the r1024 live interval since it's defined by an implicit def. It will not conflicts with live interval of r1025. Now suppose both registers are spilled, you can easily see a situation where both registers are reloaded before the INSERT_SUBREG and both target registers that would overlap. llvm-svn: 53503
-
Evan Cheng authored
llvm-svn: 53502
-
Dan Gohman authored
has exactly one MachineMemOperand, and change some X86 lowering code to make use of it. llvm-svn: 53498
-
Dan Gohman authored
llvm-svn: 53489
-
Dan Gohman authored
llvm-svn: 53487
-
Dan Gohman authored
instead of using the frame index for the SVOffset, which was inconsistent. llvm-svn: 53486
-
Ted Kremenek authored
Added partial specialization of DenseMapInfo<T> for ImmutableList. llvm-svn: 53485
-
Bill Wendling authored
Update to build_llvm. Don't output a floating point number for the version. llvm-svn: 53484
-
Dan Gohman authored
llvm-svn: 53481
-
Dan Gohman authored
llvm-svn: 53480
-
- Jul 11, 2008
-
-
Dan Gohman authored
use a timer group for the timers in SelectionDAGISel. Also, Split scheduling out from emitting, to give each their own timer. llvm-svn: 53476
-
Dan Gohman authored
llvm-svn: 53474
-
Chris Lattner authored
llvm-svn: 53472
-
Dan Gohman authored
llvm-svn: 53471
-
Owen Anderson authored
llvm-svn: 53470
-
Duncan Sands authored
be no need to split the result of a vector RET node, since they are always already legal. llvm-svn: 53462
-
Duncan Sands authored
SINT_TO_FP libcall plus additional operations: it might as well be a direct UINT_TO_FP libcall. So only turn it into an SINT_TO_FP if the target has special handling for SINT_TO_FP. llvm-svn: 53461
-
Duncan Sands authored
llvm-svn: 53460
-
Duncan Sands authored
was presumably added after the rest of the code was copied to LegalizeTypes. llvm-svn: 53459
-
Duncan Sands authored
on 16 bit machines. llvm-svn: 53458
-
Nick Lewycky authored
llvm-svn: 53454
-
Duncan Sands authored
whitespace. llvm-svn: 53453
-