Home
last modified time | relevance | path

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

123

/freebsd-12.1/contrib/llvm/lib/CodeGen/
H A DInterleavedAccessPass.cpp120 ArrayRef<ShuffleVectorInst *> Shuffles);
281 SmallVector<ShuffleVectorInst *, 4> Shuffles; in lowerInterleavedLoad()
294 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(*UI); in lowerInterleavedLoad()
350 ArrayRef<ShuffleVectorInst *> Shuffles) { in tryReplaceExtracts()
417 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(SI->getValueOperand()); in lowerInterleavedStore()
H A DInterleavedLoadCombinePass.cpp670 ShuffleVectorInst *SVI;
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()
/freebsd-12.1/contrib/llvm/lib/Transforms/InstCombine/
H A DInstCombineVectorOps.cpp329 } else if (auto *SVI = dyn_cast<ShuffleVectorInst>(I)) { in visitExtractElementInst()
811 return new ShuffleVectorInst(Shuf->getOperand(0), in foldConstantInsEltIntoShuffle()
851 return new ShuffleVectorInst(IEI->getOperand(0), in foldConstantInsEltIntoShuffle()
925 return new ShuffleVectorInst(LR.first, LR.second, in visitInsertElementInst()
1232 static bool isShuffleExtractingFromLHS(ShuffleVectorInst &SVI, in isShuffleExtractingFromLHS()
1341 static Instruction *foldSelectShuffle(ShuffleVectorInst &Shuf, in foldSelectShuffle()
1459 static Instruction *narrowVectorSelect(ShuffleVectorInst &Shuf, in narrowVectorSelect()
1480 !cast<ShuffleVectorInst>(Cond)->isIdentityWithPadding()) in narrowVectorSelect()
1584 ShuffleVectorInst::commuteShuffleMask(Mask, NumElts); in foldShuffleWithInsert()
1801 ShuffleVectorInst* LHSShuffle = dyn_cast<ShuffleVectorInst>(LHS); in visitShuffleVectorInst()
[all …]
H A DInstCombineCasts.cpp640 auto *Shuf = dyn_cast<ShuffleVectorInst>(Trunc.getOperand(0)); in shrinkSplatShuffle()
647 return new ShuffleVectorInst(NarrowOp, NarrowUndef, Shuf->getMask()); in shrinkSplatShuffle()
1869 return new ShuffleVectorInst(InVal, V2, in optimizeVectorResize()
2366 if (ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(Src)) { in visitBitCast()
2385 return new ShuffleVectorInst(LHS, RHS, SVI->getOperand(2)); in visitBitCast()
H A DInstructionCombining.cpp1379 cast<ShuffleVectorInst>(LHS)->isConcat() && in foldVectorBinop()
1380 cast<ShuffleVectorInst>(RHS)->isConcat()) { in foldVectorBinop()
1392 return new ShuffleVectorInst(NewBO0, NewBO1, Mask); in foldVectorBinop()
1405 return new ShuffleVectorInst(XY, UndefValue::get(XY->getType()), M); in foldVectorBinop()
1439 ShuffleVectorInst::getShuffleMask(Mask, ShMask); in foldVectorBinop()
H A DInstCombineSimplifyDemanded.cpp1219 ShuffleVectorInst *Shuffle = cast<ShuffleVectorInst>(I); in SimplifyDemandedVectorElts()
/freebsd-12.1/contrib/llvm/lib/Analysis/
H A DTargetTransformInfo.cpp405 if (auto *ShuffleInst = dyn_cast<ShuffleVectorInst>(V)) in getOperandInfo()
695 static bool matchPairwiseShuffleMask(ShuffleVectorInst *SI, bool IsLeft, in matchPairwiseShuffleMask()
781 ShuffleVectorInst *LS = dyn_cast<ShuffleVectorInst>(RD->LHS); in matchPairwiseReductionAtLevel()
784 ShuffleVectorInst *RS = dyn_cast<ShuffleVectorInst>(RD->RHS); in matchPairwiseReductionAtLevel()
899 static std::pair<Value *, ShuffleVectorInst *>
901 ShuffleVectorInst *S = nullptr; in getShuffleAndOtherOprd()
903 if ((S = dyn_cast<ShuffleVectorInst>(L))) in getShuffleAndOtherOprd()
906 S = dyn_cast<ShuffleVectorInst>(R); in getShuffleAndOtherOprd()
960 ShuffleVectorInst *Shuffle; in matchVectorSplittingReduction()
1122 const ShuffleVectorInst *Shuffle = cast<ShuffleVectorInst>(I); in getInstructionThroughput()
H A DVectorUtils.cpp279 if (ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(V)) { in findScalarElement()
312 auto *ShuffleInst = dyn_cast<ShuffleVectorInst>(V); in getSplatValue()
H A DCFLGraph.h502 void visitShuffleVectorInst(ShuffleVectorInst &Inst) { in visitShuffleVectorInst()
/freebsd-12.1/contrib/llvm/lib/Target/X86/
H A DX86InterleavedAccess.cpp56 ArrayRef<ShuffleVectorInst *> Shuffles;
111 ArrayRef<ShuffleVectorInst *> Shuffs, in X86InterleavedAccessGroup()
171 assert((isa<LoadInst>(VecInst) || isa<ShuffleVectorInst>(VecInst)) && in decompose()
181 if (auto *SVI = dyn_cast<ShuffleVectorInst>(VecInst)) { in decompose()
188 cast<ShuffleVectorInst>(Builder.CreateShuffleVector( in decompose()
804 LoadInst *LI, ArrayRef<ShuffleVectorInst *> Shuffles, in lowerInterleavedLoad()
821 ShuffleVectorInst *SVI, in lowerInterleavedStore()
836 ArrayRef<ShuffleVectorInst *> Shuffles = makeArrayRef(SVI); in lowerInterleavedStore()
H A DX86ISelLowering.h1144 ArrayRef<ShuffleVectorInst *> Shuffles,
1150 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
/freebsd-12.1/contrib/llvm/lib/IR/
H A DInstructions.cpp1634 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *V2, Value *Mask, in ShuffleVectorInst() function in ShuffleVectorInst
1651 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *V2, Value *Mask, in ShuffleVectorInst() function in ShuffleVectorInst
1726 void ShuffleVectorInst::getShuffleMask(const Constant *Mask, in getShuffleMask()
1778 bool ShuffleVectorInst::isIdentityMask(ArrayRef<int> Mask) { in isIdentityMask()
1784 bool ShuffleVectorInst::isReverseMask(ArrayRef<int> Mask) { in isReverseMask()
1808 bool ShuffleVectorInst::isSelectMask(ArrayRef<int> Mask) { in isSelectMask()
1821 bool ShuffleVectorInst::isTransposeMask(ArrayRef<int> Mask) { in isTransposeMask()
1884 bool ShuffleVectorInst::isIdentityWithPadding() const { in isIdentityWithPadding()
1903 bool ShuffleVectorInst::isIdentityWithExtract() const { in isIdentityWithExtract()
1912 bool ShuffleVectorInst::isConcat() const { in isConcat()
[all …]
/freebsd-12.1/contrib/llvm/lib/Transforms/Scalar/
H A DRewriteStatepointsForGC.cpp462 if (isa<ShuffleVectorInst>(I)) in findBaseDefiningValueOfVector()
645 !isa<ShuffleVectorInst>(V)) { in isKnownBaseResult()
798 isa<ShuffleVectorInst>(BDV); in findBasePointer()
841 } else if (auto *SV = dyn_cast<ShuffleVectorInst>(Current)) { in findBasePointer()
910 auto *SV = cast<ShuffleVectorInst>(BDV); in findBasePointer()
991 auto *SV = cast<ShuffleVectorInst>(I); in findBasePointer()
994 return new ShuffleVectorInst(VecUndef, VecUndef, SV->getOperand(2), in findBasePointer()
1107 auto *BaseSV = cast<ShuffleVectorInst>(State.getBaseValue()); in findBasePointer()
1108 auto *BdvSV = cast<ShuffleVectorInst>(BDV); in findBasePointer()
H A DScalarizer.cpp181 bool visitShuffleVectorInst(ShuffleVectorInst &SVI);
680 bool ScalarizerVisitor::visitShuffleVectorInst(ShuffleVectorInst &SVI) { in visitShuffleVectorInst()
H A DEarlyCSE.cpp105 isa<InsertElementInst>(Inst) || isa<ShuffleVectorInst>(Inst) || in canHandle()
185 isa<ShuffleVectorInst>(Inst)) && in getHashValue()
/freebsd-12.1/contrib/llvm/lib/FuzzMutate/
H A DOperations.cpp299 return ShuffleVectorInst::isValidOperands(Cur[0], Cur[1], V); in validShuffleVectorIndex()
314 return new ShuffleVectorInst(Srcs[0], Srcs[1], Srcs[2], "S", Inst); in shuffleVectorDescriptor()
/freebsd-12.1/contrib/llvm/lib/ExecutionEngine/Interpreter/
H A DInterpreter.h165 void visitShuffleVectorInst(ShuffleVectorInst &I);
/freebsd-12.1/contrib/llvm/lib/Target/AArch64/
H A DAArch64ISelLowering.h336 ArrayRef<ShuffleVectorInst *> Shuffles,
339 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
H A DAArch64PromoteConstant.cpp262 if (isa<const ShuffleVectorInst>(Instr) && OpIdx == 2) in shouldConvertUse()
/freebsd-12.1/contrib/llvm/lib/Target/ARM/
H A DARMISelLowering.h530 ArrayRef<ShuffleVectorInst *> Shuffles,
533 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
/freebsd-12.1/contrib/llvm/include/llvm/IR/
H A DNoFolder.h326 return new ShuffleVectorInst(V1, V2, Mask); in CreateShuffleVector()
H A DInstVisitor.h196 RetTy visitShuffleVectorInst(ShuffleVectorInst &I) { DELEGATE(Instruction);} in visitShuffleVectorInst()
H A DInstruction.def216 HANDLE_OTHER_INST(62, ShuffleVector, ShuffleVectorInst) // shuffle two vectors.
H A DInstructions.h1992 class ShuffleVectorInst : public Instruction {
1997 ShuffleVectorInst *cloneImpl() const;
2000 ShuffleVectorInst(Value *V1, Value *V2, Value *Mask,
2003 ShuffleVectorInst(Value *V1, Value *V2, Value *Mask,
2290 struct OperandTraits<ShuffleVectorInst> :
2291 public FixedNumOperandTraits<ShuffleVectorInst, 3> {
2294 DEFINE_TRANSPARENT_OPERAND_ACCESSORS(ShuffleVectorInst, Value)
/freebsd-12.1/contrib/llvm/tools/clang/lib/CodeGen/
H A DCGExprScalar.cpp1757 static llvm::Constant *getMaskElt(llvm::ShuffleVectorInst *SVI, unsigned Idx, in getMaskElt()
1834 llvm::ShuffleVectorInst *SVV = cast<llvm::ShuffleVectorInst>(V); in VisitInitListExpr()
1840 LHS = cast<llvm::ShuffleVectorInst>(V)->getOperand(0); in VisitInitListExpr()
1866 llvm::ShuffleVectorInst *SVI = cast<llvm::ShuffleVectorInst>(Init); in VisitInitListExpr()
1875 Args.push_back(getMaskElt(cast<llvm::ShuffleVectorInst>(V), j, 0, in VisitInitListExpr()
1886 V = cast<llvm::ShuffleVectorInst>(V)->getOperand(0); in VisitInitListExpr()

123