Chris Lattner 
							
						 
					 
					
						
						
							
						
						d2bfe54b0a 
					 
					
						
						
							
							Fix PR7647, handling the case when 'To' ends up being  
						
						... 
						
						
						
						mutated by recursive simplification.  This also enhances
ReplaceAndSimplifyAllUses to actually do a real RAUW
at the end of it, which updates any value handles
pointing to "From" to start pointing to "To".  This
seems useful for debug info and random other VH users.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108415  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 06:36:08 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						e2f93131fb 
					 
					
						
						
							
							Revert r108401; it breaks bootstrap :(  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108407  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 05:09:31 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						3ed60a2a22 
					 
					
						
						
							
							Add AssertingVH which makes PR7647 break consistently.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108401  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 04:46:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						047542669a 
					 
					
						
						
							
							move some select simplifications out out instcombine into  
						
						... 
						
						
						
						inst simplify.  No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101873  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-20 05:32:14 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c8e14b3d37 
					 
					
						
						
							
							fix incorrect folding of icmp with undef, PR6481.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97659  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-03-03 19:46:03 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						6b617a7213 
					 
					
						
						
							
							Constant-fold certain comparisons with infinity and negative infinity.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96777  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-22 04:06:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8aee8efc0c 
					 
					
						
						
							
							factor some logic out of instcombine into a new SimplifyAddInst method.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90011  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-27 17:42:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c514c1f521 
					 
					
						
						
							
							factor some instcombine simplifications for getelementptr out to a new  
						
						... 
						
						
						
						SimplifyGEPInst method in InstructionSimplify.h.  No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89980  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-27 00:29:05 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						40d8c28b27 
					 
					
						
						
							
							move some generally useful functions out of jump threading  
						
						... 
						
						
						
						into libanalysis and transformutils.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86735  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-10 22:26:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						70ce6d0819 
					 
					
						
						
							
							I misread the parens, not so redundant after all.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86648  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-10 02:04:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9f3ce36d7e 
					 
					
						
						
							
							remove some redundant parens.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86645  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-10 01:56:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e34537856a 
					 
					
						
						
							
							add a new SimplifyInstruction API, which is like ConstantFoldInstruction,  
						
						... 
						
						
						
						except that the result may not be a constant.  Switch jump threading to 
use it so that it gets things like (X & 0) -> 0, which occur when phi preds
are deleted and the remaining phi pred was a zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86637  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-10 01:08:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d06094f068 
					 
					
						
						
							
							factor simplification logic for AND and OR out to InstSimplify from instcombine.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86635  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-10 00:55:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						210c5d4880 
					 
					
						
						
							
							pull a bunch of logic out of instcombine into instsimplify for compare  
						
						... 
						
						
						
						simplification, this handles the foldable fcmp x,x cases among many others.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86627  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-09 23:55:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9dbb42944c 
					 
					
						
						
							
							rename SimplifyCompare -> SimplifyCmpInst and split it into  
						
						... 
						
						
						
						Simplify[IF]Cmp pieces.  Add some predicates to CmpInst to 
determine whether a predicate is fp or int.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86624  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-09 23:28:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8f73deaa87 
					 
					
						
						
							
							fix ConstantFoldCompareInstOperands to take the LHS/RHS as  
						
						... 
						
						
						
						individual operands instead of taking a temporary array
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86619  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-09 23:06:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9f3c25aeb3 
					 
					
						
						
							
							stub out a new libanalysis "instruction simplify" interface that  
						
						... 
						
						
						
						takes decimated instructions and applies identities to them.  This
is pretty minimal at this point, but I plan to pull some instcombine
logic out into these and similar routines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86613  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-09 22:57:59 +00:00