forked from OSchip/llvm-project
SLP Vectorizer: do not search for store-chains that are wider than the vector-register size.
llvm-svn: 184527
This commit is contained in:
parent
a02291010d
commit
e1713e5fcf
|
@ -141,9 +141,11 @@ bool BoUpSLP::vectorizeStoreChain(ArrayRef<Value *> Chain, int CostThreshold) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Changed)
|
if (Changed || ChainLen > VF)
|
||||||
return true;
|
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);
|
int Cost = getTreeCost(Chain);
|
||||||
if (Cost < CostThreshold) {
|
if (Cost < CostThreshold) {
|
||||||
DEBUG(dbgs() << "SLP: Found store chain cost = " << Cost
|
DEBUG(dbgs() << "SLP: Found store chain cost = " << Cost
|
||||||
|
|
Loading…
Reference in New Issue