diff options
author | Nadav Rotem <nrotem@apple.com> | 2013-07-26 22:53:11 +0000 |
---|---|---|
committer | Nadav Rotem <nrotem@apple.com> | 2013-07-26 22:53:11 +0000 |
commit | 9ce0f779bc22f696eb1afbb6cc5095d8d2de0d50 (patch) | |
tree | 7c332a092652842748991aca04e9755d3bbf0f70 /llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | |
parent | 5d35384292c8ef7c5a28bcd995007295631a4336 (diff) | |
download | bcm5719-llvm-9ce0f779bc22f696eb1afbb6cc5095d8d2de0d50.tar.gz bcm5719-llvm-9ce0f779bc22f696eb1afbb6cc5095d8d2de0d50.zip |
SLP Vectorizer: Disable the vectorization of non power of two chains, such as <3 x float>, because we dont have a good cost model for these types.
llvm-svn: 187265
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp')
-rw-r--r-- | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp index 25f7a78f667..c1accd32c5c 100644 --- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp +++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp @@ -1664,23 +1664,7 @@ bool SLPVectorizer::vectorizeStoreChain(ArrayRef<Value *> Chain, } } - if (Changed || ChainLen > VF) return Changed; - - // Handle short chains. This helps us catch types such as <3 x float> that - // are smaller than vector size. - R.buildTree(Chain); - - int Cost = R.getTreeCost(); - - if (Cost < CostThreshold) { - DEBUG(dbgs() << "SLP: Found store chain cost = " << Cost - << " for size = " << ChainLen << "\n"); - R.vectorizeTree(); - return true; - } - - return false; } bool SLPVectorizer::vectorizeStores(ArrayRef<StoreInst *> Stores, |