summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Add definition list to each live interval.Alkis Evlogimenos2004-04-092-46/+61
| | | | llvm-svn: 12791
* MBB::remove should not modify the iterator passed inChris Lattner2004-03-311-1/+2
| | | | llvm-svn: 12572
* MachineBasicBlock::remove should not modify the iterator passed inChris Lattner2004-03-311-2/+1
| | | | llvm-svn: 12571
* Correctly update LiveVariables when an instruction changesAlkis Evlogimenos2004-03-301-3/+3
| | | | llvm-svn: 12561
* Change how the beginnings and ends of MachineFunctions are printed. GetBrian Gaeke2004-03-291-3/+3
| | | | | | rid of the funny cast. llvm-svn: 12537
* Make the set of fixed (preallocated) intervals be a fixed superset ofAlkis Evlogimenos2004-03-171-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 PR294Chris Lattner2004-03-161-1/+2
| | | | llvm-svn: 12425
* Change MRegisterInfo::foldMemoryOperand to return the foldedAlkis Evlogimenos2004-03-142-11/+12
| | | | | | instruction to make the API more flexible. llvm-svn: 12386
* Spill explicit physical register defs as well.Alkis Evlogimenos2004-03-091-3/+11
| | | | llvm-svn: 12260
* As I wrote in the docs, simple is the default spiller :-)Alkis Evlogimenos2004-03-061-2/+1
| | | | llvm-svn: 12189
* Add simple spiller.Alkis Evlogimenos2004-03-061-9/+72
| | | | llvm-svn: 12188
* Make MachineOperand's value named 'contents'. Make really, really sureBrian Gaeke2004-03-031-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 Evlogimenos2004-03-014-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 scanAlkis Evlogimenos2004-03-015-29/+87
| | | | llvm-svn: 12058
* TargetCacheInfo has been removed; its only uses were to propagate a constantBrian Gaeke2004-03-011-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 Lattner2004-03-013-0/+769
| | | | llvm-svn: 12031
* Removing old graph files with new graph files that I wrote. Updated ↵Tanya Lattner2004-03-013-276/+682
| | | | | | ModuloScheduling pass, but still in progress. llvm-svn: 12030
* Add an assertChris Lattner2004-02-291-1/+4
| | | | llvm-svn: 12010
* Add back #include I messed upChris Lattner2004-02-291-0/+1
| | | | llvm-svn: 12009
* Urg, forgot to check this in.Chris Lattner2004-02-291-1/+0
| | | | llvm-svn: 12007
* Move the private MachineInstrAnnot.h into a private directory.Chris Lattner2004-02-291-1/+1
| | | | llvm-svn: 12003
* Remove use of an ugly headerChris Lattner2004-02-291-1/+0
| | | | llvm-svn: 12002
* Move methods out of .h fileChris Lattner2004-02-291-0/+9
| | | | llvm-svn: 12001
* Eliminate the distinction between "real" and "unreal" instructionsChris Lattner2004-02-291-1/+1
| | | | llvm-svn: 11986
* int64_t -> intChris Lattner2004-02-291-1/+1
| | | | llvm-svn: 11977
* Rename member function to be consistent with the rest.Alkis Evlogimenos2004-02-272-4/+4
| | | | llvm-svn: 11898
* Make spiller push stores right after the definition of a register soAlkis Evlogimenos2004-02-271-8/+33
| | | | | | that they are as far away from the loads as possible. llvm-svn: 11895
* Fix crash caused by passing register 0 toAlkis Evlogimenos2004-02-271-1/+1
| | | | | | MRegisterInfo::isPhysicalRegister(). llvm-svn: 11894
* Clear maps right after basic block is processed.Alkis Evlogimenos2004-02-261-4/+4
| | | | llvm-svn: 11892
* Uncomment assertions that register# != 0 on calls toAlkis Evlogimenos2004-02-263-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 emptyChris Lattner2004-02-261-1/+0
| | | | llvm-svn: 11868
* Fix bugs found with recent addition of assertions inAlkis Evlogimenos2004-02-251-2/+2
| | | | | | MRegisterInfo::is{Physical,Virtual}Register. llvm-svn: 11849
* Great sparc renaming fallout IV: Sparc --> SparcV9.Brian Gaeke2004-02-252-2/+2
| | | | llvm-svn: 11844
* Remove asssert since it is breaking cases that it shouldn't.Alkis Evlogimenos2004-02-251-1/+0
| | | | llvm-svn: 11841
* Add DenseMap template and actually use it for for mapping virtual regsAlkis Evlogimenos2004-02-253-36/+29
| | | | | | to objects. llvm-svn: 11840
* Add an assertionChris Lattner2004-02-251-0/+1
| | | | llvm-svn: 11830
* FunctionLiveVarInfo.h moved: include/llvm/CodeGen -> lib/Target/Sparc/LiveVarBrian Gaeke2004-02-242-2/+2
| | | | llvm-svn: 11804
* Move machine code rewriter and spiller outside the registerAlkis Evlogimenos2004-02-243-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 physicalAlkis Evlogimenos2004-02-241-0/+8
| | | | | | register mapping or a stack slot mapping. llvm-svn: 11795
* Make enum private as it is an implementation detail.Alkis Evlogimenos2004-02-231-5/+5
| | | | llvm-svn: 11782
* Remove '4Virt' from member function names as it is obvious.Alkis Evlogimenos2004-02-232-15/+15
| | | | llvm-svn: 11781
* Refactor VirtRegMap out of RegAllocLinearScan as the first part of bugAlkis Evlogimenos2004-02-233-136/+195
| | | | | | 251 (providing a generic machine code rewriter/spiller). llvm-svn: 11780
* Add number of spilled registers statistic.Alkis Evlogimenos2004-02-231-0/+2
| | | | llvm-svn: 11759
* Fix bugs in finegrainificationChris Lattner2004-02-231-1/+3
| | | | llvm-svn: 11758
* Finegrainify namespacificationChris Lattner2004-02-234-22/+12
| | | | llvm-svn: 11757
* Use MachineBasicBlock::getParent().Alkis Evlogimenos2004-02-231-2/+1
| | | | llvm-svn: 11756
* Remove implementation of default constructor as it is useless now.Alkis Evlogimenos2004-02-231-5/+0
| | | | llvm-svn: 11755
* Refactor rewinding code for finding the first terminator of a basicAlkis Evlogimenos2004-02-233-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 Evlogimenos2004-02-232-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 Evlogimenos2004-02-231-11/+7
| | | | | | by reference now that MachineInstr* are in an ilist llvm-svn: 11732
OpenPOWER on IntegriCloud