Lines Matching defs:SVI
669 ShuffleVectorInst *SVI = nullptr;
713 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(V);
714 if (SVI)
715 return computeFromSVI(SVI, Result, DL);
770 Result.SVI = nullptr;
777 /// \param SVI ShuffleVectorInst to operate on
786 static bool computeFromSVI(ShuffleVectorInst *SVI, VectorInfo &Result,
789 cast<FixedVectorType>(SVI->getOperand(0)->getType());
793 if (!compute(SVI->getOperand(0), LHS, DL))
798 if (!compute(SVI->getOperand(1), RHS, DL))
833 Result.Is.insert(SVI);
834 Result.SVI = SVI;
837 for (int i : SVI->getShuffleMask()) {
1152 SVIs.insert(VI.SVI);
1199 if (!DT.dominates(InsertionPoint, VI.SVI))
1206 Type *ETy = InterleavedLoad.front().SVI->getType()->getElementType();
1208 cast<FixedVectorType>(InterleavedLoad.front().SVI->getType())
1237 Builder.SetInsertPoint(VI.SVI);
1238 auto SVI = Builder.CreateShuffleVector(LI, Mask, "interleaved.shuffle");
1239 VI.SVI->replaceAllUsesWith(SVI);
1266 if (auto SVI = dyn_cast<ShuffleVectorInst>(&I)) {
1268 if (isa<ScalableVectorType>(SVI->getType()))
1271 Candidates.emplace_back(cast<FixedVectorType>(SVI->getType()));
1273 if (!VectorInfo::computeFromSVI(SVI, Candidates.back(), DL)) {