/netbsd/external/apache2/llvm/dist/llvm/lib/CodeGen/ |
H A D | InterleavedAccessPass.cpp | 121 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 D | InterleavedLoadCombinePass.cpp | 670 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 D | InstCombineVectorOps.cpp | 290 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 D | InstCombineSelect.cpp | 2007 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 D | InstructionCombining.cpp | 1559 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 D | X86InterleavedAccess.cpp | 55 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 D | X86PartialReduction.cpp | 333 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 D | Instructions.cpp | 1899 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 D | Instruction.cpp | 462 if (const ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I1)) in haveSameSpecialState() 464 cast<ShuffleVectorInst>(I2)->getShuffleMask(); in haveSameSpecialState()
|
H A D | ConstantsContext.h | 191 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 D | TargetTransformInfo.cpp | 672 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 D | VectorUtils.cpp | 303 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 D | Operations.cpp | 302 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 D | ValueEnumerator.cpp | 190 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 D | ARMISelLowering.h | 444 Type* shouldConvertSplatType(ShuffleVectorInst* SVI) const override; 643 ArrayRef<ShuffleVectorInst *> Shuffles, 646 bool lowerInterleavedStore(StoreInst *SI, ShuffleVectorInst *SVI,
|
H A D | MVELaneInterleavingPass.cpp | 257 if (cast<ShuffleVectorInst>(I)->isZeroEltSplat()) in tryInterleave()
|
/netbsd/external/apache2/llvm/dist/llvm/lib/ExecutionEngine/Interpreter/ |
H A D | Interpreter.h | 165 void visitShuffleVectorInst(ShuffleVectorInst &I);
|
/netbsd/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPUPrintfRuntimeBinding.cpp | 477 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 D | FunctionComparator.cpp | 666 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 D | RewriteStatepointsForGC.cpp | 463 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 D | GVNSink.cpp | 361 if (ShuffleVectorInst *SVI = dyn_cast<ShuffleVectorInst>(I)) in InstructionUseExpr()
|
/netbsd/external/apache2/llvm/dist/llvm/include/llvm/IR/ |
H A D | Instructions.h | 2000 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 D | NoFolder.h | 304 return new ShuffleVectorInst(V1, V2, Mask); in CreateShuffleVector()
|
H A D | InstVisitor.h | 194 RetTy visitShuffleVectorInst(ShuffleVectorInst &I) { DELEGATE(Instruction);} in visitShuffleVectorInst()
|
/netbsd/external/apache2/llvm/dist/llvm/lib/Target/AArch64/ |
H A D | AArch64PromoteConstant.cpp | 276 if (isa<const ShuffleVectorInst>(Instr) && OpIdx == 2) in shouldConvertUse()
|