diff options
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp index 6a0ed7c45506..8de5188de814 100644 --- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp +++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp @@ -3694,6 +3694,8 @@ InstructionCost BoUpSLP::getEntryCost(const TreeEntry *E) { TTI->getShuffleCost(TargetTransformInfo::SK_Broadcast, VecTy, None, 0); } + if (isa<InsertElementInst>(VL[0])) + return InstructionCost::getInvalid(); if (E->getOpcode() == Instruction::ExtractElement && allSameType(VL) && allSameBlock(VL)) { SmallVector<int> Mask; |
