Tanya Lattner
da38dc5180
Made a fix so that you can print out MachineInstrs that belong to a MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function.
...
llvm-svn: 14389
2004-06-25 00:13:11 +00:00
Chris Lattner
0046ea7105
Adjust to new TargetMachine interface
...
llvm-svn: 13956
2004-06-02 05:57:12 +00:00
Alkis Evlogimenos
516e16441b
Add method to assign stack slot to virtual register without creating a
...
new one.
llvm-svn: 13895
2004-05-29 20:38:05 +00:00
Alkis Evlogimenos
0e0433a791
Spill explicit physical register defs as well.
...
llvm-svn: 12260
2004-03-09 08:35:13 +00:00
Alkis Evlogimenos
02e8f14c6a
As I wrote in the docs, simple is the default spiller :-)
...
llvm-svn: 12189
2004-03-06 23:08:44 +00:00
Alkis Evlogimenos
467364b706
Add simple spiller.
...
llvm-svn: 12188
2004-03-06 22:38:29 +00:00
Alkis Evlogimenos
c4ad8080f7
Add a spiller option to llc. A simple spiller will come soon. When we get CFG in the machine code represenation a global spiller will also be possible. Also document the linear scan register allocator but mark it as experimental for now.
...
llvm-svn: 12062
2004-03-01 23:18:15 +00:00
Alkis Evlogimenos
64e76a0d43
Add the long awaited memory operand folding support for linear scan
...
llvm-svn: 12058
2004-03-01 20:05:10 +00:00
Alkis Evlogimenos
63fda9c474
Make spiller push stores right after the definition of a register so
...
that they are as far away from the loads as possible.
llvm-svn: 11895
2004-02-27 04:51:35 +00:00
Alkis Evlogimenos
cff0fc180c
Clear maps right after basic block is processed.
...
llvm-svn: 11892
2004-02-26 23:22:23 +00:00
Alkis Evlogimenos
af42cbf42f
Fix bugs found with recent addition of assertions in
...
MRegisterInfo::is{Physical,Virtual}Register.
llvm-svn: 11849
2004-02-25 23:21:52 +00:00
Alkis Evlogimenos
f1516015af
Add DenseMap template and actually use it for for mapping virtual regs
...
to objects.
llvm-svn: 11840
2004-02-25 21:55:45 +00:00
Alkis Evlogimenos
6d7150e9bb
Move machine code rewriter and spiller outside the register
...
allocator.
The implementation is completely rewritten and now employs several
optimizations not exercised before. For example for 164.gzip we have
997 loads and 699 stores vs the 1221 loads and 880 stores we have
before.
llvm-svn: 11798
2004-02-24 08:58:30 +00:00
Alkis Evlogimenos
d192266264
Refactor VirtRegMap out of RegAllocLinearScan as the first part of bug
...
251 (providing a generic machine code rewriter/spiller).
llvm-svn: 11780
2004-02-23 23:08:11 +00:00