Nadav Rotem 
							
						 
					 
					
						
						
							
						
						a38edf071d 
					 
					
						
						
							
							SLPVectorizer: Accelerate the isConsecutive check by replacing the subtraction of the two values with a simple SCEV expression that adds the offset to one of the pointers that we compare.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186479  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-07-17 00:48:31 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						71cc5e4ea2 
					 
					
						
						
							
							flip the scev minus direction to simplify the code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186466  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-07-16 22:57:06 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						7c8a26030f 
					 
					
						
						
							
							SLPVectorizer: Improve the compile time of isConsecutive by adding a simple constant-gep check before using SCEV.  
						
						... 
						
						
						
						This check does not always work because not all of the GEPs use a constant offset, but it happens often enough to reduce the number of times we use SCEV.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186465  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-07-16 22:51:07 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						21508bf853 
					 
					
						
						
							
							SLPVectorizer: Reduce the compile time of the consecutive store lookup.  
						
						... 
						
						
						
						Process groups of stores in chunks of 16.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186420  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-07-16 15:25:17 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						135e81efe3 
					 
					
						
						
							
							PR16628: Fix a bug in the code that merges compares.  
						
						... 
						
						
						
						Compares return i1 but they compare different types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186359  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-07-15 22:52:48 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						6611eaa32f 
					 
					
						
						
							
							SLPVectorizer: change the order in which we search for vectorization candidates. Do stores first and PHIs second.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186277  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-07-14 06:15:46 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						523cd85b50 
					 
					
						
						
							
							SLPVectorizer: Sink and enable CSE for ExtractElements.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186145  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-07-12 06:09:24 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						931b861e3d 
					 
					
						
						
							
							SLPVectorize: Replace the code that checks for vectorization candidates in successor blocks with code that scans PHINodes.  
						
						... 
						
						
						
						Before we could vectorize PHINodes scanning successors was a good way of finding candidates. Now we can vectorize the phinodes which is simpler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186139  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-07-12 00:04:18 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						d6f0c34273 
					 
					
						
						
							
							Remove an argument that we dont use anymore.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186116  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-07-11 20:56:13 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						ace9ed50b5 
					 
					
						
						
							
							Fix a warning.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186064  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-07-11 05:39:02 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						a8608b8dfd 
					 
					
						
						
							
							SLPVectorizer: refactor the code that places extracts. Place the code that decides where to put extracts in the build-tree phase. This allows us to take the cost of the extracts into account.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186058  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-07-11 04:54:05 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						30bbf070a2 
					 
					
						
						
							
							Fix PR16571, which is a bug in the code that checks that all of the types in the bundle are uniform.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185970  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-07-09 21:38:08 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						29b7419428 
					 
					
						
						
							
							Set the default insert point to the first instruction, and not to end()  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185953  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-07-09 17:55:36 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						f564efa591 
					 
					
						
						
							
							This patch changes the saved IRBuilder insert point from BasicBlock::iterator to AssertingVH.  
						
						... 
						
						
						
						Commit 185883 fixes a bug in the IRBuilder that should fix the ASan bot. AssertingVH can help in exposing some RAUW problems.
Thanks Ben and Alexey!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185886  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-07-08 23:31:13 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						c7ffbc019f 
					 
					
						
						
							
							Clear the builder insert point between tree-vectorization phases.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185777  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-07-07 14:57:18 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						369cc938d2 
					 
					
						
						
							
							SLPVectorizer: Implement DCE as part of vectorization.  
						
						... 
						
						
						
						This is a complete re-write if the bottom-up vectorization class.
Before this commit we scanned the instruction tree 3 times. First in search of merge points for the trees. Second, for estimating the cost. And finally for vectorization.
There was a lot of code duplication and adding the DCE exposed bugs. The new design is simpler and DCE was a part of the design.
In this implementation we build the tree once. After that we estimate the cost by scanning the different entries in the constructed tree (in any order). The vectorization phase also works on the built tree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185774  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-07-07 06:57:07 +00:00 
						 
				 
			
				
					
						
							
							
								Craig Topper 
							
						 
					 
					
						
						
							
						
						6227d5c690 
					 
					
						
						
							
							Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185606  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-07-04 01:31:24 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						d4a9ebc734 
					 
					
						
						
							
							We preserve the CFG and some of the analysis passes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185251  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-29 05:38:15 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						08e20fbea1 
					 
					
						
						
							
							Update docs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185250  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-29 05:37:19 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						ac26786846 
					 
					
						
						
							
							SLP Vectorizer:  Add support for trees with external users.  
						
						... 
						
						
						
						To support this we have to insert 'extractelement' instructions to pick the right lane.
We had this functionality before but I removed it when we moved to the multi-block design because it was too complicated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185230  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-28 22:07:09 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						9367c79e62 
					 
					
						
						
							
							No need to use a Set when a vector would do.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185047  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-27 00:14:13 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						70d695801a 
					 
					
						
						
							
							SLP: When searching for vectorization opportunities scan the blocks in post-order because we grow chains upwards.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185041  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-26 23:44:45 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						1e1c694dcd 
					 
					
						
						
							
							SLP: Dont erase instructions during vectorization because it prevents the outerloops from iterating over the instructions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185040  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-26 23:43:23 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						e26fa2dd73 
					 
					
						
						
							
							Erase all of the instructions that we RAUWed  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184969  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-26 17:16:09 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						29acf7e03a 
					 
					
						
						
							
							Do not add cse-ed instructions into the visited map because we dont want to consider them as a candidate for replacement of instructions to be visited.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184966  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-26 16:54:53 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						805e8a01fe 
					 
					
						
						
							
							SLPVectorizer: support slp-vectorization of PHINodes between basic blocks  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184888  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-25 23:04:09 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						58bf5ea452 
					 
					
						
						
							
							Fix a typo in the code that collected the costs recursively.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184827  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-25 05:30:56 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						f4b0e81085 
					 
					
						
						
							
							Rename the variable to fix a warning. Thanks Andy Gibbs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184749  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-24 15:59:47 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						25961b469a 
					 
					
						
						
							
							SLP Vectorizer: Add support for vectorizing parts of the tree.  
						
						... 
						
						
						
						Untill now we detected the vectorizable tree and evaluated the cost of the
entire tree.  With this patch we can decide to trim-out branches of the tree
that are not profitable to vectorizer.
Also, increase the max depth from 6 to 12. In the worse possible case where all
of the code is made of diamond-shaped graph this can bring the cost to 2**10,
but diamonds are not very common.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184681  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-24 02:52:43 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						722b0a4d29 
					 
					
						
						
							
							SLP Vectorizer: Fix a bug in the code that does CSE on the generated gather sequences.  
						
						... 
						
						
						
						Make sure that we don't replace and RAUW two sequences if one does not dominate the other.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184674  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-23 21:57:27 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						787ad64b98 
					 
					
						
						
							
							SLP Vectorizer: Erase instructions outside the vectorizeTree method.  
						
						... 
						
						
						
						The RAII builder location guard is saving a reference to instructions, so we can't erase instructions during vectorization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184671  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-23 19:38:56 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						6959f08f44 
					 
					
						
						
							
							SLP Vectorizer: Implement a simple CSE optimization for the gather sequences.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184660  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-23 06:15:46 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						53a0552b06 
					 
					
						
						
							
							SLP Vectorizer: Implement multi-block slp-vectorization.  
						
						... 
						
						
						
						Rewrote the SLP-vectorization as a whole-function vectorization pass. It is now able to vectorize chains across multiple basic blocks.
It still does not vectorize PHIs, but this should be easy to do now that we scan the entire function.
I removed the support for extracting values from trees.
We are now able to vectorize more programs, but there are some serious regressions in many workloads (such as flops-6 and mandel-2).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184647  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-22 21:34:10 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						0b827993ed 
					 
					
						
						
							
							Clang-format the SLP vectorizer. No functionality change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184446  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-20 17:54:36 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						d69d9f20bc 
					 
					
						
						
							
							SLPVectorization:  Add a basic support for cross-basic block slp vectorization.  
						
						... 
						
						
						
						We collect gather sequences when we vectorize basic blocks. Gather sequences are excellent
hints for vectorization of other basic blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184444  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-20 17:41:45 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						dc4dcb6762 
					 
					
						
						
							
							Change the debug type to match the debug type that is used by vecutils.cpp.  
						
						... 
						
						
						
						This change makes it easier to filter debug messages.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184440  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-20 16:38:05 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						5cb84896bc 
					 
					
						
						
							
							Scan the successor blocks and use the PHI nodes as a hint for possible chain roots.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184201  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-06-18 15:58:05 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						3f75c6cfb5 
					 
					
						
						
							
							SLPVectorizer: Change the order in which new instructions are added to the function.  
						
						... 
						
						
						
						We are not working on a DAG and I ran into a number of problems when I enabled the vectorizations of 'diamond-trees' (trees that share leafs).
* Imroved the numbering API.
* Changed the placement of new instructions to the last root.
* Fixed a bug with external tree users with non-zero lane.
* Fixed a bug in the placement of in-tree users.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182508  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-05-22 19:47:32 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						09ec4b2164 
					 
					
						
						
							
							Add a debug print  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181647  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-05-10 22:56:18 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						7fac0ef71c 
					 
					
						
						
							
							Fix a typo  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180806  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-04-30 21:04:51 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						4f38e16b89 
					 
					
						
						
							
							Fix PR15800. Do not try to vectorize vectors and structs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179960  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-04-20 22:29:43 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						6fe5cc49d8 
					 
					
						
						
							
							SLPVectorizer: Strength reduce SmallVectors to ArrayRefs.  
						
						... 
						
						
						
						Avoids a couple of copies and allows more flexibility in the clients.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179935  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-04-20 09:49:10 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						cd949714eb 
					 
					
						
						
							
							SLPVectorizer: Reduce the compile time by eliminating the search for some of the more expensive patterns. After this change will only check basic arithmetic trees that start at cmpinstr.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179933  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-04-20 07:29:34 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						444e33e898 
					 
					
						
						
							
							refactor tryToVectorizePair to a new method that supports vectorization of lists.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179932  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-04-20 07:22:58 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						d7e8cce287 
					 
					
						
						
							
							Fix an unused variable warning.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179931  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-04-20 06:40:28 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						1d2ad834f2 
					 
					
						
						
							
							SLPVectorizer: Improve the cost model for loop invariant broadcast values.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179930  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-04-20 06:13:47 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						ef332b1ca1 
					 
					
						
						
							
							Report the number of stores that were found in the debug message.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179929  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-04-20 05:23:11 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						e9a4411db4 
					 
					
						
						
							
							SLPVectorizer: Make it a function pass and add code for hoisting the vector-gather sequence out of loops.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179562  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-04-15 22:00:26 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						09616565dd 
					 
					
						
						
							
							SLPVectorizer: Add support for vectorizing trees that start at compare instructions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179504  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-04-15 04:25:27 +00:00 
						 
				 
			
				
					
						
							
							
								Nadav Rotem 
							
						 
					 
					
						
						
							
						
						ab105ae95f 
					 
					
						
						
							
							SLPVectorizer: Add support for trees that don't start at binary operators, and add the cost of extracting values from the roots of the tree.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179475  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2013-04-14 05:15:53 +00:00