Home
last modified time | relevance | path

Searched refs:SVI (Results 1 – 25 of 27) sorted by relevance

12

/llvm-project-15.0.7/llvm/lib/CodeGen/
H A DInterleavedAccessPass.cpp316 for (auto *SVI : BI->users()) in lowerInterleavedLoad() local
321 auto *SVI = dyn_cast<ShuffleVectorInst>(User); in lowerInterleavedLoad() local
322 if (!SVI || !isa<UndefValue>(SVI->getOperand(1))) in lowerInterleavedLoad()
325 Shuffles.push_back(SVI); in lowerInterleavedLoad()
398 for (auto *SVI : BinOpShuffles) { in replaceBinOpShuffles() local
401 ArrayRef<int> Mask = SVI->getShuffleMask(); in replaceBinOpShuffles()
408 Mask, SVI->getName(), SVI); in replaceBinOpShuffles()
411 SVI->getName(), SVI); in replaceBinOpShuffles()
414 SVI->replaceAllUsesWith(NewBI); in replaceBinOpShuffles()
498 if (!SVI || !SVI->hasOneUse() || isa<ScalableVectorType>(SVI->getType())) in lowerInterleavedStore()
[all …]
H A DInterleavedLoadCombinePass.cpp669 ShuffleVectorInst *SVI = nullptr; member
712 if (SVI) in compute()
713 return computeFromSVI(SVI, Result, DL); in compute()
768 Result.SVI = nullptr; in computeFromBCI()
791 if (!compute(SVI->getOperand(0), LHS, DL)) in computeFromSVI()
831 Result.Is.insert(SVI); in computeFromSVI()
832 Result.SVI = SVI; in computeFromSVI()
835 for (int i : SVI->getShuffleMask()) { in computeFromSVI()
1147 SVIs.insert(VI.SVI); in combine()
1236 Builder.SetInsertPoint(VI.SVI); in combine()
[all …]
H A DCodeGenPrepare.cpp412 bool optimizeShuffleVectorInst(ShuffleVectorInst *SVI);
6914 bool CodeGenPrepare::optimizeShuffleVectorInst(ShuffleVectorInst *SVI) { in optimizeShuffleVectorInst() argument
6916 if (!match(SVI, m_Shuffle(m_InsertElt(m_Undef(), m_Value(), m_ZeroInt()), in optimizeShuffleVectorInst()
6919 Type *NewType = TLI->shouldConvertSplatType(SVI); in optimizeShuffleVectorInst()
6923 auto *SVIVecType = cast<FixedVectorType>(SVI->getType()); in optimizeShuffleVectorInst()
6931 IRBuilder<> Builder(SVI->getContext()); in optimizeShuffleVectorInst()
6932 Builder.SetInsertPoint(SVI); in optimizeShuffleVectorInst()
6934 cast<Instruction>(SVI->getOperand(0))->getOperand(1), NewType); in optimizeShuffleVectorInst()
6938 SVI->replaceAllUsesWith(BC2); in optimizeShuffleVectorInst()
6940 SVI, TLInfo, nullptr, [&](Value *V) { removeAllAssertingVHReferences(V); }); in optimizeShuffleVectorInst()
/llvm-project-15.0.7/llvm/lib/Transforms/InstCombine/
H A DInstCombineVectorOps.cpp528 Src = SVI->getOperand(0); in visitExtractElementInst()
531 Src = SVI->getOperand(1); in visitExtractElementInst()
2545 Value *LHS = SVI.getOperand(0); in visitShuffleVectorInst()
2546 Value *RHS = SVI.getOperand(1); in visitShuffleVectorInst()
2550 return replaceInstUsesWith(SVI, V); in visitShuffleVectorInst()
2618 SVI.commute(); in visitShuffleVectorInst()
2619 return &SVI; in visitShuffleVectorInst()
2643 if (V != &SVI) in visitShuffleVectorInst()
2645 return &SVI; in visitShuffleVectorInst()
2703 for (User *U : SVI.users()) in visitShuffleVectorInst()
[all …]
H A DInstCombineInternal.h170 Instruction *visitShuffleVectorInst(ShuffleVectorInst &SVI);
/llvm-project-15.0.7/llvm/lib/Target/X86/
H A DX86InterleavedAccess.cpp180 if (auto *SVI = dyn_cast<ShuffleVectorInst>(VecInst)) { in decompose() local
181 Value *Op0 = SVI->getOperand(0); in decompose()
182 Value *Op1 = SVI->getOperand(1); in decompose()
828 ShuffleVectorInst *SVI, in lowerInterleavedStore() argument
833 assert(cast<FixedVectorType>(SVI->getType())->getNumElements() % Factor == in lowerInterleavedStore()
840 auto Mask = SVI->getShuffleMask(); in lowerInterleavedStore()
844 ArrayRef<ShuffleVectorInst *> Shuffles = makeArrayRef(SVI); in lowerInterleavedStore()
H A DX86ISelLowering.h1482 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
/llvm-project-15.0.7/llvm/lib/Transforms/Scalar/
H A DScalarizer.cpp223 bool visitShuffleVectorInst(ShuffleVectorInst &SVI);
864 bool ScalarizerVisitor::visitShuffleVectorInst(ShuffleVectorInst &SVI) { in visitShuffleVectorInst() argument
865 VectorType *VT = dyn_cast<VectorType>(SVI.getType()); in visitShuffleVectorInst()
870 Scatterer Op0 = scatter(&SVI, SVI.getOperand(0)); in visitShuffleVectorInst()
871 Scatterer Op1 = scatter(&SVI, SVI.getOperand(1)); in visitShuffleVectorInst()
876 int Selector = SVI.getMaskValue(I); in visitShuffleVectorInst()
884 gather(&SVI, Res); in visitShuffleVectorInst()
H A DGVNSink.cpp359 if (ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I)) in InstructionUseExpr() local
360 ShuffleMask = SVI->getShuffleMask().copy(A); in InstructionUseExpr()
H A DGVN.cpp345 } else if (auto *SVI = dyn_cast<ShuffleVectorInst>(I)) { in createExpr() local
346 ArrayRef<int> ShuffleMask = SVI->getShuffleMask(); in createExpr()
/llvm-project-15.0.7/llvm/lib/Bitcode/Writer/
H A DValueEnumerator.cpp157 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in orderModule() local
158 orderValue(SVI->getShuffleMaskForBitcode(), OM); in orderModule()
286 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in predictUseListOrder() local
287 predictValueUseListOrder(SVI->getShuffleMaskForBitcode(), &F, OM, in predictUseListOrder()
433 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in ValueEnumerator() local
434 EnumerateType(SVI->getShuffleMaskForBitcode()->getType()); in ValueEnumerator()
1049 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in incorporateFunction() local
1050 EnumerateValue(SVI->getShuffleMaskForBitcode()); in incorporateFunction()
/llvm-project-15.0.7/llvm/lib/Target/DirectX/DXILWriter/
H A DDXILValueEnumerator.cpp194 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in orderModule() local
195 orderValue(SVI->getShuffleMaskForBitcode(), OM); in orderModule()
326 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in predictUseListOrder() local
327 predictValueUseListOrder(SVI->getShuffleMaskForBitcode(), &F, OM, in predictUseListOrder()
471 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in ValueEnumerator() local
472 EnumerateType(SVI->getShuffleMaskForBitcode()->getType()); in ValueEnumerator()
1054 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in incorporateFunction() local
1055 EnumerateValue(SVI->getShuffleMaskForBitcode()); in incorporateFunction()
/llvm-project-15.0.7/llvm/lib/Analysis/
H A DVectorUtils.cpp318 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(V); in findScalarElement() local
320 if (SVI && isa<FixedVectorType>(SVI->getType())) { in findScalarElement()
322 cast<FixedVectorType>(SVI->getOperand(0)->getType())->getNumElements(); in findScalarElement()
323 int InEl = SVI->getMaskValue(EltNo); in findScalarElement()
327 return findScalarElement(SVI->getOperand(0), InEl); in findScalarElement()
328 return findScalarElement(SVI->getOperand(1), InEl - LHSWidth); in findScalarElement()
H A DInstructionSimplify.cpp6411 auto *SVI = cast<ShuffleVectorInst>(I); in simplifyInstructionWithOperands() local
6413 NewOps[0], NewOps[1], SVI->getShuffleMask(), SVI->getType(), Q); in simplifyInstructionWithOperands()
/llvm-project-15.0.7/llvm/lib/Transforms/Vectorize/
H A DVectorCombine.cpp1247 auto *SVI = dyn_cast<ShuffleVectorInst>(&I); in foldSelectShuffle() local
1249 if (!SVI || !VT) in foldSelectShuffle()
1251 auto *Op0 = dyn_cast<Instruction>(SVI->getOperand(0)); in foldSelectShuffle()
1252 auto *Op1 = dyn_cast<Instruction>(SVI->getOperand(1)); in foldSelectShuffle()
/llvm-project-15.0.7/llvm/lib/IR/
H A DInstruction.cpp492 if (const ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I1)) in haveSameSpecialState() local
493 return SVI->getShuffleMask() == in haveSameSpecialState()
H A DAsmWriter.cpp4347 } else if (const ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(&I)) { in printInstruction() local
4348 PrintShuffleMask(Out, SVI->getType(), SVI->getShuffleMask()); in printInstruction()
/llvm-project-15.0.7/llvm/lib/Target/ARM/
H A DARMISelLowering.h458 Type* shouldConvertSplatType(ShuffleVectorInst* SVI) const override;
662 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
/llvm-project-15.0.7/llvm/lib/Transforms/Utils/
H A DFunctionComparator.cpp672 if (const ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(L)) { in cmpOperations() local
673 ArrayRef<int> LMask = SVI->getShuffleMask(); in cmpOperations()
/llvm-project-15.0.7/llvm/unittests/IR/
H A DInstructionsTest.cpp1250 ShuffleVectorInst *SVI = new ShuffleVectorInst(Op, Op, ReplicatedMask); in TEST() local
1251 EXPECT_EQ(SVI->isReplicationMask(GuessedReplicationFactor, GuessedVF), in TEST()
1253 delete SVI; in TEST()
/llvm-project-15.0.7/clang/lib/CodeGen/
H A DCGExprScalar.cpp1807 static int getMaskElt(llvm::ShuffleVectorInst *SVI, unsigned Idx, in getMaskElt() argument
1809 int MV = SVI->getMaskValue(Idx); in getMaskElt()
1912 llvm::ShuffleVectorInst *SVI = cast<llvm::ShuffleVectorInst>(Init); in VisitInitListExpr() local
1913 Value *SVOp = SVI->getOperand(0); in VisitInitListExpr()
1927 Args.push_back(getMaskElt(SVI, j, Offset)); in VisitInitListExpr()
/llvm-project-15.0.7/llvm/lib/Target/AArch64/
H A DAArch64ISelLowering.h613 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
H A DAArch64ISelLowering.cpp13143 ShuffleVectorInst *SVI = Shuffles[i]; in lowerInterleavedLoad() local
13156 SubVec, FixedVectorType::get(SVI->getType()->getElementType(), in lowerInterleavedLoad()
13159 SubVecs[SVI].push_back(SubVec); in lowerInterleavedLoad()
13167 for (ShuffleVectorInst *SVI : Shuffles) { in lowerInterleavedLoad()
13168 auto &SubVec = SubVecs[SVI]; in lowerInterleavedLoad()
13171 SVI->replaceAllUsesWith(WideVec); in lowerInterleavedLoad()
13204 ShuffleVectorInst *SVI, in lowerInterleavedStore() argument
13209 auto *VecTy = cast<FixedVectorType>(SVI->getType()); in lowerInterleavedStore()
13228 Value *Op0 = SVI->getOperand(0); in lowerInterleavedStore()
13229 Value *Op1 = SVI->getOperand(1); in lowerInterleavedStore()
[all …]
/llvm-project-15.0.7/llvm/include/llvm/CodeGen/
H A DTargetLowering.h2588 virtual Type* shouldConvertSplatType(ShuffleVectorInst* SVI) const { in shouldConvertSplatType() argument
2845 virtual bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI, in lowerInterleavedStore() argument
/llvm-project-15.0.7/llvm/lib/CodeGen/GlobalISel/
H A DIRTranslator.cpp2829 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&U)) in translateShuffleVector() local
2830 Mask = SVI->getShuffleMask(); in translateShuffleVector()

12