86ca8840a1 
								
							 
						 
						
							
							
								
								Need to insert all moves due to PHI nodes before *ALL* jumps in a predecessor  
							
							... 
							
							
							
							basic block, as there could be multiple.
llvm-svn: 5016 
							
						 
						
							2002-12-13 11:55:59 +00:00  
				
					
						
							
							
								 
						
							
								35a358d981 
								
							 
						 
						
							
							
								
								This should be more correct: invalidates physical registers that are used in  
							
							... 
							
							
							
							an instruction to avoid using them to allocate to other virtual registers.
llvm-svn: 5013 
							
						 
						
							2002-12-13 11:33:22 +00:00  
				
					
						
							
							
								 
						
							
								89ff3fbcd6 
								
							 
						 
						
							
							
								
								Fixed bug with running out of registers. Also, reinstated namespace which  
							
							... 
							
							
							
							disappeared during the last checkin.
llvm-svn: 5007 
							
						 
						
							2002-12-13 10:42:31 +00:00  
				
					
						
							
							
								 
						
							
								a739167305 
								
							 
						 
						
							
							
								
								This should handle register allocating PHI nodes.  
							
							... 
							
							
							
							llvm-svn: 5002 
							
						 
						
							2002-12-13 09:54:36 +00:00  
				
					
						
							
							
								 
						
							
								4ef74c8079 
								
							 
						 
						
							
							
								
								Start allocating stack space at [ebp-4] to not overwrite the return address.  
							
							... 
							
							
							
							Also make all loads & stores 4-byte aligned for performance. ;)
llvm-svn: 4982 
							
						 
						
							2002-12-13 04:34:02 +00:00  
				
					
						
							
							
								 
						
							
								260dbc79fc 
								
							 
						 
						
							
							
								
								Take advantage of our knowledge of 2-address X86 instructions and  
							
							... 
							
							
							
							register-allocated them appropriately.
llvm-svn: 4976 
							
						 
						
							2002-12-12 23:20:31 +00:00  
				
					
						
							
							
								 
						
							
								160a3da184 
								
							 
						 
						
							
							
								
								Added code generation for function prologues and epilogues.  
							
							... 
							
							
							
							llvm-svn: 4930 
							
						 
						
							2002-12-04 23:58:08 +00:00  
				
					
						
							
							
								 
						
							
								dbb7b65bf3 
								
							 
						 
						
							
							
								
								Fun arithmetic with iterators aimed at fixing a bug: inserting instructions  
							
							... 
							
							
							
							after the *current* instruction while keeping the iterator in the same
'logical' place.
llvm-svn: 4923 
							
						 
						
							2002-12-04 19:24:45 +00:00  
				
					
						
							
							
								 
						
							
								a8ad93221a 
								
							 
						 
						
							
							
								
								This should fix the bug seen with some registers not being allocated  
							
							... 
							
							
							
							correctly: skipping instructions by incorrectly incrementing the pointer.
Also adds support for building a reg-to-regclass map, and splits the function
for saving register to stack into two, one suitable for virtual registers
(which also assigns it a physical register) and one for simply storing back
physical registers.
llvm-svn: 4898 
							
						 
						
							2002-12-03 23:15:19 +00:00  
				
					
						
							
							
								 
						
							
								2e035d64d1 
								
							 
						 
						
							
							
								
								* Abstracted out stack space allocation into its own function  
							
							... 
							
							
							
							* Added saving of register values to the stack
llvm-svn: 4858 
							
						 
						
							2002-12-02 21:11:58 +00:00  
				
					
						
							
							
								 
						
							
								60286d0916 
								
							 
						 
						
							
							
								
								A simple (spilling) register allocator.  
							
							... 
							
							
							
							llvm-svn: 4828 
							
						 
						
							2002-11-22 22:44:32 +00:00