Owen Anderson 
							
						 
					 
					
						
						
							
						
						8b92d0cae1 
					 
					
						
						
							
							Fix another instance where PHI nodes need special treatment.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28774  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-06-13 20:50:09 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						7be3f1e078 
					 
					
						
						
							
							Fix a bug that was causing major slowdowns in povray.  This was due to LCSSA  
						
						... 
						
						
						
						not handling PHI nodes correctly when determining if a value was live-out.
This patch reduces the number of detected live-out variables in the testcase
from 6565 to 485.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28771  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-06-13 19:37:18 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						3d2aa47bd3 
					 
					
						
						
							
							Fix for 2006-06-26-MultipleExitsSingleBlock.  
						
						... 
						
						
						
						If a single exit block has multiple predecessors within the loop, it will
appear in the exit blocks list more than once.  LCSSA needs to take that into
account so that it doesn't double process that exit block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28750  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-06-12 07:10:16 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						c2cc15cf9d 
					 
					
						
						
							
							Re-commit the safe parts of my 6/9 patch.  Still working on fixing the unsafe parts.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28748  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-06-11 19:22:28 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b9b2b309d3 
					 
					
						
						
							
							Back out Owen's 6/9 changes. They broke MultiSource/Benchmarks/Prolangs-C/bison (and perhaps others).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28747  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-06-11 09:32:57 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						f25c19c6b5 
					 
					
						
						
							
							Make Loop able to verify that it is in LCSSA-form, and have the LCSSA pass assert  
						
						... 
						
						
						
						on this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28738  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-06-09 18:33:30 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						a452932171 
					 
					
						
						
							
							Update some comments, and expose LCSSAID in preparation for having other passes  
						
						... 
						
						
						
						require LCSSA.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28734  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-06-08 20:02:53 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						e9d93d5d70 
					 
					
						
						
							
							Fix some formatting, and use inLoop() when appropriate.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28694  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-06-06 04:36:36 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						92deacf2f7 
					 
					
						
						
							
							Stop a memory leak, and update some comments.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28693  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-06-06 04:28:30 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						c14c1d472a 
					 
					
						
						
							
							Some more clean-up, and squash an IDF-Phi related bug.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28680  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-06-04 00:55:19 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						9e1c1ddd4b 
					 
					
						
						
							
							Various clean-ups suggested by Chris.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28678  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-06-04 00:02:23 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						30019c88f4 
					 
					
						
						
							
							Fix a bug in Phi-noded insertion.  Also, update some comments to reflect what's  
						
						... 
						
						
						
						actually going on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28677  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-06-03 23:22:50 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						ff99366919 
					 
					
						
						
							
							Remove a FIXME that was fixed with my last patch.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28619  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-06-01 06:07:40 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						2824da4738 
					 
					
						
						
							
							More cleanups.  Also, add a special case for updating PHI nodes, and  
						
						... 
						
						
						
						reimplement getValueDominatingFunction to walk the DominanceTree rather than
just searching blindly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28618  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-06-01 06:05:47 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						408a4061d8 
					 
					
						
						
							
							Extract a huge loop into a helper method.  Fix a few iterator-invalidation bugs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28599  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-31 20:55:06 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						00ea74c27e 
					 
					
						
						
							
							Add Use replacement.  Assuming there is nothing horribly wrong with this, LCSSA  
						
						... 
						
						
						
						is now theoretically feature-complete.  It has not, however, been thoroughly
test, and is still considered experimental.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28529  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-29 01:00:00 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						bd82277cbb 
					 
					
						
						
							
							Major think-o.  Iterate over all live out-of-loop values, and perform the  
						
						... 
						
						
						
						other calculations on each individually, rather than trying to delay it and do
them all at the end.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28527  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-28 19:33:28 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						2f21e07915 
					 
					
						
						
							
							Make LCSSA insert proper Phi nodes throughout the rest of the CFG by computing  
						
						... 
						
						
						
						the iterated Dominance Frontier of the loop-closure Phi's.  This is the
second phase of the LCSSA pass.  The third phase (coming soon) will be to
update all uses of loop variables to use the loop-closure Phi's instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28524  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-27 18:47:11 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						a90b2c7240 
					 
					
						
						
							
							A few small clean-ups, and the addition of an LCSSA statistic.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28512  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-27 00:31:37 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						fc3a3bc64b 
					 
					
						
						
							
							Fix a copy-and-paste-o that would break some compilers.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28507  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-26 21:19:17 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						2480737211 
					 
					
						
						
							
							Clean up and refactor LCSSA a bunch.  It should also run faster now, though  
						
						... 
						
						
						
						there's still a lot of work to be done on it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28506  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-26 21:11:53 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						11f510b577 
					 
					
						
						
							
							Skeletal LCSSA pass.  This is currently non-functional.  Expect functionality  
						
						... 
						
						
						
						and documentation updates soo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28495  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2006-05-26 13:58:26 +00:00