SLP Vectorizer: do not search for store-chains that are wider than the vector-register size.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184527 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nadav Rotem 2013-06-21 04:18:13 +00:00
parent d3d03fe758
commit de26195f3c

View File

@ -141,9 +141,11 @@ bool BoUpSLP::vectorizeStoreChain(ArrayRef<Value *> Chain, int CostThreshold) {
}
}
if (Changed)
return true;
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.
int Cost = getTreeCost(Chain);
if (Cost < CostThreshold) {
DEBUG(dbgs() << "SLP: Found store chain cost = " << Cost