- Jan 11, 2004
-
-
Alkis Evlogimenos authored
LiveVariables::HandlePhysRegDef private they use information that is not in memory when LiveVariables finishes the analysis. Also update the TwoAddressInstructionPass to not use this interface. llvm-svn: 10755
-
- Jan 10, 2004
-
-
Chris Lattner authored
llvm-svn: 10749
-
- Jan 09, 2004
-
-
Chris Lattner authored
This should get hunked over to the Sparc backend, along with MachineCodeForInstruction and a bunch of files in include/llvm/Codegen, but those battles will have to wait for a later time. llvm-svn: 10731
-
Chris Lattner authored
llvm-svn: 10730
-
Chris Lattner authored
llvm-svn: 10728
-
- Jan 07, 2004
-
-
Alkis Evlogimenos authored
of the register allocator as follows: before after mesa 2.3790 1.5994 vpr 2.6008 1.2078 gcc 1.9840 0.5273 mcf 0.2569 0.0470 eon 1.8468 1.4359 twolf 0.9475 0.2004 burg 1.6807 1.3300 lambda 1.2191 0.3764 Speedups range anyware from 30% to over 400% :-) llvm-svn: 10712
-
Alkis Evlogimenos authored
llvm-svn: 10711
-
Alkis Evlogimenos authored
llvm-svn: 10710
-
Alkis Evlogimenos authored
30-50% decrease in running time of the linear scan register allocator. llvm-svn: 10707
-
- Jan 05, 2004
-
-
Alkis Evlogimenos authored
llvm-svn: 10695
-
Chris Lattner authored
llvm-svn: 10692
-
Alkis Evlogimenos authored
A = B op C where A == C, but this cannot really occur in practice because of SSA form. Add an assert to check that just to be safe. llvm-svn: 10682
-
Alkis Evlogimenos authored
llvm-svn: 10681
-
- Dec 28, 2003
-
-
Chris Lattner authored
implementation from the TargetMachine directly. llvm-svn: 10636
-
Alkis Evlogimenos authored
saved register it has a longer free range than ECX (which is defined every time there is a fnuction call) which makes ECX a better register to reserve. llvm-svn: 10635
-
Alkis Evlogimenos authored
which denotes the register we would like to be assigned to (virtual or physical). In register allocation, if this hint exists and we can map it to a physical register (it is either a physical register or it is a virtual register that already got assigned to a physical one) we use that register if it is available instead of a random one in the free pool. llvm-svn: 10634
-
Chris Lattner authored
llvm-svn: 10632
-
Chris Lattner authored
llvm-svn: 10626
-
Chris Lattner authored
llvm-svn: 10623
-
Chris Lattner authored
llvm-svn: 10621
-
Chris Lattner authored
minor cleanups llvm-svn: 10619
-
- Dec 24, 2003
-
-
Alkis Evlogimenos authored
llvm-svn: 10604
-
Alkis Evlogimenos authored
with live intervals was missing registers that were used before they were defined (in the arbitrary order live intervals numbers instructions). llvm-svn: 10603
-
- Dec 23, 2003
-
-
Alkis Evlogimenos authored
allocation in the presence of preallocated intervals. llvm-svn: 10595
-
- Dec 22, 2003
-
-
Alkis Evlogimenos authored
llvm-svn: 10584
-
- Dec 21, 2003
-
-
Alkis Evlogimenos authored
llvm-svn: 10570
-
Alkis Evlogimenos authored
nesting level when computing it. Right now the allocator uses: w = sum_over_defs_uses( 10 ^ nesting level ); llvm-svn: 10569
-
Alkis Evlogimenos authored
for live ranges that fall into assigned registers' holes. llvm-svn: 10566
-
- Dec 20, 2003
-
-
Chris Lattner authored
llvm-svn: 10560
-
Chris Lattner authored
* Move sparc specific code out of generic code * Eliminate the getOffset() method which made INVALID_FRAME_OFFSET necessary, which made pulling in MAX_INT as a sentinal necessary. llvm-svn: 10553
-
- Dec 18, 2003
-
-
Alkis Evlogimenos authored
instead, since this pass doesn't expose any state to its users. llvm-svn: 10520
-
Chris Lattner authored
Add a statistic for # reloads llvm-svn: 10518
-
Alkis Evlogimenos authored
instruction pass. This also fixes all remaining bugs for this new allocator to pass all tests under test/Programs. llvm-svn: 10515
-
Alkis Evlogimenos authored
are not reserved registers. llvm-svn: 10514
-
Alkis Evlogimenos authored
llvm-svn: 10513
-
Alkis Evlogimenos authored
more operands and the two first operands are constrained to be the same. The pass takes an instruction of the form: a = b op c and transforms it into: a = b a = a op c and also preserves live variables. llvm-svn: 10512
-
Alkis Evlogimenos authored
llvm-svn: 10511
-
Alkis Evlogimenos authored
killing instruction is tracked. This causes the LiveIntervals to create bogus intervals. The workaound is to add a range to the interval from the redefinition to the end of the basic block. llvm-svn: 10510
-
Alkis Evlogimenos authored
Move some of the longer LiveIntervals::Interval method out of the header and add debug information to them. Fix bug and simplify range merging code. llvm-svn: 10509
-
- Dec 15, 2003
-
-
Alkis Evlogimenos authored
llvm-svn: 10469
-