Lines Matching refs:InsertElementInst
318 if (auto *IE = dyn_cast<InsertElementInst>(I)) { in visitExtractElementInst()
391 if (InsertElementInst *IEI = dyn_cast<InsertElementInst>(V)) { in collectSingleShuffleElements()
444 static void replaceExtractElements(InsertElementInst *InsElt, in replaceExtractElements()
491 if (InsElt->hasOneUse() && isa<InsertElementInst>(InsElt->user_back())) in replaceExtractElements()
546 if (InsertElementInst *IEI = dyn_cast<InsertElementInst>(V)) { in collectShuffleElements()
670 static Instruction *foldInsSequenceIntoBroadcast(InsertElementInst &InsElt) { in foldInsSequenceIntoBroadcast()
673 if (InsElt.hasOneUse() && isa<InsertElementInst>(InsElt.user_back())) in foldInsSequenceIntoBroadcast()
685 InsertElementInst *CurrIE = &InsElt; in foldInsSequenceIntoBroadcast()
687 InsertElementInst *FirstIE = nullptr; in foldInsSequenceIntoBroadcast()
696 auto *NextIE = dyn_cast<InsertElementInst>(CurrIE->getOperand(0)); in foldInsSequenceIntoBroadcast()
718 InsertFirst = InsertElementInst::Create( in foldInsSequenceIntoBroadcast()
738 static Instruction *hoistInsEltConst(InsertElementInst &InsElt2, in hoistInsEltConst()
740 auto *InsElt1 = dyn_cast<InsertElementInst>(InsElt2.getOperand(0)); in hoistInsEltConst()
753 return InsertElementInst::Create(NewInsElt1, Y, IdxC1); in hoistInsEltConst()
761 static Instruction *foldConstantInsEltIntoShuffle(InsertElementInst &InsElt) { in foldConstantInsEltIntoShuffle()
814 } else if (auto *IEI = dyn_cast<InsertElementInst>(Inst)) { in foldConstantInsEltIntoShuffle()
858 Instruction *InstCombiner::visitInsertElementInst(InsertElementInst &IE) { in visitInsertElementInst()
905 auto isShuffleRootCandidate = [](InsertElementInst &Insert) { in visitInsertElementInst()
908 auto *InsertUser = dyn_cast<InsertElementInst>(Insert.user_back()); in visitInsertElementInst()
1205 return InsertElementInst::Create(V, I->getOperand(1), in evaluateInDifferentElementOrder()
1578 return InsertElementInst::Create(V1, Scalar, IndexC); in foldShuffleWithInsert()
1586 return InsertElementInst::Create(V1, Scalar, IndexC); in foldShuffleWithInsert()