Lines Matching refs:ShuffleVectorInst

331     ShuffleVectorInst *Shuffle = cast<ShuffleVectorInst>(UserInstr);  in findDemandedEltsBySingleUser()
514 } else if (auto *SVI = dyn_cast<ShuffleVectorInst>(I)) { in visitExtractElementInst()
712 auto *WideVec = new ShuffleVectorInst(ExtVecOp, ExtendMask); in replaceExtractElements()
1143 static bool isShuffleEquivalentToSelect(ShuffleVectorInst &Shuf) { in isShuffleEquivalentToSelect()
1239 return new ShuffleVectorInst(FirstIE, Mask); in foldInsSequenceIntoSplat()
1246 auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0)); in foldInsEltIntoSplat()
1276 return new ShuffleVectorInst(Op0, NewMask); in foldInsEltIntoSplat()
1283 auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0)); in foldInsEltIntoIdentityShuffle()
1328 return new ShuffleVectorInst(X, Shuf->getOperand(1), NewMask); in foldInsEltIntoIdentityShuffle()
1369 if (auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0))) { in foldConstantInsEltIntoShuffle()
1416 return new ShuffleVectorInst(Shuf->getOperand(0), in foldConstantInsEltIntoShuffle()
1457 return new ShuffleVectorInst(IEI->getOperand(0), in foldConstantInsEltIntoShuffle()
1591 return new ShuffleVectorInst(LR.first, LR.second, Mask); in visitInsertElementInst()
1898 static bool isShuffleExtractingFromLHS(ShuffleVectorInst &SVI, in isShuffleExtractingFromLHS()
1960 static Instruction *foldSelectShuffleWith1Binop(ShuffleVectorInst &Shuf) { in foldSelectShuffleWith1Binop()
2016 static Instruction *canonicalizeInsertSplat(ShuffleVectorInst &Shuf, in canonicalizeInsertSplat()
2045 return new ShuffleVectorInst(NewIns, NewMask); in canonicalizeInsertSplat()
2049 Instruction *InstCombinerImpl::foldSelectShuffle(ShuffleVectorInst &Shuf) { in foldSelectShuffle()
2184 static Instruction *foldTruncShuffle(ShuffleVectorInst &Shuf, in foldTruncShuffle()
2225 static Instruction *narrowVectorSelect(ShuffleVectorInst &Shuf, in narrowVectorSelect()
2247 !cast<ShuffleVectorInst>(Cond)->isIdentityWithPadding()) in narrowVectorSelect()
2258 static Instruction *foldFNegShuffle(ShuffleVectorInst &Shuf, in foldFNegShuffle()
2291 static Instruction *foldCastShuffle(ShuffleVectorInst &Shuf, in foldCastShuffle()
2340 static Instruction *foldIdentityExtractShuffle(ShuffleVectorInst &Shuf) { in foldIdentityExtractShuffle()
2385 return new ShuffleVectorInst(X, Y, NewMask); in foldIdentityExtractShuffle()
2390 static Instruction *foldShuffleWithInsert(ShuffleVectorInst &Shuf, in foldShuffleWithInsert()
2471 ShuffleVectorInst::commuteShuffleMask(Mask, NumElts); in foldShuffleWithInsert()
2478 static Instruction *foldIdentityPaddedShuffles(ShuffleVectorInst &Shuf) { in foldIdentityPaddedShuffles()
2482 auto *Shuffle0 = dyn_cast<ShuffleVectorInst>(Shuf.getOperand(0)); in foldIdentityPaddedShuffles()
2483 auto *Shuffle1 = dyn_cast<ShuffleVectorInst>(Shuf.getOperand(1)); in foldIdentityPaddedShuffles()
2541 return new ShuffleVectorInst(X, Y, NewMask); in foldIdentityPaddedShuffles()
2544 Instruction *InstCombinerImpl::visitShuffleVectorInst(ShuffleVectorInst &SVI) { in visitShuffleVectorInst()
2613 return new ShuffleVectorInst(LHS, createUnaryMask(Mask, LHSWidth)); in visitShuffleVectorInst()
2794 ShuffleVectorInst* LHSShuffle = dyn_cast<ShuffleVectorInst>(LHS); in visitShuffleVectorInst()
2795 ShuffleVectorInst* RHSShuffle = dyn_cast<ShuffleVectorInst>(RHS); in visitShuffleVectorInst()
2922 return new ShuffleVectorInst(newLHS, newRHS, newMask); in visitShuffleVectorInst()