/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | InterleavedAccessPass.cpp | 237 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 D | InterleavedLoadCombinePass.cpp | 670 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 D | ComplexDeinterleavingPass.cpp | 1653 auto *SVI = dyn_cast<ShuffleVectorInst>(RootI); in identifyRoot() local 1654 if (!SVI) in identifyRoot() 1659 if (!isInterleavingMask(SVI->getShuffleMask())) in identifyRoot()
|
H A D | CodeGenPrepare.cpp | 441 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 D | InstCombineVectorOps.cpp | 544 } 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 D | InstCombineInternal.h | 176 Instruction *simplifyBinOpSplats(ShuffleVectorInst &SVI); 177 Instruction *visitShuffleVectorInst(ShuffleVectorInst &SVI);
|
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
H A D | X86InterleavedAccess.cpp | 180 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 D | X86ISelLowering.h | 1580 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | Scalarizer.cpp | 307 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 D | GVNSink.cpp | 387 if (ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I)) in InstructionUseExpr() local 388 ShuffleMask = SVI->getShuffleMask().copy(A); in InstructionUseExpr()
|
H A D | GVN.cpp | 364 } 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 D | DXILValueEnumerator.cpp | 194 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 D | ValueEnumerator.cpp | 165 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 D | VectorUtils.cpp | 198 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 D | ARMISelLowering.h | 465 Type* shouldConvertSplatType(ShuffleVectorInst* SVI) const override; 667 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | FunctionComparator.cpp | 772 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 D | Instruction.cpp | 845 if (const ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I1)) in hasSameSpecialState() local 846 return SVI->getShuffleMask() == in hasSameSpecialState()
|
H A D | AsmWriter.cpp | 4640 } 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 D | AMDGPUInstCombineIntrinsic.cpp | 410 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 D | VectorCombine.cpp | 2189 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 D | RISCVISelLowering.h | 876 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
|
/freebsd/contrib/llvm-project/clang/lib/CodeGen/ |
H A D | CGExprScalar.cpp | 2014 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 D | AArch64ISelLowering.h | 703 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | TargetLowering.h | 2867 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 D | IRTranslator.cpp | 3192 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&U)) in translateShuffleVector() local 3193 Mask = SVI->getShuffleMask(); in translateShuffleVector()
|