19eff2a9f6 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 108415 
							
						 
						
							2010-07-15 06:36:08 +00:00  
				
					
						
							
							
								 
						
							
								8b3a17e613 
								
							 
						 
						
							
							
								
								Revert r108401; it breaks bootstrap :(  
							
							... 
							
							
							
							llvm-svn: 108407 
							
						 
						
							2010-07-15 05:09:31 +00:00  
				
					
						
							
							
								 
						
							
								fd473a746c 
								
							 
						 
						
							
							
								
								Add AssertingVH which makes PR7647 break consistently.  
							
							... 
							
							
							
							llvm-svn: 108401 
							
						 
						
							2010-07-15 04:46:14 +00:00  
				
					
						
							
							
								 
						
							
								c707fa9651 
								
							 
						 
						
							
							
								
								move some select simplifications out out instcombine into  
							
							... 
							
							
							
							inst simplify.  No functionality change.
llvm-svn: 101873 
							
						 
						
							2010-04-20 05:32:14 +00:00  
				
					
						
							
							
								 
						
							
								3afc0721c7 
								
							 
						 
						
							
							
								
								fix incorrect folding of icmp with undef, PR6481.  
							
							... 
							
							
							
							llvm-svn: 97659 
							
						 
						
							2010-03-03 19:46:03 +00:00  
				
					
						
							
							
								 
						
							
								754e4a9801 
								
							 
						 
						
							
							
								
								Constant-fold certain comparisons with infinity and negative infinity.  
							
							... 
							
							
							
							llvm-svn: 96777 
							
						 
						
							2010-02-22 04:06:03 +00:00  
				
					
						
							
							
								 
						
							
								3d9823b9cf 
								
							 
						 
						
							
							
								
								factor some logic out of instcombine into a new SimplifyAddInst method.  
							
							... 
							
							
							
							llvm-svn: 90011 
							
						 
						
							2009-11-27 17:42:22 +00:00  
				
					
						
							
							
								 
						
							
								8574aba4ea 
								
							 
						 
						
							
							
								
								factor some instcombine simplifications for getelementptr out to a new  
							
							... 
							
							
							
							SimplifyGEPInst method in InstructionSimplify.h.  No functionality change.
llvm-svn: 89980 
							
						 
						
							2009-11-27 00:29:05 +00:00  
				
					
						
							
							
								 
						
							
								852d6d64ff 
								
							 
						 
						
							
							
								
								move some generally useful functions out of jump threading  
							
							... 
							
							
							
							into libanalysis and transformutils.
llvm-svn: 86735 
							
						 
						
							2009-11-10 22:26:15 +00:00  
				
					
						
							
							
								 
						
							
								ab799110c6 
								
							 
						 
						
							
							
								
								I misread the parens, not so redundant after all.  
							
							... 
							
							
							
							llvm-svn: 86648 
							
						 
						
							2009-11-10 02:04:54 +00:00  
				
					
						
							
							
								 
						
							
								ee89d5a4d0 
								
							 
						 
						
							
							
								
								remove some redundant parens.  
							
							... 
							
							
							
							llvm-svn: 86645 
							
						 
						
							2009-11-10 01:56:04 +00:00  
				
					
						
							
							
								 
						
							
								fb7f87d5a3 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 86637 
							
						 
						
							2009-11-10 01:08:51 +00:00  
				
					
						
							
							
								 
						
							
								a71e9d61be 
								
							 
						 
						
							
							
								
								factor simplification logic for AND and OR out to InstSimplify from instcombine.  
							
							... 
							
							
							
							llvm-svn: 86635 
							
						 
						
							2009-11-10 00:55:12 +00:00  
				
					
						
							
							
								 
						
							
								ccfdceb22c 
								
							 
						 
						
							
							
								
								pull a bunch of logic out of instcombine into instsimplify for compare  
							
							... 
							
							
							
							simplification, this handles the foldable fcmp x,x cases among many others.
llvm-svn: 86627 
							
						 
						
							2009-11-09 23:55:12 +00:00  
				
					
						
							
							
								 
						
							
								c1f19071f8 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 86624 
							
						 
						
							2009-11-09 23:28:39 +00:00  
				
					
						
							
							
								 
						
							
								cdfb80de16 
								
							 
						 
						
							
							
								
								fix ConstantFoldCompareInstOperands to take the LHS/RHS as  
							
							... 
							
							
							
							individual operands instead of taking a temporary array
llvm-svn: 86619 
							
						 
						
							2009-11-09 23:06:58 +00:00  
				
					
						
							
							
								 
						
							
								084a1b5581 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 86613 
							
						 
						
							2009-11-09 22:57:59 +00:00