Skip to content

Commit f9bc785

Browse files
committed
Add explicit getShuffleCost arguments for CostKind and the source vector
1 parent 138e895 commit f9bc785

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

llvm/lib/Transforms/Vectorize/VectorCombine.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -449,6 +449,7 @@ bool VectorCombine::isExtractExtractCheap(ExtractElementInst *Ext0,
449449
// operands to element 0.
450450
unsigned BestExtIndex = Extract0Cost > Extract1Cost ? Ext0Index : Ext1Index;
451451
unsigned BestInsIndex = Extract0Cost > Extract1Cost ? Ext1Index : Ext0Index;
452+
Value *BestVec = (Extract0Cost > Extract1Cost ? Ext1 : Ext0)->getOperand(0);
452453
InstructionCost CheapExtractCost = std::min(Extract0Cost, Extract1Cost);
453454

454455
// Extra uses of the extracts mean that we include those costs in the
@@ -488,11 +489,12 @@ bool VectorCombine::isExtractExtractCheap(ExtractElementInst *Ext0,
488489
SmallVector<int> ShuffleMask(FixedVecTy->getNumElements(),
489490
PoisonMaskElem);
490491
ShuffleMask[BestInsIndex] = BestExtIndex;
491-
NewCost += TTI.getShuffleCost(TargetTransformInfo::SK_PermuteSingleSrc,
492-
VecTy, ShuffleMask);
493-
} else {
494492
NewCost +=
495-
TTI.getShuffleCost(TargetTransformInfo::SK_PermuteSingleSrc, VecTy);
493+
TTI.getShuffleCost(TargetTransformInfo::SK_PermuteSingleSrc, VecTy,
494+
ShuffleMask, CostKind, 0, nullptr, {BestVec});
495+
} else {
496+
NewCost += TTI.getShuffleCost(TargetTransformInfo::SK_PermuteSingleSrc,
497+
VecTy, {}, CostKind, 0, nullptr, {BestVec});
496498
}
497499
}
498500

0 commit comments

Comments
 (0)