Home
last modified time | relevance | path

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

123

/netbsd/external/apache2/llvm/dist/llvm/lib/CodeGen/
H A DInterleavedAccessPass.cpp121 ArrayRef<ShuffleVectorInst *> Shuffles);
128 bool replaceBinOpShuffles(ArrayRef<ShuffleVectorInst *> BinOpShuffles,
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()
408 auto *NewSVI2 = new ShuffleVectorInst( in replaceBinOpShuffles()
429 ArrayRef<ShuffleVectorInst *> Shuffles) { in tryReplaceExtracts()
[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/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()
1122 return new ShuffleVectorInst(FirstIE, UndefVec, Mask); in foldInsSequenceIntoSplat()
1295 return new ShuffleVectorInst(Shuf->getOperand(0), in foldConstantInsEltIntoShuffle()
1336 return new ShuffleVectorInst(IEI->getOperand(0), in foldConstantInsEltIntoShuffle()
1876 return new ShuffleVectorInst(NewIns, UndefVec, NewMask); in canonicalizeInsertSplat()
2129 return new ShuffleVectorInst(X, Y, NewMask); in foldIdentityExtractShuffle()
2214 ShuffleVectorInst::commuteShuffleMask(Mask, NumElts); in foldShuffleWithInsert()
2284 return new ShuffleVectorInst(X, Y, NewMask); in foldIdentityPaddedShuffles()
2540 ShuffleVectorInst* LHSShuffle = dyn_cast<ShuffleVectorInst>(LHS); in visitShuffleVectorInst()
[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/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/external/apache2/llvm/dist/llvm/lib/IR/
H A DInstructions.cpp1899 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *V2, Value *Mask, in ShuffleVectorInst() function in ShuffleVectorInst
1918 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *V2, Value *Mask, in ShuffleVectorInst() function in ShuffleVectorInst
1936 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *V2, ArrayRef<int> Mask, in ShuffleVectorInst() function in ShuffleVectorInst
1952 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *V2, ArrayRef<int> Mask, in ShuffleVectorInst() function in ShuffleVectorInst
1968 void ShuffleVectorInst::commute() { in commute()
2148 bool ShuffleVectorInst::isReverseMask(ArrayRef<int> Mask) { in isReverseMask()
2172 bool ShuffleVectorInst::isSelectMask(ArrayRef<int> Mask) { in isSelectMask()
2248 bool ShuffleVectorInst::isIdentityWithPadding() const { in isIdentityWithPadding()
2275 bool ShuffleVectorInst::isIdentityWithExtract() const { in isIdentityWithExtract()
2292 bool ShuffleVectorInst::isConcat() const { in isConcat()
[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/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/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/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/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/external/apache2/llvm/dist/llvm/lib/ExecutionEngine/Interpreter/
H A DInterpreter.h165 void visitShuffleVectorInst(ShuffleVectorInst &I);
/netbsd/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/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/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/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()
/netbsd/external/apache2/llvm/dist/llvm/lib/Target/AArch64/
H A DAArch64PromoteConstant.cpp276 if (isa<const ShuffleVectorInst>(Instr) && OpIdx == 2) in shouldConvertUse()

123