284c2dbfd7 
								
							 
						 
						
							
							
								
								Recalculate the spill weight and allocation hint for virtual registers created  
							
							... 
							
							
							
							during live range splitting.
llvm-svn: 110686 
							
						 
						
							2010-08-10 17:07:22 +00:00  
				
					
						
							
							
								 
						
							
								45e07c8fc5 
								
							 
						 
						
							
							
								
								Lazily defer duplicating the live interval we are splitting until we know it is  
							
							... 
							
							
							
							necessary.
Sometimes, live range splitting doesn't shrink the current interval, but simply
changes some instructions to use a new interval. That makes the original more
suitable for spilling. In this case, we don't need to duplicate the original.
llvm-svn: 110481 
							
						 
						
							2010-08-06 22:17:33 +00:00  
				
					
						
							
							
								 
						
							
								dc96e28d70 
								
							 
						 
						
							
							
								
								Checkpoint SplitKit progress.  
							
							... 
							
							
							
							We are now at a point where we can split around simple single-entry, single-exit
loops, although still with some bugs.
llvm-svn: 110257 
							
						 
						
							2010-08-04 22:08:39 +00:00  
				
					
						
							
							
								 
						
							
								c698417e52 
								
							 
						 
						
							
							
								
								Add SplitEditor to SplitKit. This class will be used to edit live intervals and  
							
							... 
							
							
							
							rewrite instructions for live range splitting.
Still work in progress.
llvm-svn: 109469 
							
						 
						
							2010-07-26 23:44:11 +00:00  
				
					
						
							
							
								 
						
							
								0fef9dda8e 
								
							 
						 
						
							
							
								
								Change the createSpiller interface to take a MachineFunctionPass argument.  
							
							... 
							
							
							
							The spillers can pluck the analyses they need from the pass reference.
Switch some never-null pointers to references.
llvm-svn: 108969 
							
						 
						
							2010-07-20 23:50:15 +00:00  
				
					
						
							
							
								 
						
							
								ed4075cc3b 
								
							 
						 
						
							
							
								
								Implement loop splitting analysis.  
							
							... 
							
							
							
							Determine which loop exit blocks need a 'pre-exit' block inserted.
Recognize when this would be impossible.
llvm-svn: 108941 
							
						 
						
							2010-07-20 21:46:58 +00:00  
				
					
						
							
							
								 
						
							
								ff095507e3 
								
							 
						 
						
							
							
								
								Appease the colonials.  
							
							... 
							
							
							
							llvm-svn: 108845 
							
						 
						
							2010-07-20 16:12:37 +00:00  
				
					
						
							
							
								 
						
							
								36d12c679d 
								
							 
						 
						
							
							
								
								Beginning SplitKit - utility classes for live range splitting.  
							
							... 
							
							
							
							This is a work in progress. So far we have some basic loop analysis to help
determine where it is useful to split a live range around a loop.
The actual loop splitting code from Splitter.cpp is also going to move in here.
llvm-svn: 108842 
							
						 
						
							2010-07-20 15:41:07 +00:00