| 
							
							
								 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 |  |