Lines Matching refs:ShuffleVectorInst

340     ShuffleVectorInst *Shuffle = cast<ShuffleVectorInst>(UserInstr);  in findDemandedEltsBySingleUser()
537 } else if (auto *SVI = dyn_cast<ShuffleVectorInst>(I)) { in visitExtractElementInst()
736 auto *WideVec = new ShuffleVectorInst(ExtVecOp, ExtendMask); in replaceExtractElements()
1178 static bool isShuffleEquivalentToSelect(ShuffleVectorInst &Shuf) { in isShuffleEquivalentToSelect()
1274 return new ShuffleVectorInst(FirstIE, Mask); in foldInsSequenceIntoSplat()
1281 auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0)); in foldInsEltIntoSplat()
1311 return new ShuffleVectorInst(Op0, NewMask); in foldInsEltIntoSplat()
1318 auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0)); in foldInsEltIntoIdentityShuffle()
1363 return new ShuffleVectorInst(X, Shuf->getOperand(1), NewMask); in foldInsEltIntoIdentityShuffle()
1404 if (auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0))) { in foldConstantInsEltIntoShuffle()
1451 return new ShuffleVectorInst(Shuf->getOperand(0), in foldConstantInsEltIntoShuffle()
1492 return new ShuffleVectorInst(IEI->getOperand(0), in foldConstantInsEltIntoShuffle()
1709 return new ShuffleVectorInst(LR.first, LR.second, Mask); in visitInsertElementInst()
2025 static bool isShuffleExtractingFromLHS(ShuffleVectorInst &SVI, in isShuffleExtractingFromLHS()
2090 static Instruction *foldSelectShuffleOfSelectShuffle(ShuffleVectorInst &Shuf) { in foldSelectShuffleOfSelectShuffle()
2099 auto *ShufOp = dyn_cast<ShuffleVectorInst>(Op0); in foldSelectShuffleOfSelectShuffle()
2103 ShuffleVectorInst::commuteShuffleMask(Mask, NumElts); in foldSelectShuffleOfSelectShuffle()
2106 ShufOp = dyn_cast<ShuffleVectorInst>(Op1); in foldSelectShuffleOfSelectShuffle()
2119 ShuffleVectorInst::commuteShuffleMask(Mask1, NumElts); in foldSelectShuffleOfSelectShuffle()
2131 assert((ShuffleVectorInst::isSelectMask(NewMask, NumElts) || in foldSelectShuffleOfSelectShuffle()
2132 ShuffleVectorInst::isIdentityMask(NewMask, NumElts)) && in foldSelectShuffleOfSelectShuffle()
2134 return new ShuffleVectorInst(X, Y, NewMask); in foldSelectShuffleOfSelectShuffle()
2137 static Instruction *foldSelectShuffleWith1Binop(ShuffleVectorInst &Shuf) { in foldSelectShuffleWith1Binop()
2193 static Instruction *canonicalizeInsertSplat(ShuffleVectorInst &Shuf, in canonicalizeInsertSplat()
2221 return new ShuffleVectorInst(NewIns, NewMask); in canonicalizeInsertSplat()
2225 Instruction *InstCombinerImpl::foldSelectShuffle(ShuffleVectorInst &Shuf) { in foldSelectShuffle()
2363 static Instruction *foldTruncShuffle(ShuffleVectorInst &Shuf, in foldTruncShuffle()
2404 static Instruction *narrowVectorSelect(ShuffleVectorInst &Shuf, in narrowVectorSelect()
2426 !cast<ShuffleVectorInst>(Cond)->isIdentityWithPadding()) in narrowVectorSelect()
2437 static Instruction *foldShuffleOfUnaryOps(ShuffleVectorInst &Shuf, in foldShuffleOfUnaryOps()
2484 static Instruction *foldCastShuffle(ShuffleVectorInst &Shuf, in foldCastShuffle()
2533 static Instruction *foldIdentityExtractShuffle(ShuffleVectorInst &Shuf) { in foldIdentityExtractShuffle()
2578 return new ShuffleVectorInst(X, Y, NewMask); in foldIdentityExtractShuffle()
2583 static Instruction *foldShuffleWithInsert(ShuffleVectorInst &Shuf, in foldShuffleWithInsert()
2664 ShuffleVectorInst::commuteShuffleMask(Mask, NumElts); in foldShuffleWithInsert()
2671 static Instruction *foldIdentityPaddedShuffles(ShuffleVectorInst &Shuf) { in foldIdentityPaddedShuffles()
2675 auto *Shuffle0 = dyn_cast<ShuffleVectorInst>(Shuf.getOperand(0)); in foldIdentityPaddedShuffles()
2676 auto *Shuffle1 = dyn_cast<ShuffleVectorInst>(Shuf.getOperand(1)); in foldIdentityPaddedShuffles()
2734 return new ShuffleVectorInst(X, Y, NewMask); in foldIdentityPaddedShuffles()
2740 Instruction *InstCombinerImpl::simplifyBinOpSplats(ShuffleVectorInst &SVI) { in simplifyBinOpSplats()
2764 return new ShuffleVectorInst(NewBO, SVI.getShuffleMask()); in simplifyBinOpSplats()
2767 Instruction *InstCombinerImpl::visitShuffleVectorInst(ShuffleVectorInst &SVI) { in visitShuffleVectorInst()
2842 return new ShuffleVectorInst(LHS, createUnaryMask(Mask, LHSWidth)); in visitShuffleVectorInst()
3023 ShuffleVectorInst* LHSShuffle = dyn_cast<ShuffleVectorInst>(LHS); in visitShuffleVectorInst()
3024 ShuffleVectorInst* RHSShuffle = dyn_cast<ShuffleVectorInst>(RHS); in visitShuffleVectorInst()
3152 return new ShuffleVectorInst(newLHS, newRHS, newMask); in visitShuffleVectorInst()