Chris Lattner 
							
						 
					 
					
						
						
							
						
						45cfe545ec 
					 
					
						
						
							
							Change Pass::print to take a raw ostream instead of std::ostream,  
						
						... 
						
						
						
						update all code that this affects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79830  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-23 06:03:38 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c02497f5ba 
					 
					
						
						
							
							shoot a few more std::ostream print methods in the head.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79814  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-08-23 03:47:42 +00:00 
						 
				 
			
				
					
						
							
							
								Lang Hames 
							
						 
					 
					
						
						
							
						
						f41538d1b5 
					 
					
						
						
							
							Update to in-place spilling framework. Includes live interval scaling and trivial rewriter.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72729  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-06-02 16:53:25 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c781a243a3 
					 
					
						
						
							
							In some rare cases, the register allocator can spill registers but end up not utilizing registers at all. The fundamental problem is linearscan's backtracking can end up freeing more than one allocated registers. However,  reloads and restores might be folded into uses / defs and freed registers might not be used at all.  
						
						... 
						
						
						
						VirtRegMap keeps track of allocations so it knows what's not used. As a horrible hack, the stack coloring can color spill slots with *free* registers. That is, it replace reload and spills with copies from and to the free register. It unfold instructions that load and store the spill slot and replace them with register using variants.
Not yet enabled. This is part 1. More coming.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70787  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-03 18:32:42 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						ef901c5756 
					 
					
						
						
							
							Livestacks really does preserve everything.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56476  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-22 22:26:15 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						8b56a90bec 
					 
					
						
						
							
							Instead of setPreservesAll, just mark them preseving machine loop info and machine dominators.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56475  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-22 22:21:38 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						bbeeb2a61e 
					 
					
						
						
							
							Mark several codegen passes as preserving all analysis.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56469  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-22 20:58:04 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						3f32d65912 
					 
					
						
						
							
							Add a stack slot coloring pass. Not yet enabled.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51934  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-06-04 09:18:41 +00:00