- Jul 14, 2008
-
-
Chris Lattner authored
llvm-svn: 53535
-
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: 53528
-
Chris Lattner authored
llvm-svn: 53527
-
Chris Lattner authored
conditionals and commenting the code better. No functionality change. llvm-svn: 53526
-
- Jul 12, 2008
-
-
Nick Lewycky authored
started complicating many loops ('for' loops, in fact). llvm-svn: 53508
-
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
instead of using the frame index for the SVOffset, which was inconsistent. llvm-svn: 53486
-
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
-
Nick Lewycky authored
llvm-svn: 53452
-
Nick Lewycky authored
similar. llvm-svn: 53451
-
Bill Wendling authored
llvm-svn: 53450
-
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
-