- Jun 20, 2008
-
-
Evan Cheng authored
Enhanced heuristic to determine the *best* register to spill. Instead of picking the register with the lowest spill weight. Consider (up to) 2 additional registers with spill weights that are close to the lowest spill weight. The one with fewest defs and uses that conflicts with the current interval (weighted by loop depth) is the spill candidate. This is not always a win, but there are much more wins than loses and wins tend to be more noticeable. llvm-svn: 52554
-
Duncan Sands authored
float expansion (and sometimes vector splitting too). llvm-svn: 52548
-
Duncan Sands authored
integer of the same type. Before it was "promotion", but this is confusing because it is quite different to promotion of integers. Call it "softening" instead, inspired by "soft float". llvm-svn: 52546
-
Dan Gohman authored
llvm-svn: 52545
-
Dan Gohman authored
llvm-svn: 52544
-
Dan Gohman authored
getInsertedValueOperand accessors. Thanks Matthijs! llvm-svn: 52543
-
Dan Gohman authored
instructions. Thanks to Matthijs Kooijman for pointing this out! llvm-svn: 52542
-
Matthijs Kooijman authored
llvm-svn: 52539
-
Matthijs Kooijman authored
type wasn't changed. llvm-svn: 52538
-
Matthijs Kooijman authored
into T) when no return values are actually dead. llvm-svn: 52537
-
Matthijs Kooijman authored
DeadArgumentElimination and assert that the function type does not change if nothing was changed. This should catch subtle changes in function type that are not intended. llvm-svn: 52536
-
Matthijs Kooijman authored
llvm-svn: 52535
-
Matthijs Kooijman authored
This is a fixed version that no longer uses multimap::equal_range, which resulted in a pointer invalidation problem. Also, DAE::InspectedFunctions was not really necessary, so it got removed. Lastly, this version no longer applies the extra arg hack on functions who did not have any arguments to start with. llvm-svn: 52532
-
Owen Anderson authored
llvm-svn: 52531
-
Chris Lattner authored
types differ. Patch by Nathan Keynes! llvm-svn: 52527
-
Chris Lattner authored
llvm-svn: 52525
-
Gordon Henriksen authored
llvm-svn: 52523
-
Dan Gohman authored
llvm-svn: 52522
-
Owen Anderson authored
Change around the data structures used to store availability sets, resulting in a GVN+PRE that is faster that GVN alone was before. llvm-svn: 52521
-
Dan Gohman authored
propagating constants across aggregate return values when insertvalue and extractvalue are used. llvm-svn: 52520
-
Dan Gohman authored
return statements and aggregate returns so that it handles both correctly. llvm-svn: 52519
-
Evan Cheng authored
llvm-svn: 52518
-
Dan Gohman authored
llvm-svn: 52517
-
Dan Gohman authored
llvm-svn: 52516
-
Dan Gohman authored
llvm-svn: 52514
-
Evan Cheng authored
llvm-svn: 52508
-
- Jun 19, 2008
-
-
Owen Anderson authored
once benchmarking is completed. llvm-svn: 52506
-
Owen Anderson authored
llvm-svn: 52505
-
Bill Wendling authored
llvm-svn: 52502
-
Dan Gohman authored
using BasicBlock::getInstList. llvm-svn: 52500
-
Owen Anderson authored
This fixes a failure on povray. llvm-svn: 52499
-
Dan Gohman authored
directly. llvm-svn: 52498
-
Dan Gohman authored
llvm-svn: 52497
-
Owen Anderson authored
GVN expects that all inputs which to an instruction fall somewhere in the value hierarchy, which isn't true for these. llvm-svn: 52496
-
Dan Gohman authored
llvm-svn: 52495
-
Dan Gohman authored
llvm-svn: 52494
-
Matthijs Kooijman authored
using getOperand() directly. This makes things work with invoke instructions as well. llvm-svn: 52489
-
Duncan Sands authored
this still compiles on windows - I can't test! llvm-svn: 52488
-
Evan Cheng authored
llvm-svn: 52487
-
Eli Friedman authored
shuffle could be skipped. The check is invalid because the loop index i doesn't correspond to the element actually inserted. The correct check is already done a few lines earlier, for whether the element is already in the right spot, so this shouldn't have any effect on the codegen for code that was already correct. llvm-svn: 52486
-