Revert "[SLP]Fix a crash when insert subvector is out of range."
This reverts commit f1ee2738b3.
Revert due to the revert of a dependent commit `[SLP]Improve shuffles cost estimation where possible.`
This commit is contained in:
@@ -6168,16 +6168,6 @@ InstructionCost BoUpSLP::getEntryCost(const TreeEntry *E,
|
||||
PowerOf2Ceil(OffsetEnd - OffsetBeg + 1),
|
||||
((OffsetEnd - OffsetBeg + VecScalarsSz) / VecScalarsSz) *
|
||||
VecScalarsSz);
|
||||
bool IsWholeSubvector =
|
||||
OffsetBeg == Offset && ((OffsetEnd + 1) % VecScalarsSz == 0);
|
||||
// Check if we can safely insert a subvector. If it is not possible, just
|
||||
// generate a whole-sized vector and shuffle the source vector and the new
|
||||
// subvector.
|
||||
if (OffsetBeg + InsertVecSz > VecSz) {
|
||||
// Align OffsetBeg to generate correct mask.
|
||||
OffsetBeg = alignDown(OffsetBeg, VecSz, Offset);
|
||||
InsertVecSz = VecSz;
|
||||
}
|
||||
|
||||
APInt DemandedElts = APInt::getZero(NumElts);
|
||||
// TODO: Add support for Instruction::InsertValue.
|
||||
@@ -6221,7 +6211,7 @@ InstructionCost BoUpSLP::getEntryCost(const TreeEntry *E,
|
||||
// TODO: Implement the analysis of the FirstInsert->getOperand(0)
|
||||
// subvector of ActualVecTy.
|
||||
if (!isUndefVector(FirstInsert->getOperand(0)) && NumScalars != NumElts &&
|
||||
!IsWholeSubvector) {
|
||||
(Offset != OffsetBeg || (OffsetEnd + 1) % VecScalarsSz != 0)) {
|
||||
if (InsertVecSz != VecSz) {
|
||||
auto *ActualVecTy =
|
||||
FixedVectorType::get(SrcVecTy->getElementType(), VecSz);
|
||||
|
||||
Reference in New Issue
Block a user