Chris Lattner 
							
						 
					 
					
						
						
							
						
						a78fa8cc2d 
					 
					
						
						
							
							continue making the world safe for ConstantDataVector.  At this point,  
						
						... 
						
						
						
						we should (theoretically optimize and codegen ConstantDataVector as well
as ConstantVector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149116  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-27 03:08:05 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						230cdab220 
					 
					
						
						
							
							some general cleanup, using new methods and tidying up old code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149006  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-26 00:42:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bec2d03c4d 
					 
					
						
						
							
							basic instcombine support for CDS.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148806  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-24 14:31:22 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						8d992f5c2c 
					 
					
						
						
							
							Minor simplification: use ShuffleVectorInst::getMaskValue instead of a more expensive helper.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142672  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-21 19:11:34 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						d2822e7572 
					 
					
						
						
							
							Extend instcombine's shufflevector simplification to handle more cases where the input and output vectors have different sizes.  Patch by Xiaoyi Guo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142671  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-10-21 19:06:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						db125cfaf5 
					 
					
						
						
							
							land David Blaikie's patch to de-constify Type, with a few tweaks.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-18 04:54:35 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						0ff8a4fa35 
					 
					
						
						
							
							Instcombile optimization: extractelement(cast) -> cast(extractelement)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128683  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-03-31 22:57:29 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						1347623aaf 
					 
					
						
						
							
							PR9218: SimplifyDemandedVectorElts can return a non-null value that is not  
						
						... 
						
						
						
						the instruction passed in.  Make sure to account for this correctly, instead
of looping infinitely.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126058  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-02-19 22:42:40 +00:00 
						 
				 
			
				
					
						
							
							
								Jay Foad 
							
						 
					 
					
						
						
							
						
						7a874ddda0 
					 
					
						
						
							
							PR5207: Rename overloaded APInt methods set(), clear(), flip() to  
						
						... 
						
						
						
						setAllBits(), setBit(unsigned), etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120564  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-01 08:53:58 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						db1da8ed42 
					 
					
						
						
							
							Clean up indentation and other whitespace.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117728  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-29 22:20:45 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						09fd64644d 
					 
					
						
						
							
							Remove trailing whitespace.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117727  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-29 22:20:43 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						f0b48f836e 
					 
					
						
						
							
							Fix 80-column violation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117722  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-29 22:03:07 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						822cb58d08 
					 
					
						
						
							
							Change instcombine's getShuffleMask to represent undef with negative values.  
						
						... 
						
						
						
						This code had previously used 2*N, where N is the mask length, to represent
undef.  That is not safe because the shufflevector operands may have more
than N elements -- they don't have to match the result type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117721  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-29 22:03:05 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						4cac5facc3 
					 
					
						
						
							
							Make instcombine a little more aggressive in combining vector shuffles.  
						
						... 
						
						
						
						Allow splats even if they don't match either of the original shuffles,
possibly due to undef entries in the shuffles masks.  Radar 8597790.
Also fix some 80-column violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117719  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-29 22:02:50 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						68c23f8616 
					 
					
						
						
							
							Temporarily revert r110987 as it's causing some miscompares in  
						
						... 
						
						
						
						vector heavy code.  I'll re-enable when we've tracked down the problem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111318  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-17 22:55:27 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						7f1f4089a1 
					 
					
						
						
							
							Reapply this transformation now that it is passing the external test which it previously failed.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110987  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-13 00:17:53 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						7486278900 
					 
					
						
						
							
							Temporarily revert 110737 and 110734, they were causing failures  
						
						... 
						
						
						
						in an external testsuite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110905  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-12 07:01:22 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						95743d8748 
					 
					
						
						
							
							Add the minimal amount of smarts necessary to instcombine of shufflevectors to recognize  
						
						... 
						
						
						
						patterns generated by clang for transpose of a matrix in generic vectors.  This is made
of two parts:
1) Propagating vector extracts of hi/lo half into their users
2) Recognizing an insertion of even elements followed by the odd elements as an unpack.
Testcase to come, but this shrinks the # of shuffle instructions generated on x86 from ~40 to the minimal 8.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110734  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-10 21:38:12 +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 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8609fda0f7 
					 
					
						
						
							
							fix some problems handling large vectors reported in PR6230  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95616  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-08 23:56:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d5da271863 
					 
					
						
						
							
							reduce indentation  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92684  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 05:42:08 +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