Lines Matching defs:SVI
399 bool optimizeShuffleVectorInst(ShuffleVectorInst *SVI);
6623 bool CodeGenPrepare::optimizeShuffleVectorInst(ShuffleVectorInst *SVI) {
6624 if (!match(SVI, m_Shuffle(m_InsertElt(m_Undef(), m_Value(), m_ZeroInt()),
6627 Type *NewType = TLI->shouldConvertSplatType(SVI);
6631 auto *SVIVecType = cast<FixedVectorType>(SVI->getType());
6639 IRBuilder<> Builder(SVI->getContext());
6640 Builder.SetInsertPoint(SVI);
6642 cast<Instruction>(SVI->getOperand(0))->getOperand(1), NewType);
6646 Insert, UndefValue::get(NewVecType), SVI->getShuffleMask());
6649 SVI->replaceAllUsesWith(BC2);
6650 RecursivelyDeleteTriviallyDeadInstructions(SVI);