Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								6623cd78f9 
								
							 
						 
						
							
							
								
								Spill explicit physical register defs as well.  
							
							 
							
							... 
							
							
							
							llvm-svn: 12260 
							
						 
						
							2004-03-09 08:35:13 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								cb98644e9b 
								
							 
						 
						
							
							
								
								As I wrote in the docs, simple is the default spiller :-)  
							
							 
							
							... 
							
							
							
							llvm-svn: 12189 
							
						 
						
							2004-03-06 23:08:44 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								79850121ad 
								
							 
						 
						
							
							
								
								Add simple spiller.  
							
							 
							
							... 
							
							
							
							llvm-svn: 12188 
							
						 
						
							2004-03-06 22:38:29 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								015972103d 
								
							 
						 
						
							
							
								
								Make MachineOperand's value named 'contents'.  Make really, really sure  
							
							 
							
							... 
							
							
							
							it is always completely initialized and copied.
Also, fix up many comments and asserts.
llvm-svn: 12100 
							
						 
						
							2004-03-03 19:07:27 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								31953c7a10 
								
							 
						 
						
							
							
								
								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
							
						 
						
							 
							
							
							
							
								
							
							
								b76d234ee9 
								
							 
						 
						
							
							
								
								Add the long awaited memory operand folding support for linear scan  
							
							 
							
							... 
							
							
							
							llvm-svn: 12058 
							
						 
						
							2004-03-01 20:05:10 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								427cec1395 
								
							 
						 
						
							
							
								
								TargetCacheInfo has been removed; its only uses were to propagate a constant  
							
							 
							
							... 
							
							
							
							(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 
							
						 
						
							2004-03-01 06:43:29 +00:00  
						
					 
				
					
						
							
							
								 
								Tanya Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								48a503be04 
								
							 
						 
						
							
							
								
								Adding new Modulo Scheduling graph files.  
							
							 
							
							... 
							
							
							
							llvm-svn: 12031 
							
						 
						
							2004-03-01 02:50:57 +00:00  
						
					 
				
					
						
							
							
								 
								Tanya Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dd10fbe775 
								
							 
						 
						
							
							
								
								Removing old graph files with new graph files that I wrote. Updated ModuloScheduling pass, but still in progress.  
							
							 
							
							... 
							
							
							
							llvm-svn: 12030 
							
						 
						
							2004-03-01 02:50:01 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								604cc83933 
								
							 
						 
						
							
							
								
								Add an assert  
							
							 
							
							... 
							
							
							
							llvm-svn: 12010 
							
						 
						
							2004-02-29 22:01:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e0c3c18802 
								
							 
						 
						
							
							
								
								Add back #include I messed up  
							
							 
							
							... 
							
							
							
							llvm-svn: 12009 
							
						 
						
							2004-02-29 21:40:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								90ecb92838 
								
							 
						 
						
							
							
								
								Urg, forgot to check this in.  
							
							 
							
							... 
							
							
							
							llvm-svn: 12007 
							
						 
						
							2004-02-29 21:03:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3859031b9b 
								
							 
						 
						
							
							
								
								Move the private MachineInstrAnnot.h into a private directory.  
							
							 
							
							... 
							
							
							
							llvm-svn: 12003 
							
						 
						
							2004-02-29 19:12:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d5a49c477d 
								
							 
						 
						
							
							
								
								Remove use of an ugly header  
							
							 
							
							... 
							
							
							
							llvm-svn: 12002 
							
						 
						
							2004-02-29 19:04:31 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6194ee84ba 
								
							 
						 
						
							
							
								
								Move methods out of .h file  
							
							 
							
							... 
							
							
							
							llvm-svn: 12001 
							
						 
						
							2004-02-29 19:02:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f20abac9bc 
								
							 
						 
						
							
							
								
								Eliminate the distinction between "real" and "unreal" instructions  
							
							 
							
							... 
							
							
							
							llvm-svn: 11986 
							
						 
						
							2004-02-29 06:31:16 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								44b1b22a2d 
								
							 
						 
						
							
							
								
								int64_t -> int  
							
							 
							
							... 
							
							
							
							llvm-svn: 11977 
							
						 
						
							2004-02-29 05:07:02 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								e669caafe0 
								
							 
						 
						
							
							
								
								Rename member function to be consistent with the rest.  
							
							 
							
							... 
							
							
							
							llvm-svn: 11898 
							
						 
						
							2004-02-27 06:11:15 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								941f9310bb 
								
							 
						 
						
							
							
								
								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
							
						 
						
							 
							
							
							
							
								
							
							
								519e1e8c92 
								
							 
						 
						
							
							
								
								Fix crash caused by passing register 0 to  
							
							 
							
							... 
							
							
							
							MRegisterInfo::isPhysicalRegister().
llvm-svn: 11894 
							
						 
						
							2004-02-27 01:52:34 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								5a3bab9402 
								
							 
						 
						
							
							
								
								Clear maps right after basic block is processed.  
							
							 
							
							... 
							
							
							
							llvm-svn: 11892 
							
						 
						
							2004-02-26 23:22:23 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								61719d48d2 
								
							 
						 
						
							
							
								
								Uncomment assertions that register# != 0 on calls to  
							
							 
							
							... 
							
							
							
							MRegisterInfo::is{Physical,Virtual}Register. Apply appropriate fixes
to relevant files.
llvm-svn: 11882 
							
						 
						
							2004-02-26 22:00:20 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								28a0885929 
								
							 
						 
						
							
							
								
								No need to clear the map here, it will always be empty  
							
							 
							
							... 
							
							
							
							llvm-svn: 11868 
							
						 
						
							2004-02-26 05:21:21 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								e62ddd405d 
								
							 
						 
						
							
							
								
								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  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								84b76c9be0 
								
							 
						 
						
							
							
								
								Great sparc renaming fallout IV: Sparc --> SparcV9.  
							
							 
							
							... 
							
							
							
							llvm-svn: 11844 
							
						 
						
							2004-02-25 22:09:36 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								a9f03fba9d 
								
							 
						 
						
							
							
								
								Remove asssert since it is breaking cases that it shouldn't.  
							
							 
							
							... 
							
							
							
							llvm-svn: 11841 
							
						 
						
							2004-02-25 22:01:06 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								d8bace7f60 
								
							 
						 
						
							
							
								
								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  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f5a393a133 
								
							 
						 
						
							
							
								
								Add an assertion  
							
							 
							
							... 
							
							
							
							llvm-svn: 11830 
							
						 
						
							2004-02-25 19:37:44 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								10a32da382 
								
							 
						 
						
							
							
								
								FunctionLiveVarInfo.h moved: include/llvm/CodeGen -> lib/Target/Sparc/LiveVar  
							
							 
							
							... 
							
							
							
							llvm-svn: 11804 
							
						 
						
							2004-02-24 19:46:00 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								1dd872ce94 
								
							 
						 
						
							
							
								
								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
							
						 
						
							 
							
							
							
							
								
							
							
								63aea0b6a5 
								
							 
						 
						
							
							
								
								Add predicates for checking if a virtual register has a physical  
							
							 
							
							... 
							
							
							
							register mapping or a stack slot mapping.
llvm-svn: 11795 
							
						 
						
							2004-02-24 06:30:36 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								8b571a64ac 
								
							 
						 
						
							
							
								
								Make enum private as it is an implementation detail.  
							
							 
							
							... 
							
							
							
							llvm-svn: 11782 
							
						 
						
							2004-02-23 23:49:40 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								ab77b05d8c 
								
							 
						 
						
							
							
								
								Remove '4Virt' from member function names as it is obvious.  
							
							 
							
							... 
							
							
							
							llvm-svn: 11781 
							
						 
						
							2004-02-23 23:47:10 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								c794a9060f 
								
							 
						 
						
							
							
								
								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  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								52de9e214c 
								
							 
						 
						
							
							
								
								Add number of spilled registers statistic.  
							
							 
							
							... 
							
							
							
							llvm-svn: 11759 
							
						 
						
							2004-02-23 18:45:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								91a7dc0a6e 
								
							 
						 
						
							
							
								
								Fix bugs in finegrainification  
							
							 
							
							... 
							
							
							
							llvm-svn: 11758 
							
						 
						
							2004-02-23 18:40:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								43df6c268b 
								
							 
						 
						
							
							
								
								Finegrainify namespacification  
							
							 
							
							... 
							
							
							
							llvm-svn: 11757 
							
						 
						
							2004-02-23 18:38:20 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								b525d54045 
								
							 
						 
						
							
							
								
								Use MachineBasicBlock::getParent().  
							
							 
							
							... 
							
							
							
							llvm-svn: 11756 
							
						 
						
							2004-02-23 18:36:38 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								d780ce6462 
								
							 
						 
						
							
							
								
								Remove implementation of default constructor as it is useless now.  
							
							 
							
							... 
							
							
							
							llvm-svn: 11755 
							
						 
						
							2004-02-23 18:28:35 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								af2de4848e 
								
							 
						 
						
							
							
								
								Refactor rewinding code for finding the first terminator of a basic  
							
							 
							
							... 
							
							
							
							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 
							
						 
						
							2004-02-23 18:14:48 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								f83cb74b57 
								
							 
						 
						
							
							
								
								Improved PhysRegTracker interface. RegAlloc lazily allocates the register tracker using a std::auto_ptr  
							
							 
							
							... 
							
							
							
							llvm-svn: 11738 
							
						 
						
							2004-02-23 06:10:13 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								c31ff795d5 
								
							 
						 
						
							
							
								
								Simplify iterator usage now that we have next(). Also don't pass iterators by reference now that MachineInstr* are in an ilist  
							
							 
							
							... 
							
							
							
							llvm-svn: 11732 
							
						 
						
							2004-02-23 04:12:30 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								887b941fbb 
								
							 
						 
						
							
							
								
								Some code cleanups from Chris  
							
							 
							
							... 
							
							
							
							llvm-svn: 11724 
							
						 
						
							2004-02-23 01:57:39 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								d42c2f24ec 
								
							 
						 
						
							
							
								
								Fix comments in PhysRegTracker and rename isPhysRegAvail to isRegAvail to be consistent with the other two  
							
							 
							
							... 
							
							
							
							llvm-svn: 11723 
							
						 
						
							2004-02-23 01:25:05 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								4d7ad6713d 
								
							 
						 
						
							
							
								
								Move LiveIntervals.h up to be the first included header  
							
							 
							
							... 
							
							
							
							llvm-svn: 11721 
							
						 
						
							2004-02-23 01:01:21 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								1410859484 
								
							 
						 
						
							
							
								
								Pull PhysRegTracker out of RegAllocLinearScan as it can be used by other allocators as well  
							
							 
							
							... 
							
							
							
							llvm-svn: 11720 
							
						 
						
							2004-02-23 00:53:31 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								486b12b71a 
								
							 
						 
						
							
							
								
								Move LiveIntervals.h to lib/CodeGen since it shouldn't be exposed to other parts of the compiler  
							
							 
							
							... 
							
							
							
							llvm-svn: 11719 
							
						 
						
							2004-02-23 00:50:15 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								19aef9e757 
								
							 
						 
						
							
							
								
								Another bug fix for empty MBB's  
							
							 
							
							... 
							
							
							
							llvm-svn: 11716 
							
						 
						
							2004-02-22 19:37:31 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								84b406650e 
								
							 
						 
						
							
							
								
								Fix a bug where we were implicitly assuming that there would be at least  
							
							 
							
							... 
							
							
							
							one terminator instruction in each basic block.
llvm-svn: 11714 
							
						 
						
							2004-02-22 19:08:15 +00:00  
						
					 
				
					
						
							
							
								 
								Alkis Evlogimenos
							
						 
						
							 
							
							
							
							
								
							
							
								cb352300c9 
								
							 
						 
						
							
							
								
								Print basic block boundaries in machine instruction debug output.  
							
							 
							
							... 
							
							
							
							llvm-svn: 11704 
							
						 
						
							2004-02-22 05:46:04 +00:00