Chris Lattner 
							
						 
					 
					
						
						
							
						
						07cd0ff298 
					 
					
						
						
							
							Add a comment  
						
						... 
						
						
						
						Make LSR ignore GEP's that have loop variant base values, as we currently
cannot codegen them
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22576  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-02 01:32:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1060e09fb2 
					 
					
						
						
							
							Fix an iterator invalidation problem  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22575  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-08-02 00:41:11 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						d29b6aa608 
					 
					
						
						
							
							Keep tabs and trailing spaces out.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22565  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-30 18:33:25 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						cfb1d4235f 
					 
					
						
						
							
							Fix VC++ build problems.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22564  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-30 18:22:27 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						f84d5ab5df 
					 
					
						
						
							
							Ack, typo  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22560  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-30 00:21:31 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						1699748567 
					 
					
						
						
							
							Commit a new LoopStrengthReduce pass that can use scalar evolutions and  
						
						... 
						
						
						
						target data to decide which loop induction variables to strength reduce
and how to do so.  This work is mostly by Chris Lattner, with tweaks by
me to get it working on some of MultiSource.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22558  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-07-30 00:15:07 +00:00 
						 
				 
			
				
					
						
							
							
								Misha Brukman 
							
						 
					 
					
						
						
							
						
						fd93908ae8 
					 
					
						
						
							
							Remove trailing whitespace  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21427  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-04-21 23:48:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2f62fdc9a7 
					 
					
						
						
							
							fix a bug where we thought arguments were constants :(  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20506  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-03-06 22:52:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3f93197098 
					 
					
						
						
							
							Fix Regression/Transforms/LoopStrengthReduce/dont_insert_redundant_ops.ll,  
						
						... 
						
						
						
						hopefully not breaking too many other things.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20505  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-03-06 22:36:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2f9b19b4c9 
					 
					
						
						
							
							implement Transforms/LoopStrengthReduce/invariant_value_first_arg.ll  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20501  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-03-06 22:06:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2461dff070 
					 
					
						
						
							
							minor simplifications of the code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20497  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-03-06 21:58:22 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						e43dd1b8e7 
					 
					
						
						
							
							Reformat comments to fix 80 columns.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20467  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-03-05 22:45:40 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						b21bf9a8d5 
					 
					
						
						
							
							Reuse induction variables created for strength-reduced GEPs by other similar GEPs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20466  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-03-05 22:40:34 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						2f3c9b7562 
					 
					
						
						
							
							Add support for not strength reducing GEPs where the element size is a small  
						
						... 
						
						
						
						power of two.  This emphatically includes the zeroeth power of two.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20429  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-03-04 04:04:26 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						0456e4a079 
					 
					
						
						
							
							Fixed the following LSR bugs:  
						
						... 
						
						
						
						* Loop invariant code does not dominate the loop header, but rather
    the end of the loop preheader.
  * The base for a reduced GEP isn't a constant unless all of its
    operands (preceding the induction variable) are constant.
  * Allow induction variable elimination for the simple case after all.
Also made changes recommended by Chris for properly deleting
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20383  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-03-01 03:46:11 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						14dc638081 
					 
					
						
						
							
							Fix crash in LSR due to attempt to remove original induction variable.  However,  
						
						... 
						
						
						
						for reasons explained in the comments, I also deactivated this code as it needs
more thought.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20367  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-02-28 00:08:56 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						5e1e5e13ff 
					 
					
						
						
							
							PHI nodes were incorrectly placed when more than one GEP is reduced in a loop.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20360  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-02-27 21:08:04 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Cohen 
							
						 
					 
					
						
						
							
						
						f465db6c6a 
					 
					
						
						
							
							First pass at improved Loop Strength Reduction.  Still not yet ready for prime time.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20358  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2005-02-27 19:37:07 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						eaa13851a7 
					 
					
						
						
							
							Initial implementation of the strength reduction for GEP instructions in  
						
						... 
						
						
						
						loops.  This optimization is not turned on by default yet, but may be run
with the opt tool's -loop-reduce flag.  There are many FIXMEs listed in the
code that will make it far more applicable to a wide range of code, but you
have to start somewhere :)
This limited version currently triggers on the following tests in the
MultiSource directory:
pcompress2: 7 times
cfrac: 5 times
anagram: 2 times
ks: 6 times
yacr2: 2 times
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17134  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2004-10-18 21:08:22 +00:00