Gabor Greif 
							
						 
					 
					
						
						
							
						
						fc36c0f21f 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107972  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 15:01:36 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						916973706d 
					 
					
						
						
							
							use ArgOperand API, also tighten the type of visitFree to make this work out smoothly  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106736  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-24 12:21:15 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						1d9b973fd7 
					 
					
						
						
							
							Teach instCombine to remove malloc+free if malloc's only uses are comparisons  
						
						... 
						
						
						
						to null.  Patch by Matti Niemenmaa.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104871  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-27 19:09:06 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						551754c495 
					 
					
						
						
							
							Revert 101465, it broke internal OpenGL testing.  
						
						... 
						
						
						
						Probably the best way to know that all getOperand() calls have been handled
is to replace that API instead of updating.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101579  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-16 23:37:20 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						4ec2258ffb 
					 
					
						
						
							
							reapply r101434  
						
						... 
						
						
						
						with a fix for self-hosting
rotate CallInst operands, i.e. move callee to the back
of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101465  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-16 15:33:14 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						607a7ab3da 
					 
					
						
						
							
							back out r101423 and r101397, they break llvm-gcc self-host on darwin10  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101434  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-16 01:16:20 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						2ff961f668 
					 
					
						
						
							
							reapply r101364, which has been backed out in r101368  
						
						... 
						
						
						
						with a fix
rotate CallInst operands, i.e. move callee to the back
of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101397  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-15 20:51:13 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						9ee1720811 
					 
					
						
						
							
							back out r101364, as it trips the linux nightlybot on some clang C++ tests  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101368  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-15 12:46:56 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						165dac08d1 
					 
					
						
						
							
							rotate CallInst operands, i.e. move callee to the back  
						
						... 
						
						
						
						of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101364  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-15 10:49:53 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						1df9859c40 
					 
					
						
						
							
							There are two ways of checking for a given type, for example isa<PointerType>(T)  
						
						... 
						
						
						
						and T->isPointerTy().  Convert most instances of the first form to the second form.
Requested by Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96344  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-16 11:11:14 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						b0bc6c361d 
					 
					
						
						
							
							Uniformize the names of type predicates: rather than having isFloatTy and  
						
						... 
						
						
						
						isInteger, we now have isFloatTy and isIntegerTy.  Requested by Chris!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96223  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-15 16:12:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8d10f9d4a8 
					 
					
						
						
							
							teach ComputeNumSignBits to look through PHI nodes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92964  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-07 23:44:37 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						8c65f6e71c 
					 
					
						
						
							
							Move remaining stuff to the isInteger predicate.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92771  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 21:05:54 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						11acaa374c 
					 
					
						
						
							
							Convert a ton of simple integer type equality tests to the new predicate.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92760  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 20:07:06 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						321a813c53 
					 
					
						
						
							
							Use do+while instead of while for loops which obviously have a  
						
						... 
						
						
						
						non-zero trip count. Use SmallVector's pop_back_val().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92734  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 16:27:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						804272c8d6 
					 
					
						
						
							
							prune some #includes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92712  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 07:54:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						25f2a23b4a 
					 
					
						
						
							
							split and/or/xor out into one overly-large (2000LOC) file.  However, I think  
						
						... 
						
						
						
						it does make sense to keep them together, at least for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92711  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 07:50:36 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d3c5b2d322 
					 
					
						
						
							
							missed file with previous commit.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92710  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 07:45:02 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						948cdeba97 
					 
					
						
						
							
							eliminate getBitCastOperand and simplify some over-complex inbounds stuff.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92708  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 07:42:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						753a2b464d 
					 
					
						
						
							
							split call handling out to InstCombineCalls.cpp  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92707  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 07:32:13 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						16507fe9fd 
					 
					
						
						
							
							optimize cttz and ctlz when we can prove something about the  
						
						... 
						
						
						
						leading/trailing bits.  Patch by Alastair Lynn!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92706  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 07:23:56 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f87cd93e0c 
					 
					
						
						
							
							this inline function moved to addsub  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92705  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 07:20:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						53a19b73b5 
					 
					
						
						
							
							split add/sub out to its own file.  Eliminate use of  
						
						... 
						
						
						
						dyn_castNotVal in the X+~X transform.  dyn_castNotVal is
dramatic overkill for what the xform needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92704  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 07:18:46 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						248a84beb3 
					 
					
						
						
							
							all the places we use hasOneUse() we know are instructions, so inline  
						
						... 
						
						
						
						and simplify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92700  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 07:04:23 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						dea34da6f8 
					 
					
						
						
							
							eliminate AssociativeOpt and its last uses.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92697  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 07:01:16 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a317e044fb 
					 
					
						
						
							
							inline the FoldICmpLogical functor.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92695  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 06:59:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						32c0cf5af9 
					 
					
						
						
							
							inline the 'AddRHS' transformation, simplifying things significantly.  
						
						... 
						
						
						
						Eliminate the 'AddMaskingAnd' transformation, it is redundant with this
more general code right below it:
  // A+B --> A|B iff A and B have no bits set in common.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92693  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 06:29:13 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d0db8e8bad 
					 
					
						
						
							
							remove massive over-genality manifested as a big template  
						
						... 
						
						
						
						that got instantiated.  There is no reason for instcombine
to try this hard for simple associative optimizations.  Next
up, eliminate the template completely.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92692  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 06:24:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d12c27ce00 
					 
					
						
						
							
							split mul/div/rem instructions out to their own file.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92689  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 06:09:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c6334b97e1 
					 
					
						
						
							
							split select out to its own file.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92687  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 06:03:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8d9b8d717e 
					 
					
						
						
							
							split out load/store/alloca.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92685  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 05:57:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b8a5cecd6b 
					 
					
						
						
							
							split vector stuff out to InstCombineVectorOps.cpp  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92683  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 05:36:20 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f54e729629 
					 
					
						
						
							
							split PHI node stuff out to InstCombinePHI.cpp  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92682  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 05:31:55 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						44a29e066a 
					 
					
						
						
							
							Remove dead debug info intrinsics.  
						
						... 
						
						
						
						Intrinsic::dbg_stoppoint
 Intrinsic::dbg_region_start 
 Intrinsic::dbg_region_end 
 Intrinsic::dbg_func_start
AutoUpgrade simply ignores these intrinsics now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92557  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 01:10:40 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0cb1e9edd5 
					 
					
						
						
							
							silence a bogus 'might be used uninit' warning from GCC.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92494  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-04 18:48:26 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f3d1b5dd68 
					 
					
						
						
							
							move some more cast-related stuff  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92471  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-04 07:59:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5f0290e0ef 
					 
					
						
						
							
							move the [Can]EvaluateInDifferentType functions out to InstCombineCasts.cpp  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92469  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-04 07:54:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						80f43d339f 
					 
					
						
						
							
							split 943 lines of instcombine out to a new InstCombineCasts.cpp  
						
						... 
						
						
						
						file.  InstructionCombining.cpp is now down to a svelte 9300 lines :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92468  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-04 07:53:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						02446fc99a 
					 
					
						
						
							
							split instcombine of compares (visit[FI]Cmp) out to  
						
						... 
						
						
						
						a new InstCombineCompares.cpp file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92467  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-04 07:37:31 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e0b4b721aa 
					 
					
						
						
							
							move the 'SimplifyDemandedFoo' methods out to their own file, cutting 1K lines out of instcombine.cpp  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92465  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-04 07:17:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ac8f2fd2e2 
					 
					
						
						
							
							split the instcombine class definition out to a header shared  
						
						... 
						
						
						
						among the instcombine library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92463  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-04 07:12:23 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4de84762bd 
					 
					
						
						
							
							remove a ton of unneeded LLVMContext stuff.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92462  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-04 07:02:48 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3df5c6fff1 
					 
					
						
						
							
							move InstCombineWorklist out to its own header.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92461  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-04 06:30:00 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						dffbef0d76 
					 
					
						
						
							
							move instcombine to its own library, it's past time.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92459  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-04 06:23:24 +00:00