Home
last modified time | relevance | path

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

12

/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DInterleavedAccessPass.cpp241 static bool isReInterleaveMask(ShuffleVectorInst *SVI, unsigned &Factor, in isReInterleaveMask() argument
243 unsigned NumElts = SVI->getShuffleMask().size(); in isReInterleaveMask()
249 if (SVI->isInterleave(Factor)) in isReInterleaveMask()
302 auto *SVI = dyn_cast<ShuffleVectorInst>(U); in lowerInterleavedLoad() local
303 return SVI && isa<UndefValue>(SVI->getOperand(1)); in lowerInterleavedLoad()
305 for (auto *SVI : BI->users()) in lowerInterleavedLoad() local
306 BinOpShuffles.insert(cast<ShuffleVectorInst>(SVI)); in lowerInterleavedLoad()
310 auto *SVI = dyn_cast<ShuffleVectorInst>(User); in lowerInterleavedLoad() local
311 if (!SVI || !isa<UndefValue>(SVI->getOperand(1))) in lowerInterleavedLoad()
314 Shuffles.push_back(SVI); in lowerInterleavedLoad()
[all …]
H A DInterleavedLoadCombinePass.cpp669 ShuffleVectorInst *SVI = nullptr; member
713 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(V); in compute() local
714 if (SVI) in compute()
715 return computeFromSVI(SVI, Result, DL); in compute()
770 Result.SVI = nullptr; in computeFromBCI()
786 static bool computeFromSVI(ShuffleVectorInst *SVI, VectorInfo &Result, in computeFromSVI()
789 cast<FixedVectorType>(SVI->getOperand(0)->getType()); in computeFromSVI()
793 if (!compute(SVI->getOperand(0), LHS, DL)) in computeFromSVI()
798 if (!compute(SVI->getOperand(1), RHS, DL)) in computeFromSVI()
833 Result.Is.insert(SVI); in computeFromSVI()
[all …]
H A DComplexDeinterleavingPass.cpp1875 auto *SVI = dyn_cast<ShuffleVectorInst>(RootI); in identifyRoot() local
1876 if (!SVI) in identifyRoot()
1881 if (!isInterleavingMask(SVI->getShuffleMask())) in identifyRoot()
H A DCodeGenPrepare.cpp442 bool optimizeShuffleVectorInst(ShuffleVectorInst *SVI);
7699 bool CodeGenPrepare::optimizeShuffleVectorInst(ShuffleVectorInst *SVI) { in optimizeShuffleVectorInst() argument
7701 if (!match(SVI, m_Shuffle(m_InsertElt(m_Undef(), m_Value(), m_ZeroInt()), in optimizeShuffleVectorInst()
7704 Type *NewType = TLI->shouldConvertSplatType(SVI); in optimizeShuffleVectorInst()
7708 auto *SVIVecType = cast<FixedVectorType>(SVI->getType()); in optimizeShuffleVectorInst()
7716 IRBuilder<> Builder(SVI->getContext()); in optimizeShuffleVectorInst()
7717 Builder.SetInsertPoint(SVI); in optimizeShuffleVectorInst()
7719 cast<Instruction>(SVI->getOperand(0))->getOperand(1), NewType); in optimizeShuffleVectorInst()
7723 replaceAllUsesWith(SVI, BC2, FreshBBs, IsHugeFunc); in optimizeShuffleVectorInst()
7725 SVI, TLInfo, nullptr, in optimizeShuffleVectorInst()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineVectorOps.cpp544 } else if (auto *SVI = dyn_cast<ShuffleVectorInst>(I)) { in visitExtractElementInst() local
545 int SplatIndex = getSplatIndex(SVI->getShuffleMask()); in visitExtractElementInst()
549 return ExtractElementInst::Create(SVI->getOperand(0), in visitExtractElementInst()
552 if (isa<FixedVectorType>(SVI->getType())) { in visitExtractElementInst()
558 SrcIdx = SVI->getMaskValue(CI->getZExtValue()); in visitExtractElementInst()
563 cast<FixedVectorType>(SVI->getOperand(0)->getType()) in visitExtractElementInst()
569 Src = SVI->getOperand(0); in visitExtractElementInst()
572 Src = SVI->getOperand(1); in visitExtractElementInst()
2111 static bool isShuffleExtractingFromLHS(ShuffleVectorInst &SVI, in isShuffleExtractingFromLHS() argument
2114 cast<FixedVectorType>(SVI.getOperand(0)->getType())->getNumElements(); in isShuffleExtractingFromLHS()
[all …]
H A DInstCombineInternal.h177 Instruction *simplifyBinOpSplats(ShuffleVectorInst &SVI);
178 Instruction *visitShuffleVectorInst(ShuffleVectorInst &SVI);
/freebsd/contrib/llvm-project/llvm/lib/SandboxIR/
H A DTracker.cpp315 ShuffleVectorSetMask::ShuffleVectorSetMask(ShuffleVectorInst *SVI) in ShuffleVectorSetMask() argument
316 : SVI(SVI), PrevMask(SVI->getShuffleMask()) {} in ShuffleVectorSetMask()
319 SVI->setShuffleMask(PrevMask); in revert()
H A DContext.cpp492 Context::createShuffleVectorInst(llvm::ShuffleVectorInst *SVI) { in createShuffleVectorInst() argument
494 std::unique_ptr<ShuffleVectorInst>(new ShuffleVectorInst(SVI, *this)); in createShuffleVectorInst()
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86InterleavedAccess.cpp177 if (auto *SVI = dyn_cast<ShuffleVectorInst>(VecInst)) { in decompose() local
178 Value *Op0 = SVI->getOperand(0); in decompose()
179 Value *Op1 = SVI->getOperand(1); in decompose()
821 ShuffleVectorInst *SVI, in lowerInterleavedStore() argument
826 assert(cast<FixedVectorType>(SVI->getType())->getNumElements() % Factor == in lowerInterleavedStore()
832 auto Mask = SVI->getShuffleMask(); in lowerInterleavedStore()
835 ArrayRef<ShuffleVectorInst *> Shuffles = ArrayRef(SVI); in lowerInterleavedStore()
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVInterleavedAccess.cpp164 ShuffleVectorInst *SVI, in lowerInterleavedStore() argument
168 auto Mask = SVI->getShuffleMask(); in lowerInterleavedStore()
169 auto *ShuffleVTy = cast<FixedVectorType>(SVI->getType()); in lowerInterleavedStore()
188 Value *Data = SVI->getOperand(0); in lowerInterleavedStore()
218 SVI->getOperand(0), SVI->getOperand(1), NewShuffleMask); in lowerInterleavedStore()
H A DRISCVISelLowering.h437 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
/freebsd/contrib/llvm-project/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()
/freebsd/contrib/llvm-project/llvm/lib/Bitcode/Writer/
H A DValueEnumerator.cpp165 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in orderModule() local
166 orderValue(SVI->getShuffleMaskForBitcode(), OM); in orderModule()
302 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in predictUseListOrder() local
303 predictValueUseListOrder(SVI->getShuffleMaskForBitcode(), &F, OM, in predictUseListOrder()
473 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in ValueEnumerator() local
474 EnumerateType(SVI->getShuffleMaskForBitcode()->getType()); in ValueEnumerator()
1088 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in incorporateFunction() local
1089 EnumerateValue(SVI->getShuffleMaskForBitcode()); in incorporateFunction()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DScalarizer.cpp296 bool visitShuffleVectorInst(ShuffleVectorInst &SVI);
1152 bool ScalarizerVisitor::visitShuffleVectorInst(ShuffleVectorInst &SVI) { in visitShuffleVectorInst() argument
1153 std::optional<VectorSplit> VS = getVectorSplit(SVI.getType()); in visitShuffleVectorInst()
1155 getVectorSplit(SVI.getOperand(0)->getType()); in visitShuffleVectorInst()
1159 Scatterer Op0 = scatter(&SVI, SVI.getOperand(0), *VSOp); in visitShuffleVectorInst()
1160 Scatterer Op1 = scatter(&SVI, SVI.getOperand(1), *VSOp); in visitShuffleVectorInst()
1165 int Selector = SVI.getMaskValue(I); in visitShuffleVectorInst()
1173 gather(&SVI, Res, *VS); in visitShuffleVectorInst()
H A DGVNSink.cpp306 if (ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I)) in InstructionUseExpr() local
307 ShuffleMask = SVI->getShuffleMask().copy(A); in InstructionUseExpr()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DVectorUtils.cpp345 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(V); in findScalarElement() local
347 if (SVI && isa<FixedVectorType>(SVI->getType())) { in findScalarElement()
349 cast<FixedVectorType>(SVI->getOperand(0)->getType())->getNumElements(); in findScalarElement()
350 int InEl = SVI->getMaskValue(EltNo); in findScalarElement()
354 return findScalarElement(SVI->getOperand(0), InEl); in findScalarElement()
355 return findScalarElement(SVI->getOperand(1), InEl - LHSWidth); in findScalarElement()
/freebsd/contrib/llvm-project/llvm/include/llvm/SandboxIR/
H A DTracker.h427 ShuffleVectorInst *SVI;
431 ShuffleVectorSetMask(ShuffleVectorInst *SVI);
H A DContext.h174 createShuffleVectorInst(llvm::ShuffleVectorInst *SVI);
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMISelLowering.h481 Type* shouldConvertSplatType(ShuffleVectorInst* SVI) const override;
688 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DFunctionComparator.cpp786 if (const ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(L)) { in cmpOperations() local
787 ArrayRef<int> LMask = SVI->getShuffleMask(); in cmpOperations()
/freebsd/contrib/llvm-project/llvm/lib/Target/DirectX/
H A DDXILDataScalarization.cpp75 bool visitShuffleVectorInst(ShuffleVectorInst &SVI) { return false; } in visitShuffleVectorInst() argument
H A DDXILFlattenArrays.cpp72 bool visitShuffleVectorInst(ShuffleVectorInst &SVI) { return false; } in visitShuffleVectorInst() argument
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DInstruction.cpp917 if (const ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I1)) in hasSameSpecialState() local
918 return SVI->getShuffleMask() == in hasSameSpecialState()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUInstCombineIntrinsic.cpp465 if (auto *SVI = dyn_cast<ShuffleVectorInst>(V)) in defaultComponentBroadcast() local
466 SVI->getShuffleMask(ShuffleMask); in defaultComponentBroadcast()
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64ISelLowering.h218 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,

12