Home
last modified time | relevance | path

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

12

/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DInterleavedAccessPass.cpp237 static bool isReInterleaveMask(ShuffleVectorInst *SVI, unsigned &Factor, in isReInterleaveMask() argument
239 unsigned NumElts = SVI->getShuffleMask().size(); in isReInterleaveMask()
245 if (SVI->isInterleave(Factor)) in isReInterleaveMask()
276 auto *SVI = dyn_cast<ShuffleVectorInst>(U); in lowerInterleavedLoad() local
277 return SVI && isa<UndefValue>(SVI->getOperand(1)); in lowerInterleavedLoad()
279 for (auto *SVI : BI->users()) in lowerInterleavedLoad() local
280 BinOpShuffles.insert(cast<ShuffleVectorInst>(SVI)); in lowerInterleavedLoad()
284 auto *SVI = dyn_cast<ShuffleVectorInst>(User); in lowerInterleavedLoad() local
285 if (!SVI || !isa<UndefValue>(SVI->getOperand(1))) in lowerInterleavedLoad()
288 Shuffles.push_back(SVI); in lowerInterleavedLoad()
[all …]
H A DInterleavedLoadCombinePass.cpp670 ShuffleVectorInst *SVI = nullptr; member
714 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(V); in compute() local
715 if (SVI) in compute()
716 return computeFromSVI(SVI, Result, DL); in compute()
771 Result.SVI = nullptr; in computeFromBCI()
787 static bool computeFromSVI(ShuffleVectorInst *SVI, VectorInfo &Result, in computeFromSVI()
790 cast<FixedVectorType>(SVI->getOperand(0)->getType()); in computeFromSVI()
794 if (!compute(SVI->getOperand(0), LHS, DL)) in computeFromSVI()
799 if (!compute(SVI->getOperand(1), RHS, DL)) in computeFromSVI()
834 Result.Is.insert(SVI); in computeFromSVI()
[all …]
H A DComplexDeinterleavingPass.cpp1653 auto *SVI = dyn_cast<ShuffleVectorInst>(RootI); in identifyRoot() local
1654 if (!SVI) in identifyRoot()
1659 if (!isInterleavingMask(SVI->getShuffleMask())) in identifyRoot()
H A DCodeGenPrepare.cpp441 bool optimizeShuffleVectorInst(ShuffleVectorInst *SVI);
7304 bool CodeGenPrepare::optimizeShuffleVectorInst(ShuffleVectorInst *SVI) { in optimizeShuffleVectorInst() argument
7306 if (!match(SVI, m_Shuffle(m_InsertElt(m_Undef(), m_Value(), m_ZeroInt()), in optimizeShuffleVectorInst()
7309 Type *NewType = TLI->shouldConvertSplatType(SVI); in optimizeShuffleVectorInst()
7313 auto *SVIVecType = cast<FixedVectorType>(SVI->getType()); in optimizeShuffleVectorInst()
7321 IRBuilder<> Builder(SVI->getContext()); in optimizeShuffleVectorInst()
7322 Builder.SetInsertPoint(SVI); in optimizeShuffleVectorInst()
7324 cast<Instruction>(SVI->getOperand(0))->getOperand(1), NewType); in optimizeShuffleVectorInst()
7328 replaceAllUsesWith(SVI, BC2, FreshBBs, IsHugeFunc); in optimizeShuffleVectorInst()
7330 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
548 if (isa<FixedVectorType>(SVI->getType()) && isa<ConstantInt>(Index)) { in visitExtractElementInst()
550 SVI->getMaskValue(cast<ConstantInt>(Index)->getZExtValue()); in visitExtractElementInst()
552 unsigned LHSWidth = cast<FixedVectorType>(SVI->getOperand(0)->getType()) in visitExtractElementInst()
558 Src = SVI->getOperand(0); in visitExtractElementInst()
561 Src = SVI->getOperand(1); in visitExtractElementInst()
2033 static bool isShuffleExtractingFromLHS(ShuffleVectorInst &SVI, in isShuffleExtractingFromLHS() argument
2036 cast<FixedVectorType>(SVI.getOperand(0)->getType())->getNumElements(); in isShuffleExtractingFromLHS()
2764 Instruction *InstCombinerImpl::simplifyBinOpSplats(ShuffleVectorInst &SVI) { in simplifyBinOpSplats() argument
2765 if (!match(SVI.getOperand(1), m_Poison()) || in simplifyBinOpSplats()
[all …]
H A DInstCombineInternal.h176 Instruction *simplifyBinOpSplats(ShuffleVectorInst &SVI);
177 Instruction *visitShuffleVectorInst(ShuffleVectorInst &SVI);
/freebsd/contrib/llvm-project/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()
824 ShuffleVectorInst *SVI, in lowerInterleavedStore() argument
829 assert(cast<FixedVectorType>(SVI->getType())->getNumElements() % Factor == in lowerInterleavedStore()
836 auto Mask = SVI->getShuffleMask(); in lowerInterleavedStore()
840 ArrayRef<ShuffleVectorInst *> Shuffles = ArrayRef(SVI); in lowerInterleavedStore()
H A DX86ISelLowering.h1580 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DScalarizer.cpp307 bool visitShuffleVectorInst(ShuffleVectorInst &SVI);
1053 bool ScalarizerVisitor::visitShuffleVectorInst(ShuffleVectorInst &SVI) { in visitShuffleVectorInst() argument
1054 std::optional<VectorSplit> VS = getVectorSplit(SVI.getType()); in visitShuffleVectorInst()
1056 getVectorSplit(SVI.getOperand(0)->getType()); in visitShuffleVectorInst()
1060 Scatterer Op0 = scatter(&SVI, SVI.getOperand(0), *VSOp); in visitShuffleVectorInst()
1061 Scatterer Op1 = scatter(&SVI, SVI.getOperand(1), *VSOp); in visitShuffleVectorInst()
1066 int Selector = SVI.getMaskValue(I); in visitShuffleVectorInst()
1074 gather(&SVI, Res, *VS); in visitShuffleVectorInst()
H A DGVNSink.cpp387 if (ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I)) in InstructionUseExpr() local
388 ShuffleMask = SVI->getShuffleMask().copy(A); in InstructionUseExpr()
H A DGVN.cpp364 } else if (auto *SVI = dyn_cast<ShuffleVectorInst>(I)) { in createExpr() local
365 ArrayRef<int> ShuffleMask = SVI->getShuffleMask(); in createExpr()
/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()
299 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in predictUseListOrder() local
300 predictValueUseListOrder(SVI->getShuffleMaskForBitcode(), &F, OM, in predictUseListOrder()
470 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in ValueEnumerator() local
471 EnumerateType(SVI->getShuffleMaskForBitcode()->getType()); in ValueEnumerator()
1085 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in incorporateFunction() local
1086 EnumerateValue(SVI->getShuffleMaskForBitcode()); in incorporateFunction()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DVectorUtils.cpp198 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(V); in findScalarElement() local
200 if (SVI && isa<FixedVectorType>(SVI->getType())) { in findScalarElement()
202 cast<FixedVectorType>(SVI->getOperand(0)->getType())->getNumElements(); in findScalarElement()
203 int InEl = SVI->getMaskValue(EltNo); in findScalarElement()
207 return findScalarElement(SVI->getOperand(0), InEl); in findScalarElement()
208 return findScalarElement(SVI->getOperand(1), InEl - LHSWidth); in findScalarElement()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMISelLowering.h465 Type* shouldConvertSplatType(ShuffleVectorInst* SVI) const override;
667 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DFunctionComparator.cpp772 if (const ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(L)) { in cmpOperations() local
773 ArrayRef<int> LMask = SVI->getShuffleMask(); in cmpOperations()
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DInstruction.cpp845 if (const ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I1)) in hasSameSpecialState() local
846 return SVI->getShuffleMask() == in hasSameSpecialState()
H A DAsmWriter.cpp4640 } else if (const ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(&I)) { in printInstruction() local
4641 PrintShuffleMask(Out, SVI->getType(), SVI->getShuffleMask()); in printInstruction()
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUInstCombineIntrinsic.cpp410 if (auto *SVI = dyn_cast<ShuffleVectorInst>(V)) in defaultComponentBroadcast() local
411 SVI->getShuffleMask(ShuffleMask); in defaultComponentBroadcast()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVectorCombine.cpp2189 auto *SVI = cast<ShuffleVectorInst>(&I); in foldSelectShuffle() local
2191 auto *Op0 = dyn_cast<Instruction>(SVI->getOperand(0)); in foldSelectShuffle()
2192 auto *Op1 = dyn_cast<Instruction>(SVI->getOperand(1)); in foldSelectShuffle()
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVISelLowering.h876 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
/freebsd/contrib/llvm-project/clang/lib/CodeGen/
H A DCGExprScalar.cpp2014 static int getMaskElt(llvm::ShuffleVectorInst *SVI, unsigned Idx, in getMaskElt() argument
2016 int MV = SVI->getMaskValue(Idx); in getMaskElt()
2136 llvm::ShuffleVectorInst *SVI = cast<llvm::ShuffleVectorInst>(Init); in VisitInitListExpr() local
2137 Value *SVOp = SVI->getOperand(0); in VisitInitListExpr()
2151 Args.push_back(getMaskElt(SVI, j, Offset)); in VisitInitListExpr()
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64ISelLowering.h703 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DTargetLowering.h2867 virtual Type* shouldConvertSplatType(ShuffleVectorInst* SVI) const { in shouldConvertSplatType() argument
3147 virtual bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI, in lowerInterleavedStore() argument
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
H A DIRTranslator.cpp3192 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&U)) in translateShuffleVector() local
3193 Mask = SVI->getShuffleMask(); in translateShuffleVector()

12