Home
last modified time | relevance | path

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

123

/netbsd-src/external/apache2/llvm/dist/llvm/lib/CodeGen/
H A DInterleavedAccessPass.cpp121 ArrayRef<ShuffleVectorInst *> Shuffles);
128 bool replaceBinOpShuffles(ArrayRef<ShuffleVectorInst *> BinOpShuffles,
129 SmallVectorImpl<ShuffleVectorInst *> &Shuffles,
301 SmallVector<ShuffleVectorInst *, 4> Shuffles; in lowerInterleavedLoad()
305 SmallSetVector<ShuffleVectorInst *, 4> BinOpShuffles; in lowerInterleavedLoad()
315 if (auto *SVI = dyn_cast<ShuffleVectorInst>(*BI->user_begin())) { in lowerInterleavedLoad()
320 auto *SVI = dyn_cast<ShuffleVectorInst>(User); in lowerInterleavedLoad()
395 ArrayRef<ShuffleVectorInst *> BinOpShuffles, in replaceBinOpShuffles()
396 SmallVectorImpl<ShuffleVectorInst *> &Shuffles, LoadInst *LI) { in replaceBinOpShuffles()
406 new ShuffleVectorInst(BI->getOperand(0), PoisonValue::get(BIOp0Ty), in replaceBinOpShuffles()
[all …]
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()
1269 if (auto SVI = dyn_cast<ShuffleVectorInst>(&I)) { in run()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/InstCombine/
H A DInstCombineVectorOps.cpp290 ShuffleVectorInst *Shuffle = cast<ShuffleVectorInst>(UserInstr); in findDemandedEltsBySingleUser()
433 } else if (auto *SVI = dyn_cast<ShuffleVectorInst>(I)) { in visitExtractElementInst()
594 new ShuffleVectorInst(ExtVecOp, UndefValue::get(ExtVecType), ExtendMask); in replaceExtractElements()
1026 static bool isShuffleEquivalentToSelect(ShuffleVectorInst &Shuf) { in isShuffleEquivalentToSelect()
1122 return new ShuffleVectorInst(FirstIE, UndefVec, Mask); in foldInsSequenceIntoSplat()
1129 auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0)); in foldInsEltIntoSplat()
1159 return new ShuffleVectorInst(Op0, UndefValue::get(Op0->getType()), NewMask); in foldInsEltIntoSplat()
1166 auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0)); in foldInsEltIntoIdentityShuffle()
1211 return new ShuffleVectorInst(X, Shuf->getOperand(1), NewMask); in foldInsEltIntoIdentityShuffle()
1252 if (auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0))) { in foldConstantInsEltIntoShuffle()
[all …]
H A DInstCombineSelect.cpp2007 return new ShuffleVectorInst(SI.getTrueValue(), SI.getFalseValue(), Mask); in canonicalizeSelectToShuffle()
2452 cast<ShuffleVectorInst>(TVal)->isSelect()) { in foldVectorSelect()
2456 return new ShuffleVectorInst(X, NewSel, Mask); in foldVectorSelect()
2461 return new ShuffleVectorInst(NewSel, Y, Mask); in foldVectorSelect()
2466 cast<ShuffleVectorInst>(FVal)->isSelect()) { in foldVectorSelect()
2470 return new ShuffleVectorInst(X, NewSel, Mask); in foldVectorSelect()
2475 return new ShuffleVectorInst(NewSel, Y, Mask); in foldVectorSelect()
H A DInstructionCombining.cpp1559 cast<ShuffleVectorInst>(LHS)->isConcat() && in foldVectorBinop()
1560 cast<ShuffleVectorInst>(RHS)->isConcat()) { in foldVectorBinop()
1572 return new ShuffleVectorInst(NewBO0, NewBO1, Mask); in foldVectorBinop()
1585 return new ShuffleVectorInst(XY, UndefValue::get(XY->getType()), M); in foldVectorBinop()
1605 auto *LShuf = cast<ShuffleVectorInst>(LHS); in foldVectorBinop()
1606 auto *RShuf = cast<ShuffleVectorInst>(RHS); in foldVectorBinop()
1710 if (isa<ShuffleVectorInst>(RHS)) in foldVectorBinop()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/X86/
H A DX86InterleavedAccess.cpp55 ArrayRef<ShuffleVectorInst *> Shuffles;
110 ArrayRef<ShuffleVectorInst *> Shuffs, in X86InterleavedAccessGroup()
170 assert((isa<LoadInst>(VecInst) || isa<ShuffleVectorInst>(VecInst)) && in decompose()
180 if (auto *SVI = dyn_cast<ShuffleVectorInst>(VecInst)) { in decompose()
187 cast<ShuffleVectorInst>(Builder.CreateShuffleVector( in decompose()
811 LoadInst *LI, ArrayRef<ShuffleVectorInst *> Shuffles, in lowerInterleavedLoad()
828 ShuffleVectorInst *SVI, in lowerInterleavedStore()
844 ArrayRef<ShuffleVectorInst *> Shuffles = makeArrayRef(SVI); in lowerInterleavedStore()
H A DX86PartialReduction.cpp333 auto *Shuffle = dyn_cast<ShuffleVectorInst>(LHS); in matchAddReduction()
337 Shuffle = dyn_cast<ShuffleVectorInst>(RHS); in matchAddReduction()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/IR/
H A DInstructions.cpp1899 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *V2, Value *Mask, in ShuffleVectorInst() function in ShuffleVectorInst
1905 ShuffleVector, OperandTraits<ShuffleVectorInst>::op_begin(this), in ShuffleVectorInst()
1906 OperandTraits<ShuffleVectorInst>::operands(this), InsertBefore) { in ShuffleVectorInst()
1918 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *V2, Value *Mask, in ShuffleVectorInst() function in ShuffleVectorInst
1923 ShuffleVector, OperandTraits<ShuffleVectorInst>::op_begin(this), in ShuffleVectorInst()
1924 OperandTraits<ShuffleVectorInst>::operands(this), InsertAtEnd) { in ShuffleVectorInst()
1936 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *V2, ArrayRef<int> Mask, in ShuffleVectorInst() function in ShuffleVectorInst
1942 ShuffleVector, OperandTraits<ShuffleVectorInst>::op_begin(this), in ShuffleVectorInst()
1943 OperandTraits<ShuffleVectorInst>::operands(this), InsertBefore) { in ShuffleVectorInst()
1952 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *V2, ArrayRef<int> Mask, in ShuffleVectorInst() function in ShuffleVectorInst
[all …]
H A DInstruction.cpp462 if (const ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I1)) in haveSameSpecialState()
464 cast<ShuffleVectorInst>(I2)->getShuffleMask(); in haveSameSpecialState()
H A DConstantsContext.h191 assert(ShuffleVectorInst::isValidOperands(C1, C2, Mask) && in ShuffleVectorConstantExpr()
197 ShuffleVectorInst::convertShuffleMaskForBitcode(Mask, getType()); in ShuffleVectorConstantExpr()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Analysis/
H A DTargetTransformInfo.cpp672 if (const auto *ShuffleInst = dyn_cast<ShuffleVectorInst>(V)) in getOperandInfo()
1055 static bool matchPairwiseShuffleMask(ShuffleVectorInst *SI, bool IsLeft, in matchPairwiseShuffleMask()
1117 ShuffleVectorInst *LS = dyn_cast<ShuffleVectorInst>(RD->LHS); in matchPairwiseReductionAtLevel()
1120 ShuffleVectorInst *RS = dyn_cast<ShuffleVectorInst>(RD->RHS); in matchPairwiseReductionAtLevel()
1237 static std::pair<Value *, ShuffleVectorInst *>
1239 ShuffleVectorInst *S = nullptr; in getShuffleAndOtherOprd()
1241 if ((S = dyn_cast<ShuffleVectorInst>(L))) in getShuffleAndOtherOprd()
1244 S = dyn_cast<ShuffleVectorInst>(R); in getShuffleAndOtherOprd()
1298 ShuffleVectorInst *Shuffle; in matchVectorSplittingReduction()
H A DVectorUtils.cpp303 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(V); in findScalarElement()
377 if (auto *Shuf = dyn_cast<ShuffleVectorInst>(V)) { in isSplatValue()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/FuzzMutate/
H A DOperations.cpp302 return ShuffleVectorInst::isValidOperands(Cur[0], Cur[1], V); in validShuffleVectorIndex()
317 return new ShuffleVectorInst(Srcs[0], Srcs[1], Srcs[2], "S", Inst); in shuffleVectorDescriptor()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Bitcode/Writer/
H A DValueEnumerator.cpp190 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in orderModule()
322 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in predictUseListOrder()
464 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in ValueEnumerator()
1064 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in incorporateFunction()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/ARM/
H A DARMISelLowering.h444 Type* shouldConvertSplatType(ShuffleVectorInst* SVI) const override;
643 ArrayRef<ShuffleVectorInst *> Shuffles,
646 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
H A DMVELaneInterleavingPass.cpp257 if (cast<ShuffleVectorInst>(I)->isZeroEltSplat()) in tryInterleave()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/ExecutionEngine/Interpreter/
H A DInterpreter.h165 void visitShuffleVectorInst(ShuffleVectorInst &I);
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/
H A DAMDGPUPrintfRuntimeBinding.cpp477 ShuffleVectorInst *Shuffle = in lowerPrintfForGpu()
478 new ShuffleVectorInst(Arg, Arg, ArrayRef<int>{0, 1, 2, 2}); in lowerPrintfForGpu()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/
H A DFunctionComparator.cpp666 if (const ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(L)) { in cmpOperations()
668 ArrayRef<int> RMask = cast<ShuffleVectorInst>(R)->getShuffleMask(); in cmpOperations()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/
H A DRewriteStatepointsForGC.cpp463 if (isa<ShuffleVectorInst>(I)) in findBaseDefiningValueOfVector()
647 !isa<ShuffleVectorInst>(V); in isOriginalBaseResult()
823 isa<ShuffleVectorInst>(BDV); in findBasePointer()
854 } else if (auto *SV = dyn_cast<ShuffleVectorInst>(BDV)) { in findBasePointer()
1181 auto *BaseSV = cast<ShuffleVectorInst>(State.getBaseValue()); in findBasePointer()
1182 auto *BdvSV = cast<ShuffleVectorInst>(BDV); in findBasePointer()
H A DGVNSink.cpp361 if (ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I)) in InstructionUseExpr()
/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/IR/
H A DInstructions.h2000 class ShuffleVectorInst : public Instruction {
2008 ShuffleVectorInst *cloneImpl() const;
2011 ShuffleVectorInst(Value *V1, Value *V2, Value *Mask,
2014 ShuffleVectorInst(Value *V1, Value *V2, Value *Mask,
2016 ShuffleVectorInst(Value *V1, Value *V2, ArrayRef<int> Mask,
2019 ShuffleVectorInst(Value *V1, Value *V2, ArrayRef<int> Mask,
2320 struct OperandTraits<ShuffleVectorInst>
2321 : public FixedNumOperandTraits<ShuffleVectorInst, 2> {};
2323 DEFINE_TRANSPARENT_OPERAND_ACCESSORS(ShuffleVectorInst, Value)
H A DNoFolder.h304 return new ShuffleVectorInst(V1, V2, Mask); in CreateShuffleVector()
H A DInstVisitor.h194 RetTy visitShuffleVectorInst(ShuffleVectorInst &I) { DELEGATE(Instruction);} in visitShuffleVectorInst()
H A DInstruction.def216 HANDLE_OTHER_INST(63, ShuffleVector, ShuffleVectorInst) // shuffle two vectors.

123