Home
last modified time | relevance | path

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

123

/freebsd-13.1/contrib/llvm-project/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.cpp671 ShuffleVectorInst *SVI;
714 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(V); in compute()
787 static bool computeFromSVI(ShuffleVectorInst *SVI, VectorInfo &Result, in computeFromSVI()
1270 if (auto SVI = dyn_cast<ShuffleVectorInst>(&I)) { in run()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineVectorOps.cpp290 ShuffleVectorInst *Shuffle = cast<ShuffleVectorInst>(UserInstr); in findDemandedEltsBySingleUser()
494 } else if (auto *SVI = dyn_cast<ShuffleVectorInst>(I)) { in visitExtractElementInst()
1182 return new ShuffleVectorInst(FirstIE, PoisonVec, Mask); in foldInsSequenceIntoSplat()
1355 return new ShuffleVectorInst(Shuf->getOperand(0), in foldConstantInsEltIntoShuffle()
1396 return new ShuffleVectorInst(IEI->getOperand(0), in foldConstantInsEltIntoShuffle()
1936 return new ShuffleVectorInst(NewIns, UndefVec, NewMask); in canonicalizeInsertSplat()
2189 return new ShuffleVectorInst(X, Y, NewMask); in foldIdentityExtractShuffle()
2274 ShuffleVectorInst::commuteShuffleMask(Mask, NumElts); in foldShuffleWithInsert()
2344 return new ShuffleVectorInst(X, Y, NewMask); in foldIdentityPaddedShuffles()
2600 ShuffleVectorInst* LHSShuffle = dyn_cast<ShuffleVectorInst>(LHS); in visitShuffleVectorInst()
[all …]
H A DInstCombineCasts.cpp336 return new ShuffleVectorInst(CastX, UndefValue::get(DestTy), Mask); in commonCastTransforms()
700 auto *Shuf = dyn_cast<ShuffleVectorInst>(Trunc.getOperand(0)); in shrinkSplatShuffle()
707 return new ShuffleVectorInst(NarrowOp, NarrowUndef, Shuf->getShuffleMask()); in shrinkSplatShuffle()
2165 return new ShuffleVectorInst(InVal, V2, ShuffleMask); in optimizeVectorResizeWithIntegerBitCasts()
2741 if (auto *Shuf = dyn_cast<ShuffleVectorInst>(Src)) { in visitBitCast()
2763 return new ShuffleVectorInst(LHS, RHS, Shuf->getShuffleMask()); in visitBitCast()
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()
/freebsd-13.1/contrib/llvm-project/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()
/freebsd-13.1/contrib/llvm-project/llvm/lib/IR/
H A DInstructions.cpp1912 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *V2, Value *Mask, in ShuffleVectorInst() function in ShuffleVectorInst
1931 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *V2, Value *Mask, in ShuffleVectorInst() function in ShuffleVectorInst
1949 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *V2, ArrayRef<int> Mask, in ShuffleVectorInst() function in ShuffleVectorInst
1965 ShuffleVectorInst::ShuffleVectorInst(Value *V1, Value *V2, ArrayRef<int> Mask, in ShuffleVectorInst() function in ShuffleVectorInst
1981 void ShuffleVectorInst::commute() { in commute()
2162 bool ShuffleVectorInst::isReverseMask(ArrayRef<int> Mask) { in isReverseMask()
2186 bool ShuffleVectorInst::isSelectMask(ArrayRef<int> Mask) { in isSelectMask()
2262 bool ShuffleVectorInst::isIdentityWithPadding() const { in isIdentityWithPadding()
2289 bool ShuffleVectorInst::isIdentityWithExtract() const { in isIdentityWithExtract()
2306 bool ShuffleVectorInst::isConcat() const { in isConcat()
[all …]
H A DInstruction.cpp483 if (const ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I1)) in haveSameSpecialState()
485 cast<ShuffleVectorInst>(I2)->getShuffleMask(); in haveSameSpecialState()
H A DConstantsContext.h186 assert(ShuffleVectorInst::isValidOperands(C1, C2, Mask) && in ShuffleVectorConstantExpr()
192 ShuffleVectorInst::convertShuffleMaskForBitcode(Mask, getType()); in ShuffleVectorConstantExpr()
/freebsd-13.1/contrib/llvm-project/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()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Bitcode/Writer/
H A DValueEnumerator.cpp191 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in orderModule()
323 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in predictUseListOrder()
470 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in ValueEnumerator()
1084 if (auto *SVI = dyn_cast<ShuffleVectorInst>(&I)) in incorporateFunction()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMISelLowering.h457 Type* shouldConvertSplatType(ShuffleVectorInst* SVI) const override;
658 ArrayRef<ShuffleVectorInst *> Shuffles,
661 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
H A DMVELaneInterleavingPass.cpp257 if (cast<ShuffleVectorInst>(I)->isZeroEltSplat()) in tryInterleave()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUPrintfRuntimeBinding.cpp471 ShuffleVectorInst *Shuffle = in lowerPrintfForGpu()
472 new ShuffleVectorInst(Arg, Arg, ArrayRef<int>{0, 1, 2, 2}); in lowerPrintfForGpu()
/freebsd-13.1/contrib/llvm-project/llvm/lib/ExecutionEngine/Interpreter/
H A DInterpreter.h165 void visitShuffleVectorInst(ShuffleVectorInst &I);
/freebsd-13.1/contrib/llvm-project/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()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Analysis/
H A DVectorUtils.cpp313 ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(V); in findScalarElement()
387 if (auto *Shuf = dyn_cast<ShuffleVectorInst>(V)) { in isSplatValue()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DRewriteStatepointsForGC.cpp463 if (isa<ShuffleVectorInst>(I)) in findBaseDefiningValueOfVector()
662 !isa<ShuffleVectorInst>(V); in isOriginalBaseResult()
838 isa<ShuffleVectorInst>(BDV); in findBasePointer()
869 } else if (auto *SV = dyn_cast<ShuffleVectorInst>(BDV)) { in findBasePointer()
1196 auto *BaseSV = cast<ShuffleVectorInst>(State.getBaseValue()); in findBasePointer()
1197 auto *BdvSV = cast<ShuffleVectorInst>(BDV); in findBasePointer()
H A DGVNSink.cpp361 if (ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I)) in InstructionUseExpr()
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/IR/
H A DInstVisitor.h194 RetTy visitShuffleVectorInst(ShuffleVectorInst &I) { DELEGATE(Instruction);} in visitShuffleVectorInst()
H A DNoFolder.h304 return new ShuffleVectorInst(V1, V2, Mask); in CreateShuffleVector()
H A DInstructions.h2011 class ShuffleVectorInst : public Instruction {
2019 ShuffleVectorInst *cloneImpl() const;
2022 ShuffleVectorInst(Value *V1, Value *V2, Value *Mask,
2025 ShuffleVectorInst(Value *V1, Value *V2, Value *Mask,
2027 ShuffleVectorInst(Value *V1, Value *V2, ArrayRef<int> Mask,
2030 ShuffleVectorInst(Value *V1, Value *V2, ArrayRef<int> Mask,
2332 struct OperandTraits<ShuffleVectorInst>
2333 : public FixedNumOperandTraits<ShuffleVectorInst, 2> {};
2335 DEFINE_TRANSPARENT_OPERAND_ACCESSORS(ShuffleVectorInst, Value)
H A DInstruction.def216 HANDLE_OTHER_INST(63, ShuffleVector, ShuffleVectorInst) // shuffle two vectors.
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64PromoteConstant.cpp276 if (isa<const ShuffleVectorInst>(Instr) && OpIdx == 2) in shouldConvertUse()

123