Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Use more efficient map operations. Fix a bug that would affect hypothetical | Chris Lattner | 2004-09-30 | 1 | -6/+8 | |
| | | | | | | targets that supported multiple memory operands. llvm-svn: 16614 | |||||
* | There is no need to call MachineInstr::print directly, just send the MI& to ↵ | Chris Lattner | 2004-09-30 | 1 | -10/+7 | |
| | | | | | | an ostream. llvm-svn: 16613 | |||||
* | Simplify the logic in the simple spiller and capitalize some variables | Chris Lattner | 2004-09-30 | 1 | -86/+90 | |
| | | | | llvm-svn: 16609 | |||||
* | Switch from defaulting to the 'local' spiller to the 'simple' spiller. The | Chris Lattner | 2004-09-30 | 1 | -2/+2 | |
| | | | | | | | | | | two spillers produce perfectly identical code (at least on povray and eon), but the simple spiller is substantially faster than the local spiller. Once the local spiller is improved, we can switch back. Switching cuts 5.2% off of the llc time for povray (about 1.3s). llvm-svn: 16608 | |||||
* | Don't use a densemap for keeping track of which vregs are already loaded, just | Chris Lattner | 2004-09-30 | 1 | -6/+10 | |
| | | | | | | | use a simple vector. This speeds up -spiller=simple from taking 22s to taking .1s on povray (debug build). This change does not modify the generated code. llvm-svn: 16607 | |||||
* | Use longer and more explicit names for instance vars (particularly important | Chris Lattner | 2004-09-30 | 1 | -32/+30 | |
| | | | | | | | data structures). Fix the print method to send to the right ostream, not always cerr. Delete typedefs that are only used once. llvm-svn: 16606 | |||||
* | Reindent code, improve comments, move huge nested methods out of classes, | Chris Lattner | 2004-09-30 | 1 | -300/+314 | |
| | | | | | | prune #includes, add print/dump methods, etc. No functionality changes. llvm-svn: 16604 | |||||
* | Changes For Bug 352 | Reid Spencer | 2004-09-01 | 1 | -5/+5 | |
| | | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137 | |||||
* | Stop using CreateStackObject(RegClass*) | Chris Lattner | 2004-08-15 | 1 | -2/+3 | |
| | | | | llvm-svn: 15775 | |||||
* | These methods no longer take a TargetRegisterClass* operand. | Chris Lattner | 2004-08-15 | 1 | -8/+4 | |
| | | | | llvm-svn: 15774 | |||||
* | These files don't need to include <iostream> since they include ↵ | Brian Gaeke | 2004-07-21 | 1 | -1/+0 | |
| | | | | | | "Support/Debug.h". llvm-svn: 15089 | |||||
* | Fix IA64 compatibility | Chris Lattner | 2004-07-16 | 1 | -1/+1 | |
| | | | | llvm-svn: 14866 | |||||
* | Made a fix so that you can print out MachineInstrs that belong to a ↵ | Tanya Lattner | 2004-06-25 | 1 | -6/+6 | |
| | | | | | | 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 | |||||
* | Adjust to new TargetMachine interface | Chris Lattner | 2004-06-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 13956 | |||||
* | Add method to assign stack slot to virtual register without creating a | Alkis Evlogimenos | 2004-05-29 | 1 | -0/+8 | |
| | | | | | | new one. llvm-svn: 13895 | |||||
* | Spill explicit physical register defs as well. | Alkis Evlogimenos | 2004-03-09 | 1 | -3/+11 | |
| | | | | llvm-svn: 12260 | |||||
* | As I wrote in the docs, simple is the default spiller :-) | Alkis Evlogimenos | 2004-03-06 | 1 | -2/+1 | |
| | | | | llvm-svn: 12189 | |||||
* | Add simple spiller. | Alkis Evlogimenos | 2004-03-06 | 1 | -9/+72 | |
| | | | | llvm-svn: 12188 | |||||
* | Add a spiller option to llc. A simple spiller will come soon. When we get ↵ | Alkis Evlogimenos | 2004-03-01 | 1 | -43/+62 | |
| | | | | | | 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 | |||||
* | Add the long awaited memory operand folding support for linear scan | Alkis Evlogimenos | 2004-03-01 | 1 | -6/+33 | |
| | | | | llvm-svn: 12058 | |||||
* | Make spiller push stores right after the definition of a register so | Alkis Evlogimenos | 2004-02-27 | 1 | -8/+33 | |
| | | | | | | that they are as far away from the loads as possible. llvm-svn: 11895 | |||||
* | Clear maps right after basic block is processed. | Alkis Evlogimenos | 2004-02-26 | 1 | -4/+4 | |
| | | | | llvm-svn: 11892 | |||||
* | Fix bugs found with recent addition of assertions in | Alkis Evlogimenos | 2004-02-25 | 1 | -2/+2 | |
| | | | | | | MRegisterInfo::is{Physical,Virtual}Register. llvm-svn: 11849 | |||||
* | Add DenseMap template and actually use it for for mapping virtual regs | Alkis Evlogimenos | 2004-02-25 | 1 | -6/+8 | |
| | | | | | | to objects. llvm-svn: 11840 | |||||
* | Move machine code rewriter and spiller outside the register | Alkis Evlogimenos | 2004-02-24 | 1 | -2/+159 | |
| | | | | | | | | | | | 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 | |||||
* | Refactor VirtRegMap out of RegAllocLinearScan as the first part of bug | Alkis Evlogimenos | 2004-02-23 | 1 | -0/+55 | |
251 (providing a generic machine code rewriter/spiller). llvm-svn: 11780 |