Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Add definition list to each live interval. | Alkis Evlogimenos | 2004-04-09 | 2 | -46/+61 | |
| | | | | llvm-svn: 12791 | |||||
* | MBB::remove should not modify the iterator passed in | Chris Lattner | 2004-03-31 | 1 | -1/+2 | |
| | | | | llvm-svn: 12572 | |||||
* | MachineBasicBlock::remove should not modify the iterator passed in | Chris Lattner | 2004-03-31 | 1 | -2/+1 | |
| | | | | llvm-svn: 12571 | |||||
* | Correctly update LiveVariables when an instruction changes | Alkis Evlogimenos | 2004-03-30 | 1 | -3/+3 | |
| | | | | llvm-svn: 12561 | |||||
* | Change how the beginnings and ends of MachineFunctions are printed. Get | Brian Gaeke | 2004-03-29 | 1 | -3/+3 | |
| | | | | | | rid of the funny cast. llvm-svn: 12537 | |||||
* | Make the set of fixed (preallocated) intervals be a fixed superset of | Alkis Evlogimenos | 2004-03-17 | 1 | -29/+10 | |
| | | | | | | | unhandled + handled. So unhandled is now including all fixed intervals and fixed intervals never changes when processing a function. llvm-svn: 12462 | |||||
* | Fix PR294 | Chris Lattner | 2004-03-16 | 1 | -1/+2 | |
| | | | | llvm-svn: 12425 | |||||
* | Change MRegisterInfo::foldMemoryOperand to return the folded | Alkis Evlogimenos | 2004-03-14 | 2 | -11/+12 | |
| | | | | | | instruction to make the API more flexible. llvm-svn: 12386 | |||||
* | 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 | |||||
* | Make MachineOperand's value named 'contents'. Make really, really sure | Brian Gaeke | 2004-03-03 | 1 | -6/+6 | |
| | | | | | | | it is always completely initialized and copied. Also, fix up many comments and asserts. llvm-svn: 12100 | |||||
* | Add a spiller option to llc. A simple spiller will come soon. When we get ↵ | Alkis Evlogimenos | 2004-03-01 | 4 | -46/+74 | |
| | | | | | | 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 | 5 | -29/+87 | |
| | | | | llvm-svn: 12058 | |||||
* | TargetCacheInfo has been removed; its only uses were to propagate a constant | Brian Gaeke | 2004-03-01 | 1 | -2/+1 | |
| | | | | | | | | | (16) into certain areas of the SPARC V9 back-end. I'm fairly sure the US IIIi's dcache has 32-byte lines, so I'm not sure where the 16 came from. However, in the interest of not breaking things any more than they already are, I'm going to leave the constant alone. llvm-svn: 12043 | |||||
* | Adding new Modulo Scheduling graph files. | Tanya Lattner | 2004-03-01 | 3 | -0/+769 | |
| | | | | llvm-svn: 12031 | |||||
* | Removing old graph files with new graph files that I wrote. Updated ↵ | Tanya Lattner | 2004-03-01 | 3 | -276/+682 | |
| | | | | | | ModuloScheduling pass, but still in progress. llvm-svn: 12030 | |||||
* | Add an assert | Chris Lattner | 2004-02-29 | 1 | -1/+4 | |
| | | | | llvm-svn: 12010 | |||||
* | Add back #include I messed up | Chris Lattner | 2004-02-29 | 1 | -0/+1 | |
| | | | | llvm-svn: 12009 | |||||
* | Urg, forgot to check this in. | Chris Lattner | 2004-02-29 | 1 | -1/+0 | |
| | | | | llvm-svn: 12007 | |||||
* | Move the private MachineInstrAnnot.h into a private directory. | Chris Lattner | 2004-02-29 | 1 | -1/+1 | |
| | | | | llvm-svn: 12003 | |||||
* | Remove use of an ugly header | Chris Lattner | 2004-02-29 | 1 | -1/+0 | |
| | | | | llvm-svn: 12002 | |||||
* | Move methods out of .h file | Chris Lattner | 2004-02-29 | 1 | -0/+9 | |
| | | | | llvm-svn: 12001 | |||||
* | Eliminate the distinction between "real" and "unreal" instructions | Chris Lattner | 2004-02-29 | 1 | -1/+1 | |
| | | | | llvm-svn: 11986 | |||||
* | int64_t -> int | Chris Lattner | 2004-02-29 | 1 | -1/+1 | |
| | | | | llvm-svn: 11977 | |||||
* | Rename member function to be consistent with the rest. | Alkis Evlogimenos | 2004-02-27 | 2 | -4/+4 | |
| | | | | llvm-svn: 11898 | |||||
* | 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 | |||||
* | Fix crash caused by passing register 0 to | Alkis Evlogimenos | 2004-02-27 | 1 | -1/+1 | |
| | | | | | | MRegisterInfo::isPhysicalRegister(). llvm-svn: 11894 | |||||
* | Clear maps right after basic block is processed. | Alkis Evlogimenos | 2004-02-26 | 1 | -4/+4 | |
| | | | | llvm-svn: 11892 | |||||
* | Uncomment assertions that register# != 0 on calls to | Alkis Evlogimenos | 2004-02-26 | 3 | -17/+23 | |
| | | | | | | | MRegisterInfo::is{Physical,Virtual}Register. Apply appropriate fixes to relevant files. llvm-svn: 11882 | |||||
* | No need to clear the map here, it will always be empty | Chris Lattner | 2004-02-26 | 1 | -1/+0 | |
| | | | | llvm-svn: 11868 | |||||
* | 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 | |||||
* | Great sparc renaming fallout IV: Sparc --> SparcV9. | Brian Gaeke | 2004-02-25 | 2 | -2/+2 | |
| | | | | llvm-svn: 11844 | |||||
* | Remove asssert since it is breaking cases that it shouldn't. | Alkis Evlogimenos | 2004-02-25 | 1 | -1/+0 | |
| | | | | llvm-svn: 11841 | |||||
* | Add DenseMap template and actually use it for for mapping virtual regs | Alkis Evlogimenos | 2004-02-25 | 3 | -36/+29 | |
| | | | | | | to objects. llvm-svn: 11840 | |||||
* | Add an assertion | Chris Lattner | 2004-02-25 | 1 | -0/+1 | |
| | | | | llvm-svn: 11830 | |||||
* | FunctionLiveVarInfo.h moved: include/llvm/CodeGen -> lib/Target/Sparc/LiveVar | Brian Gaeke | 2004-02-24 | 2 | -2/+2 | |
| | | | | llvm-svn: 11804 | |||||
* | Move machine code rewriter and spiller outside the register | Alkis Evlogimenos | 2004-02-24 | 3 | -143/+176 | |
| | | | | | | | | | | | 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 | |||||
* | Add predicates for checking if a virtual register has a physical | Alkis Evlogimenos | 2004-02-24 | 1 | -0/+8 | |
| | | | | | | register mapping or a stack slot mapping. llvm-svn: 11795 | |||||
* | Make enum private as it is an implementation detail. | Alkis Evlogimenos | 2004-02-23 | 1 | -5/+5 | |
| | | | | llvm-svn: 11782 | |||||
* | Remove '4Virt' from member function names as it is obvious. | Alkis Evlogimenos | 2004-02-23 | 2 | -15/+15 | |
| | | | | llvm-svn: 11781 | |||||
* | Refactor VirtRegMap out of RegAllocLinearScan as the first part of bug | Alkis Evlogimenos | 2004-02-23 | 3 | -136/+195 | |
| | | | | | | 251 (providing a generic machine code rewriter/spiller). llvm-svn: 11780 | |||||
* | Add number of spilled registers statistic. | Alkis Evlogimenos | 2004-02-23 | 1 | -0/+2 | |
| | | | | llvm-svn: 11759 | |||||
* | Fix bugs in finegrainification | Chris Lattner | 2004-02-23 | 1 | -1/+3 | |
| | | | | llvm-svn: 11758 | |||||
* | Finegrainify namespacification | Chris Lattner | 2004-02-23 | 4 | -22/+12 | |
| | | | | llvm-svn: 11757 | |||||
* | Use MachineBasicBlock::getParent(). | Alkis Evlogimenos | 2004-02-23 | 1 | -2/+1 | |
| | | | | llvm-svn: 11756 | |||||
* | Remove implementation of default constructor as it is useless now. | Alkis Evlogimenos | 2004-02-23 | 1 | -5/+0 | |
| | | | | llvm-svn: 11755 | |||||
* | Refactor rewinding code for finding the first terminator of a basic | Alkis Evlogimenos | 2004-02-23 | 3 | -21/+14 | |
| | | | | | | | | | | | | block into MachineBasicBlock::getFirstTerminator(). This also fixes a bug in the implementation of the above in both RegAllocLocal and InstrSched, where instructions where added after the terminator if the basic block's only instruction was a terminator (it shouldn't matter for RegAllocLocal since this case never occurs in practice). llvm-svn: 11748 | |||||
* | Improved PhysRegTracker interface. RegAlloc lazily allocates the register ↵ | Alkis Evlogimenos | 2004-02-23 | 2 | -23/+21 | |
| | | | | | | tracker using a std::auto_ptr llvm-svn: 11738 | |||||
* | Simplify iterator usage now that we have next(). Also don't pass iterators ↵ | Alkis Evlogimenos | 2004-02-23 | 1 | -11/+7 | |
| | | | | | | by reference now that MachineInstr* are in an ilist llvm-svn: 11732 |