Owen Anderson 
							
						 
					 
					
						
						
							
						
						b214c6971b 
					 
					
						
						
							
							Use the new predicate to control when we do prealloc splitting.  Fix a small bug.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58738  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-05 00:32:13 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						f1f75b1bd1 
					 
					
						
						
							
							First pass at checking for the creation of a new join point when doing pre-alloc splitting.  This is not turned on yet.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58726  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-04 22:22:41 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						ae61ca0206 
					 
					
						
						
							
							Revert my last patch until I consult with Evan about it.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58591  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-03 02:33:28 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						6423c6c0e8 
					 
					
						
						
							
							Don't do pre-splitting if doing so would create a value join that did not  
						
						... 
						
						
						
						exist before.  Updating the live intervals in that care is tricky in the general
case.
Evan, if you see a tighter guard condition for this, let me know.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58560  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-02 08:08:18 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						36f3adfe7f 
					 
					
						
						
							
							Add a fixme.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58514  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-31 16:41:59 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						5489893867 
					 
					
						
						
							
							- More pre-split fixes: spill slot live interval computation bug; restore point bug.  
						
						... 
						
						
						
						- If a def is spilt, remember its spill index to allow its reuse.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58375  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-29 08:39:34 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						d0e32c5d5c 
					 
					
						
						
							
							- Rewrite code that update register live interval that's split.  
						
						... 
						
						
						
						- Create and update spill slot live intervals.
- Lots of bug fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58367  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-29 05:06:14 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						1f08cc2d2b 
					 
					
						
						
							
							If def is in the same mbb as the barrier, spilt the value after the last use before the barrier.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58314  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-28 05:28:21 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						ae7fa5bef1 
					 
					
						
						
							
							Add command line option to limit the number splits to help debugging.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58312  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-28 01:48:24 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						f62ce370a4 
					 
					
						
						
							
							Avoid putting a split past the end of the live range; always shrink wrap live interval in the barrier mbb.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58309  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-28 00:47:49 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						985921e846 
					 
					
						
						
							
							Silence a bogus compile time warning.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58297  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-27 23:29:28 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b3990d5e94 
					 
					
						
						
							
							Remove val# defined by a remat'ed def that is now dead.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58294  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-27 23:21:01 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						23066288fd 
					 
					
						
						
							
							For now, don't split live intervals around x87 stack register barriers. FpGET_ST0_80 must be right after a call instruction (and ADJCALLSTACKUP) so we need to find a way to prevent reload of x87 registers between them.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58230  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-27 07:14:50 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						aaf510c932 
					 
					
						
						
							
							Do not shrink wrap live interval in a mbb if it's livein any of its successor blocks. The mbb can be revisited again after all of the successors are processed.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58184  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-26 07:49:03 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						79d5b5acae 
					 
					
						
						
							
							Handle cases where there aren't uses in the barrier mbb.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58174  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-25 23:49:39 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						78dfef771b 
					 
					
						
						
							
							If val# def is ~0U, meaning it's defined by a PHI, and it's previously split, spill before the barrier because it's impossible to determine if all the defs are spilled in the same spill slot.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58129  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-25 00:52:41 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						56ab0def90 
					 
					
						
						
							
							Fix a pasto.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58102  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-24 18:46:44 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						2efe3fd79a 
					 
					
						
						
							
							Fix a end() dereference; remove an abort() that wasn't meant to be left in.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58072  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-24 05:53:44 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						06587497dc 
					 
					
						
						
							
							Avoid splitting an interval multiple times; avoid splitting re-materializable val# (for now).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58068  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-24 02:05:00 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						f5cd4f0d70 
					 
					
						
						
							
							Committing a good chunk of the pre-register allocation live interval splitting pass. It's handling simple cases and appear to do good things. Next: avoid splitting an interval multiple times; renumber registers when possible; record stack slot live intervals for coloring; rematerialize defs when possible.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58044  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-23 20:43:13 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						09e8ca8a58 
					 
					
						
						
							
							Add skeleton for the pre-register allocation live interval splitting pass.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57847  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-10-20 21:44:59 +00:00