summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
diff options
context:
space:
mode:
authorNadav Rotem <nrotem@apple.com>2013-07-26 22:53:11 +0000
committerNadav Rotem <nrotem@apple.com>2013-07-26 22:53:11 +0000
commit9ce0f779bc22f696eb1afbb6cc5095d8d2de0d50 (patch)
tree7c332a092652842748991aca04e9755d3bbf0f70 /llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
parent5d35384292c8ef7c5a28bcd995007295631a4336 (diff)
downloadbcm5719-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.cpp16
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,
OpenPOWER on IntegriCloud