Lines Matching refs:InsertElementInst
471 if (auto *IE = dyn_cast<InsertElementInst>(I)) { in visitExtractElementInst()
613 if (InsertElementInst *IEI = dyn_cast<InsertElementInst>(V)) { in collectSingleShuffleElements()
663 static void replaceExtractElements(InsertElementInst *InsElt, in replaceExtractElements()
709 if (InsElt->hasOneUse() && isa<InsertElementInst>(InsElt->user_back())) in replaceExtractElements()
762 if (InsertElementInst *IEI = dyn_cast<InsertElementInst>(V)) { in collectShuffleElements()
1171 static Instruction *foldInsSequenceIntoSplat(InsertElementInst &InsElt) { in foldInsSequenceIntoSplat()
1174 if (InsElt.hasOneUse() && isa<InsertElementInst>(InsElt.user_back())) in foldInsSequenceIntoSplat()
1190 InsertElementInst *CurrIE = &InsElt; in foldInsSequenceIntoSplat()
1192 InsertElementInst *FirstIE = nullptr; in foldInsSequenceIntoSplat()
1201 auto *NextIE = dyn_cast<InsertElementInst>(CurrIE->getOperand(0)); in foldInsSequenceIntoSplat()
1231 FirstIE = InsertElementInst::Create(PoisonVec, SplatVal, Zero, "", &InsElt); in foldInsSequenceIntoSplat()
1244 static Instruction *foldInsEltIntoSplat(InsertElementInst &InsElt) { in foldInsEltIntoSplat()
1281 static Instruction *foldInsEltIntoIdentityShuffle(InsertElementInst &InsElt) { in foldInsEltIntoIdentityShuffle()
1340 static Instruction *hoistInsEltConst(InsertElementInst &InsElt2, in hoistInsEltConst()
1342 auto *InsElt1 = dyn_cast<InsertElementInst>(InsElt2.getOperand(0)); in hoistInsEltConst()
1355 return InsertElementInst::Create(NewInsElt1, Y, IdxC1); in hoistInsEltConst()
1363 static Instruction *foldConstantInsEltIntoShuffle(InsertElementInst &InsElt) { in foldConstantInsEltIntoShuffle()
1418 } else if (auto *IEI = dyn_cast<InsertElementInst>(Inst)) { in foldConstantInsEltIntoShuffle()
1467 static Instruction *narrowInsElt(InsertElementInst &InsElt, in narrowInsElt()
1498 Instruction *InstCombinerImpl::visitInsertElementInst(InsertElementInst &IE) { in visitInsertElementInst()
1571 auto isShuffleRootCandidate = [](InsertElementInst &Insert) { in visitInsertElementInst()
1574 auto *InsertUser = dyn_cast<InsertElementInst>(Insert.user_back()); in visitInsertElementInst()
1885 return InsertElementInst::Create(V, I->getOperand(1), in evaluateInDifferentElementOrder()
2465 return InsertElementInst::Create(V1, Scalar, IndexC); in foldShuffleWithInsert()
2473 return InsertElementInst::Create(V1, Scalar, IndexC); in foldShuffleWithInsert()