Home
last modified time | relevance | path

Searched refs:ShuffleVectorInst (Results 1 – 25 of 99) sorted by relevance

1234

/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DInterleavedAccessPass.cpp126 ArrayRef<ShuffleVectorInst *> Shuffles);
133 bool replaceBinOpShuffles(ArrayRef<ShuffleVectorInst *> BinOpShuffles,
134 SmallVectorImpl<ShuffleVectorInst *> &Shuffles,
223 if (ShuffleVectorInst::isDeInterleaveMaskOfFactor(Mask, Factor, Index)) in isDeInterleaveMask()
241 static bool isReInterleaveMask(ShuffleVectorInst *SVI, unsigned &Factor, in isReInterleaveMask()
288 SmallVector<ShuffleVectorInst *, 4> Shuffles; in lowerInterleavedLoad()
292 SmallSetVector<ShuffleVectorInst *, 4> BinOpShuffles; in lowerInterleavedLoad()
302 auto *SVI = dyn_cast<ShuffleVectorInst>(U); in lowerInterleavedLoad()
306 BinOpShuffles.insert(cast<ShuffleVectorInst>(SVI)); in lowerInterleavedLoad()
310 auto *SVI = dyn_cast<ShuffleVectorInst>(User); in lowerInterleavedLoad()
[all …]
H A DInterleavedLoadCombinePass.cpp669 ShuffleVectorInst *SVI = nullptr;
713 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(V); in compute()
786 static bool computeFromSVI(ShuffleVectorInst *SVI, VectorInfo &Result, in computeFromSVI()
1266 if (auto SVI = dyn_cast<ShuffleVectorInst>(&I)) { in run()
H A DComplexDeinterleavingPass.cpp1875 auto *SVI = dyn_cast<ShuffleVectorInst>(RootI); in identifyRoot()
1909 auto *RealShuffle = dyn_cast<ShuffleVectorInst>(Real); in identifyDeinterleave()
1910 auto *ImagShuffle = dyn_cast<ShuffleVectorInst>(Imag); in identifyDeinterleave()
1950 auto CheckType = [&](ShuffleVectorInst *Shuffle) { in identifyDeinterleave()
1963 auto CheckDeinterleavingShuffle = [&](ShuffleVectorInst *Shuffle) -> bool { in identifyDeinterleave()
2020 } else if (auto *Shuf = dyn_cast<ShuffleVectorInst>(V)) { in identifySplat()
/freebsd/contrib/llvm-project/llvm/include/llvm/SandboxIR/
H A DInstruction.h68 friend class ShuffleVectorInst; // For getTopmostLLVMInstruction(). variable
523 class ShuffleVectorInst final
524 : public SingleLLVMInstructionImpl<llvm::ShuffleVectorInst> {
526 ShuffleVectorInst(llvm::Instruction *I, Context &Ctx) in ShuffleVectorInst() function
550 return llvm::ShuffleVectorInst::isValidOperands(V1->Val, V2->Val, in isValidOperands()
555 return llvm::ShuffleVectorInst::isValidOperands(V1->Val, V2->Val, Mask); in isValidOperands()
564 return cast<llvm::ShuffleVectorInst>(Val)->getMaskValue(Elt); in getMaskValue()
571 llvm::ShuffleVectorInst::getShuffleMask(cast<llvm::Constant>(Mask->Val), in getShuffleMask()
578 cast<llvm::ShuffleVectorInst>(Val)->getShuffleMask(Result); in getShuffleMask()
590 return cast<llvm::ShuffleVectorInst>(Val)->getShuffleMask(); in getShuffleMask()
[all …]
H A DContext.h173 LLVM_ABI ShuffleVectorInst *
174 createShuffleVectorInst(llvm::ShuffleVectorInst *SVI);
175 friend ShuffleVectorInst; // For createShuffleVectorInst()
H A DTracker.h66 class ShuffleVectorInst; variable
427 ShuffleVectorInst *SVI;
431 ShuffleVectorSetMask(ShuffleVectorInst *SVI);
H A DValues.def69 DEF_INSTR(ShuffleVector, OP(ShuffleVector), ShuffleVectorInst)
/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineVectorOps.cpp340 ShuffleVectorInst *Shuffle = cast<ShuffleVectorInst>(UserInstr); in findDemandedEltsBySingleUser()
544 } else if (auto *SVI = dyn_cast<ShuffleVectorInst>(I)) { in visitExtractElementInst()
755 auto *WideVec = new ShuffleVectorInst(ExtVecOp, ExtendMask); in replaceExtractElements()
1263 static bool isShuffleEquivalentToSelect(ShuffleVectorInst &Shuf) { in isShuffleEquivalentToSelect()
1360 return new ShuffleVectorInst(FirstIE, Mask); in foldInsSequenceIntoSplat()
1367 auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0)); in foldInsEltIntoSplat()
1397 return new ShuffleVectorInst(Op0, NewMask); in foldInsEltIntoSplat()
1404 auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0)); in foldInsEltIntoIdentityShuffle()
1449 return new ShuffleVectorInst(X, Shuf->getOperand(1), NewMask); in foldInsEltIntoIdentityShuffle()
1490 if (auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0))) { in foldConstantInsEltIntoShuffle()
[all …]
H A DInstCombineInternal.h177 Instruction *simplifyBinOpSplats(ShuffleVectorInst &SVI);
178 Instruction *visitShuffleVectorInst(ShuffleVectorInst &SVI);
618 Instruction *foldSelectShuffle(ShuffleVectorInst &Shuf);
H A DInstCombineCasts.cpp114 Res = new ShuffleVectorInst(Op0, Op1, in EvaluateInDifferentType()
115 cast<ShuffleVectorInst>(I)->getShuffleMask()); in EvaluateInDifferentType()
224 return new ShuffleVectorInst(CastX, Mask); in commonCastTransforms()
708 auto *Shuf = dyn_cast<ShuffleVectorInst>(Trunc.getOperand(0)); in shrinkSplatShuffle()
715 return new ShuffleVectorInst(NarrowOp, Shuf->getShuffleMask()); in shrinkSplatShuffle()
2241 return new ShuffleVectorInst(InVal, V2, ShuffleMask); in optimizeVectorResizeWithIntegerBitCasts()
2834 if (auto *Shuf = dyn_cast<ShuffleVectorInst>(Src)) { in visitBitCast()
2856 return new ShuffleVectorInst(LHS, RHS, Shuf->getShuffleMask()); in visitBitCast()
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86InterleavedAccess.cpp52 ArrayRef<ShuffleVectorInst *> Shuffles;
107 ArrayRef<ShuffleVectorInst *> Shuffs, in X86InterleavedAccessGroup()
167 assert((isa<LoadInst>(VecInst) || isa<ShuffleVectorInst>(VecInst)) && in decompose()
177 if (auto *SVI = dyn_cast<ShuffleVectorInst>(VecInst)) { in decompose()
184 cast<ShuffleVectorInst>(Builder.CreateShuffleVector( in decompose()
804 LoadInst *LI, ArrayRef<ShuffleVectorInst *> Shuffles, in lowerInterleavedLoad()
821 ShuffleVectorInst *SVI, in lowerInterleavedStore()
835 ArrayRef<ShuffleVectorInst *> Shuffles = ArrayRef(SVI); in lowerInterleavedStore()
H A DX86PartialReduction.cpp387 auto *Shuffle = dyn_cast<ShuffleVectorInst>(LHS); in matchAddReduction()
391 Shuffle = dyn_cast<ShuffleVectorInst>(RHS); in matchAddReduction()
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DInstructions.cpp1725 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *Mask, const Twine &Name, in ShuffleVectorInst() function in ShuffleVectorInst
1727 : ShuffleVectorInst(V1, createPlaceholderForShuffleVector(V1), Mask, Name, in ShuffleVectorInst()
1730 ShuffleVectorInst::ShuffleVectorInst(Value *V1, ArrayRef<int> Mask, in ShuffleVectorInst() function in ShuffleVectorInst
1733 : ShuffleVectorInst(V1, createPlaceholderForShuffleVector(V1), Mask, Name, in ShuffleVectorInst()
1736 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *V2, Value *Mask, in ShuffleVectorInst() function in ShuffleVectorInst
1754 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *V2, ArrayRef<int> Mask, in ShuffleVectorInst() function in ShuffleVectorInst
1769 void ShuffleVectorInst::commute() { in commute()
1787 bool ShuffleVectorInst::isValidOperands(const Value *V1, const Value *V2, in isValidOperands()
1807 bool ShuffleVectorInst::isValidOperands(const Value *V1, const Value *V2, in isValidOperands()
1857 void ShuffleVectorInst::getShuffleMask(const Constant *Mask, in getShuffleMask()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/SandboxIR/
H A DContext.cpp99 auto *LLVMIns = cast<llvm::ShuffleVectorInst>(LLVMV); in getOrCreateValueInternal()
100 It->second = std::unique_ptr<ShuffleVectorInst>( in getOrCreateValueInternal()
101 new ShuffleVectorInst(LLVMIns, *this)); in getOrCreateValueInternal()
491 ShuffleVectorInst *
492 Context::createShuffleVectorInst(llvm::ShuffleVectorInst *SVI) { in createShuffleVectorInst()
494 std::unique_ptr<ShuffleVectorInst>(new ShuffleVectorInst(SVI, *this)); in createShuffleVectorInst()
495 return cast<ShuffleVectorInst>(registerValue(std::move(NewPtr))); in createShuffleVectorInst()
H A DInstruction.cpp1471 Value *ShuffleVectorInst::create(Value *V1, Value *V2, Value *Mask, in create()
1477 if (auto *NewShuffle = dyn_cast<llvm::ShuffleVectorInst>(NewV)) in create()
1483 Value *ShuffleVectorInst::create(Value *V1, Value *V2, ArrayRef<int> Mask, in create()
1488 if (auto *NewShuffle = dyn_cast<llvm::ShuffleVectorInst>(NewV)) in create()
1494 void ShuffleVectorInst::setShuffleMask(ArrayRef<int> Mask) { in setShuffleMask()
1496 cast<llvm::ShuffleVectorInst>(Val)->setShuffleMask(Mask); in setShuffleMask()
1499 VectorType *ShuffleVectorInst::getType() const { in getType()
1501 Ctx.getType(cast<llvm::ShuffleVectorInst>(Val)->getType())); in getType()
1504 void ShuffleVectorInst::commute() { in commute()
1508 cast<llvm::ShuffleVectorInst>(Val)->commute(); in commute()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVectorCombine.cpp323 auto *Shuf = cast<ShuffleVectorInst>(&I); in widenSubvectorLoad()
2021 ShuffleVectorInst::isIdentityMask(NewMask0, NumOpElts); in foldPermuteOfBinops()
2024 ShuffleVectorInst::isIdentityMask(NewMask1, NumOpElts); in foldPermuteOfBinops()
2500 if (ShuffleVectorInst::isIdentityMask(NewMask, NumSrcElts)) { in foldShuffleOfShuffles()
2627 while (auto *SV = dyn_cast<ShuffleVectorInst>(U->get())) { in lookThroughShuffles()
2982 ShuffleVectorInst *Shuffle = nullptr; in foldShuffleFromReductions()
3003 } else if (auto *SV = dyn_cast<ShuffleVectorInst>(CI)) { in foldShuffleFromReductions()
3142 auto *SVI = cast<ShuffleVectorInst>(&I); in foldSelectShuffle()
3160 !(isa<ShuffleVectorInst>(U) && in foldSelectShuffle()
3172 SmallVector<ShuffleVectorInst *> Shuffles; in foldSelectShuffle()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/DirectX/DXILWriter/
H A DDXILValueEnumerator.cpp194 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in orderModule()
326 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in predictUseListOrder()
471 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in ValueEnumerator()
1054 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in incorporateFunction()
/freebsd/contrib/llvm-project/llvm/lib/Bitcode/Writer/
H A DValueEnumerator.cpp165 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in orderModule()
302 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in predictUseListOrder()
473 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in ValueEnumerator()
1088 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in incorporateFunction()
/freebsd/contrib/llvm-project/llvm/lib/FuzzMutate/
H A DOperations.cpp337 return ShuffleVectorInst::isValidOperands(Cur[0], Cur[1], V); in validShuffleVectorIndex()
353 return new ShuffleVectorInst(Srcs[0], Srcs[1], Srcs[2], "S", InsertPt); in shuffleVectorDescriptor()
/freebsd/contrib/llvm-project/llvm/lib/ExecutionEngine/Interpreter/
H A DInterpreter.h165 void visitShuffleVectorInst(ShuffleVectorInst &I);
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMISelLowering.h481 Type* shouldConvertSplatType(ShuffleVectorInst* SVI) const override;
685 ArrayRef<ShuffleVectorInst *> Shuffles,
688 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DRewriteStatepointsForGC.cpp392 if (isa<ShuffleVectorInst>(I)) { in findBaseDefiningValueOfVector()
667 !isa<ShuffleVectorInst>(V); in isOriginalBaseResult()
845 isa<ShuffleVectorInst>(BDV); in findBasePointer()
876 } else if (auto *SV = dyn_cast<ShuffleVectorInst>(BDV)) { in findBasePointer()
1000 if (isa<ShuffleVectorInst>(I)) in findBasePointer()
1237 auto *BaseSV = cast<ShuffleVectorInst>(State.getBaseValue()); in findBasePointer()
1238 auto *BdvSV = cast<ShuffleVectorInst>(BDV); in findBasePointer()
H A DGVNSink.cpp306 if (ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I)) in InstructionUseExpr()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DFunctionComparator.cpp786 if (const ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(L)) { in cmpOperations()
788 ArrayRef<int> RMask = cast<ShuffleVectorInst>(R)->getShuffleMask(); in cmpOperations()
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVInterleavedAccess.cpp84 LoadInst *LI, ArrayRef<ShuffleVectorInst *> Shuffles, in lowerInterleavedLoad()
164 ShuffleVectorInst *SVI, in lowerInterleavedStore()

1234