Lines Matching refs:InsertElementInst
445 if (auto *IE = dyn_cast<InsertElementInst>(I)) { in visitExtractElementInst()
555 if (InsertElementInst *IEI = dyn_cast<InsertElementInst>(V)) { in collectSingleShuffleElements()
605 static void replaceExtractElements(InsertElementInst *InsElt, in replaceExtractElements()
651 if (InsElt->hasOneUse() && isa<InsertElementInst>(InsElt->user_back())) in replaceExtractElements()
705 if (InsertElementInst *IEI = dyn_cast<InsertElementInst>(V)) { in collectShuffleElements()
1114 static Instruction *foldInsSequenceIntoSplat(InsertElementInst &InsElt) { in foldInsSequenceIntoSplat()
1117 if (InsElt.hasOneUse() && isa<InsertElementInst>(InsElt.user_back())) in foldInsSequenceIntoSplat()
1133 InsertElementInst *CurrIE = &InsElt; in foldInsSequenceIntoSplat()
1135 InsertElementInst *FirstIE = nullptr; in foldInsSequenceIntoSplat()
1144 auto *NextIE = dyn_cast<InsertElementInst>(CurrIE->getOperand(0)); in foldInsSequenceIntoSplat()
1174 FirstIE = InsertElementInst::Create(PoisonVec, SplatVal, Zero, "", &InsElt); in foldInsSequenceIntoSplat()
1187 static Instruction *foldInsEltIntoSplat(InsertElementInst &InsElt) { in foldInsEltIntoSplat()
1224 static Instruction *foldInsEltIntoIdentityShuffle(InsertElementInst &InsElt) { in foldInsEltIntoIdentityShuffle()
1283 static Instruction *hoistInsEltConst(InsertElementInst &InsElt2, in hoistInsEltConst()
1285 auto *InsElt1 = dyn_cast<InsertElementInst>(InsElt2.getOperand(0)); in hoistInsEltConst()
1298 return InsertElementInst::Create(NewInsElt1, Y, IdxC1); in hoistInsEltConst()
1306 static Instruction *foldConstantInsEltIntoShuffle(InsertElementInst &InsElt) { in foldConstantInsEltIntoShuffle()
1357 } else if (auto *IEI = dyn_cast<InsertElementInst>(Inst)) { in foldConstantInsEltIntoShuffle()
1402 Instruction *InstCombinerImpl::visitInsertElementInst(InsertElementInst &IE) { in visitInsertElementInst()
1470 auto isShuffleRootCandidate = [](InsertElementInst &Insert) { in visitInsertElementInst()
1473 auto *InsertUser = dyn_cast<InsertElementInst>(Insert.user_back()); in visitInsertElementInst()
1781 return InsertElementInst::Create(V, I->getOperand(1), in evaluateInDifferentElementOrder()
2268 return InsertElementInst::Create(V1, Scalar, IndexC); in foldShuffleWithInsert()
2276 return InsertElementInst::Create(V1, Scalar, IndexC); in foldShuffleWithInsert()