Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								f17cd27362 
								
							 
						 
						
							
							
								
								Rename a variable.  
							
							 
							
							... 
							
							
							
							llvm-svn: 166410 
							
						 
						
							2012-10-22 04:53:05 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								03011f1393 
								
							 
						 
						
							
							
								
								Vectorizer: optimize the generation of selects. If the condition is uniform, generate a scalar-cond select (i1 as selector).  
							
							 
							
							... 
							
							
							
							llvm-svn: 166409 
							
						 
						
							2012-10-22 04:38:00 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								c9741887c3 
								
							 
						 
						
							
							
								
								Update the loop vectorizer docs.  
							
							 
							
							... 
							
							
							
							llvm-svn: 166408 
							
						 
						
							2012-10-22 03:52:53 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								7d8991c778 
								
							 
						 
						
							
							
								
								Avoid an extra hash lookup when inserting a value into the widen map.  
							
							 
							
							... 
							
							
							
							llvm-svn: 166395 
							
						 
						
							2012-10-21 16:26:35 +00:00  
						
					 
				
					
						
							
							
								 
								Jakub Staszak
							
						 
						
							 
							
							
							
							
								
							
							
								baa063bd03 
								
							 
						 
						
							
							
								
								Simplify code. No functionality change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 166393 
							
						 
						
							2012-10-21 15:36:03 +00:00  
						
					 
				
					
						
							
							
								 
								Jakub Staszak
							
						 
						
							 
							
							
							
							
								
							
							
								9694ab8ffa 
								
							 
						 
						
							
							
								
								Simplify code. No functionality change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 166392 
							
						 
						
							2012-10-21 15:29:19 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								fe88c67161 
								
							 
						 
						
							
							
								
								Fix a bug in the vectorization of wide load/store operations.  
							
							 
							
							... 
							
							
							
							We used a SCEV to detect that A[X] is consecutive. We assumed that X was
the induction variable. But X can be any expression that uses the induction
for example: X = i + 2;
llvm-svn: 166388 
							
						 
						
							2012-10-21 06:49:10 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								c1679a95b6 
								
							 
						 
						
							
							
								
								Add support for reduction variables that do not start at zero.  
							
							 
							
							... 
							
							
							
							This is important for nested-loop reductions such as :
In the innermost loop, the induction variable does not start with zero:
for (i = 0 .. n)
 for (j = 0 .. m)
  sum += ...
llvm-svn: 166387 
							
						 
						
							2012-10-21 05:52:51 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								364bd30641 
								
							 
						 
						
							
							
								
								Document change. Describe the pass and some papers that inspired the design of the pass.  
							
							 
							
							... 
							
							
							
							llvm-svn: 166386 
							
						 
						
							2012-10-21 04:04:25 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								7e1084d36c 
								
							 
						 
						
							
							
								
								Vectorizer: fix a bug in the classification of induction/reduction phis.  
							
							 
							
							... 
							
							
							
							llvm-svn: 166384 
							
						 
						
							2012-10-21 02:38:01 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								e5dc57d4fb 
								
							 
						 
						
							
							
								
								Fix an infinite loop in the loop-vectorizer.  
							
							 
							
							... 
							
							
							
							PR14134.
llvm-svn: 166379 
							
						 
						
							2012-10-20 20:45:01 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								d189b82a9b 
								
							 
						 
						
							
							
								
								Vectorize: teach cavVectorizeMemory to distinguish between A[i]+=x and A[B[i]]+=x.  
							
							 
							
							... 
							
							
							
							If the pointer is consecutive then it is safe to read and write. If the pointer is non-loop-consecutive then
it is unsafe to vectorize it because we may hit an ordering issue.
llvm-svn: 166371 
							
						 
						
							2012-10-20 08:26:33 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								3940bafb54 
								
							 
						 
						
							
							
								
								Fix a typo  
							
							 
							
							... 
							
							
							
							llvm-svn: 166367 
							
						 
						
							2012-10-20 05:03:27 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								f70ca3ceed 
								
							 
						 
						
							
							
								
								Vectorizer: refactor the memory checks to a new function. No functionality change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 166366 
							
						 
						
							2012-10-20 04:59:06 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								550f7f7e19 
								
							 
						 
						
							
							
								
								LoopVectorize: Keep the IRBuilder on the stack.  
							
							 
							
							... 
							
							
							
							llvm-svn: 166354 
							
						 
						
							2012-10-19 23:27:19 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								4f7f72702b 
								
							 
						 
						
							
							
								
								Vectorizer: Add support for loop reductions.  
							
							 
							
							... 
							
							
							
							For example:
  for (i=0; i<n; i++)
   sum += A[i] +  B[i] + i;
llvm-svn: 166351 
							
						 
						
							2012-10-19 23:05:40 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								319cb771b2 
								
							 
						 
						
							
							
								
								LoopVectorize: Keep the IRBuilder on the stack.  
							
							 
							
							... 
							
							
							
							No functionality change.
llvm-svn: 166274 
							
						 
						
							2012-10-19 08:42:02 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								ced93f3a05 
								
							 
						 
						
							
							
								
								vectorizer: Add support for reading and writing from the same memory location.  
							
							 
							
							... 
							
							
							
							llvm-svn: 166255 
							
						 
						
							2012-10-19 01:24:18 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								1667324f22 
								
							 
						 
						
							
							
								
								cleanup the comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 166247 
							
						 
						
							2012-10-18 23:21:01 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								d45a6b93df 
								
							 
						 
						
							
							
								
								fix a naming typo  
							
							 
							
							... 
							
							
							
							llvm-svn: 166232 
							
						 
						
							2012-10-18 21:45:31 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								f8a1396882 
								
							 
						 
						
							
							
								
								Avoid reconstructing the pointer set when searching for duplicated read/write pointers.  
							
							 
							
							... 
							
							
							
							llvm-svn: 166205 
							
						 
						
							2012-10-18 18:34:50 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								a031c57417 
								
							 
						 
						
							
							
								
								When looking for a vector representation of a scalar, do a single lookup. Also, cache the result of the broadcast instruction.  
							
							 
							
							... 
							
							
							
							No functionality change.
llvm-svn: 166191 
							
						 
						
							2012-10-18 17:31:49 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								7a1728094c 
								
							 
						 
						
							
							
								
								remove unused variable to fix a warning.  
							
							 
							
							... 
							
							
							
							llvm-svn: 166170 
							
						 
						
							2012-10-18 06:09:21 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								642efbcdd8 
								
							 
						 
						
							
							
								
								Remove the use of dominators and AA.  
							
							 
							
							... 
							
							
							
							llvm-svn: 166167 
							
						 
						
							2012-10-18 05:33:02 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								b52f717411 
								
							 
						 
						
							
							
								
								Vectorizer: Add support for loops with an unknown count. For example:  
							
							 
							
							... 
							
							
							
							for (i=0; i<n; i++){
        a[i] = b[i+1] + c[i+3];
     }
llvm-svn: 166165 
							
						 
						
							2012-10-18 05:29:12 +00:00  
						
					 
				
					
						
							
							
								 
								NAKAMURA Takumi
							
						 
						
							 
							
							
							
							
								
							
							
								7857415785 
								
							 
						 
						
							
							
								
								LoopVectorize.cpp: Fix a warning. [-Wunused-variable]  
							
							 
							
							... 
							
							
							
							llvm-svn: 166153 
							
						 
						
							2012-10-17 23:40:15 +00:00  
						
					 
				
					
						
							
							
								 
								Jakub Staszak
							
						 
						
							 
							
							
							
							
								
							
							
								68e5dfddcb 
								
							 
						 
						
							
							
								
								Remove redundant SetInsertPoint call.  
							
							 
							
							... 
							
							
							
							llvm-svn: 166138 
							
						 
						
							2012-10-17 23:06:37 +00:00  
						
					 
				
					
						
							
							
								 
								Roman Divacky
							
						 
						
							 
							
							
							
							
								
							
							
								4955ec317c 
								
							 
						 
						
							
							
								
								Fix some typos and wrong indenting.  
							
							 
							
							... 
							
							
							
							llvm-svn: 166128 
							
						 
						
							2012-10-17 21:07:35 +00:00  
						
					 
				
					
						
							
							
								 
								Nadav Rotem
							
						 
						
							 
							
							
							
							
								
							
							
								6b94c2a09b 
								
							 
						 
						
							
							
								
								Add a loop vectorizer.  
							
							 
							
							... 
							
							
							
							llvm-svn: 166112 
							
						 
						
							2012-10-17 18:25:06 +00:00