Lines Matching refs:ShuffleVectorInst
290 ShuffleVectorInst *Shuffle = cast<ShuffleVectorInst>(UserInstr); in findDemandedEltsBySingleUser()
494 } else if (auto *SVI = dyn_cast<ShuffleVectorInst>(I)) { in visitExtractElementInst()
655 new ShuffleVectorInst(ExtVecOp, PoisonValue::get(ExtVecType), ExtendMask); in replaceExtractElements()
1086 static bool isShuffleEquivalentToSelect(ShuffleVectorInst &Shuf) { in isShuffleEquivalentToSelect()
1182 return new ShuffleVectorInst(FirstIE, PoisonVec, Mask); in foldInsSequenceIntoSplat()
1189 auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0)); in foldInsEltIntoSplat()
1219 return new ShuffleVectorInst(Op0, UndefValue::get(Op0->getType()), NewMask); in foldInsEltIntoSplat()
1226 auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0)); in foldInsEltIntoIdentityShuffle()
1271 return new ShuffleVectorInst(X, Shuf->getOperand(1), NewMask); in foldInsEltIntoIdentityShuffle()
1312 if (auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0))) { in foldConstantInsEltIntoShuffle()
1355 return new ShuffleVectorInst(Shuf->getOperand(0), in foldConstantInsEltIntoShuffle()
1396 return new ShuffleVectorInst(IEI->getOperand(0), in foldConstantInsEltIntoShuffle()
1490 return new ShuffleVectorInst(LR.first, LR.second, Mask); in visitInsertElementInst()
1794 static bool isShuffleExtractingFromLHS(ShuffleVectorInst &SVI, in isShuffleExtractingFromLHS()
1851 static Instruction *foldSelectShuffleWith1Binop(ShuffleVectorInst &Shuf) { in foldSelectShuffleWith1Binop()
1907 static Instruction *canonicalizeInsertSplat(ShuffleVectorInst &Shuf, in canonicalizeInsertSplat()
1936 return new ShuffleVectorInst(NewIns, UndefVec, NewMask); in canonicalizeInsertSplat()
1940 static Instruction *foldSelectShuffle(ShuffleVectorInst &Shuf, in foldSelectShuffle()
2070 static Instruction *foldTruncShuffle(ShuffleVectorInst &Shuf, in foldTruncShuffle()
2111 static Instruction *narrowVectorSelect(ShuffleVectorInst &Shuf, in narrowVectorSelect()
2133 !cast<ShuffleVectorInst>(Cond)->isIdentityWithPadding()) in narrowVectorSelect()
2144 static Instruction *foldIdentityExtractShuffle(ShuffleVectorInst &Shuf) { in foldIdentityExtractShuffle()
2189 return new ShuffleVectorInst(X, Y, NewMask); in foldIdentityExtractShuffle()
2194 static Instruction *foldShuffleWithInsert(ShuffleVectorInst &Shuf, in foldShuffleWithInsert()
2274 ShuffleVectorInst::commuteShuffleMask(Mask, NumElts); in foldShuffleWithInsert()
2281 static Instruction *foldIdentityPaddedShuffles(ShuffleVectorInst &Shuf) { in foldIdentityPaddedShuffles()
2285 auto *Shuffle0 = dyn_cast<ShuffleVectorInst>(Shuf.getOperand(0)); in foldIdentityPaddedShuffles()
2286 auto *Shuffle1 = dyn_cast<ShuffleVectorInst>(Shuf.getOperand(1)); in foldIdentityPaddedShuffles()
2344 return new ShuffleVectorInst(X, Y, NewMask); in foldIdentityPaddedShuffles()
2347 Instruction *InstCombinerImpl::visitShuffleVectorInst(ShuffleVectorInst &SVI) { in visitShuffleVectorInst()
2425 return new ShuffleVectorInst(LHS, UndefValue::get(RHS->getType()), Elts); in visitShuffleVectorInst()
2600 ShuffleVectorInst* LHSShuffle = dyn_cast<ShuffleVectorInst>(LHS); in visitShuffleVectorInst()
2601 ShuffleVectorInst* RHSShuffle = dyn_cast<ShuffleVectorInst>(RHS); in visitShuffleVectorInst()
2728 return new ShuffleVectorInst(newLHS, newRHS, newMask); in visitShuffleVectorInst()