| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | InterleavedAccessPass.cpp | 241 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 D | InterleavedLoadCombinePass.cpp | 669 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 D | ComplexDeinterleavingPass.cpp | 1875 auto *SVI = dyn_cast<ShuffleVectorInst>(RootI); in identifyRoot() local 1876 if (!SVI) in identifyRoot() 1881 if (!isInterleavingMask(SVI->getShuffleMask())) in identifyRoot()
|
| H A D | CodeGenPrepare.cpp | 442 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 D | InstCombineVectorOps.cpp | 544 } 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 D | InstCombineInternal.h | 177 Instruction *simplifyBinOpSplats(ShuffleVectorInst &SVI); 178 Instruction *visitShuffleVectorInst(ShuffleVectorInst &SVI);
|
| /freebsd/contrib/llvm-project/llvm/lib/SandboxIR/ |
| H A D | Tracker.cpp | 315 ShuffleVectorSetMask::ShuffleVectorSetMask(ShuffleVectorInst *SVI) in ShuffleVectorSetMask() argument 316 : SVI(SVI), PrevMask(SVI->getShuffleMask()) {} in ShuffleVectorSetMask() 319 SVI->setShuffleMask(PrevMask); in revert()
|
| H A D | Context.cpp | 492 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 D | X86InterleavedAccess.cpp | 177 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 D | RISCVInterleavedAccess.cpp | 164 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 D | RISCVISelLowering.h | 437 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
|
| /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() 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 D | Scalarizer.cpp | 296 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 D | GVNSink.cpp | 306 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 D | VectorUtils.cpp | 345 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 D | Tracker.h | 427 ShuffleVectorInst *SVI; 431 ShuffleVectorSetMask(ShuffleVectorInst *SVI);
|
| H A D | Context.h | 174 createShuffleVectorInst(llvm::ShuffleVectorInst *SVI);
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
| H A D | ARMISelLowering.h | 481 Type* shouldConvertSplatType(ShuffleVectorInst* SVI) const override; 688 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | FunctionComparator.cpp | 786 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 D | DXILDataScalarization.cpp | 75 bool visitShuffleVectorInst(ShuffleVectorInst &SVI) { return false; } in visitShuffleVectorInst() argument
|
| H A D | DXILFlattenArrays.cpp | 72 bool visitShuffleVectorInst(ShuffleVectorInst &SVI) { return false; } in visitShuffleVectorInst() argument
|
| /freebsd/contrib/llvm-project/llvm/lib/IR/ |
| H A D | Instruction.cpp | 917 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 D | AMDGPUInstCombineIntrinsic.cpp | 465 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 D | AArch64ISelLowering.h | 218 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
|