mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-12 13:38:21 +00:00
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
This commit is contained in:
@ -128,7 +128,7 @@ private:
|
||||
bool tryToVectorizePair(Value *A, Value *B, BoUpSLP &R);
|
||||
|
||||
/// \brief Try to vectorize a list of operands.
|
||||
bool tryToVectorizeList(BoUpSLP::ValueList &VL, BoUpSLP &R);
|
||||
bool tryToVectorizeList(ArrayRef<Value *> VL, BoUpSLP &R);
|
||||
|
||||
/// \brief Try to vectorize a chain that may start at the operands of \V;
|
||||
bool tryToVectorize(BinaryOperator *V, BoUpSLP &R);
|
||||
@ -174,13 +174,11 @@ unsigned SLPVectorizer::collectStores(BasicBlock *BB, BoUpSLP &R) {
|
||||
|
||||
bool SLPVectorizer::tryToVectorizePair(Value *A, Value *B, BoUpSLP &R) {
|
||||
if (!A || !B) return false;
|
||||
BoUpSLP::ValueList VL;
|
||||
VL.push_back(A);
|
||||
VL.push_back(B);
|
||||
Value *VL[] = { A, B };
|
||||
return tryToVectorizeList(VL, R);
|
||||
}
|
||||
|
||||
bool SLPVectorizer::tryToVectorizeList(BoUpSLP::ValueList &VL, BoUpSLP &R) {
|
||||
bool SLPVectorizer::tryToVectorizeList(ArrayRef<Value *> VL, BoUpSLP &R) {
|
||||
DEBUG(dbgs()<<"SLP: Vectorizing a list of length = " << VL.size() << ".\n");
|
||||
int Cost = R.getTreeCost(VL);
|
||||
int ExtrCost = R.getScalarizationCost(VL);
|
||||
|
Reference in New Issue
Block a user