| /netbsd-src/external/apache2/llvm/dist/llvm/lib/CodeGen/ |
| H A D | InterleavedAccessPass.cpp | 121 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 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-src/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() 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 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-src/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-src/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 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 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-src/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-src/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-src/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-src/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-src/external/apache2/llvm/dist/llvm/lib/ExecutionEngine/Interpreter/ |
| H A D | Interpreter.h | 165 void visitShuffleVectorInst(ShuffleVectorInst &I);
|
| /netbsd-src/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-src/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-src/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-src/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()
|
| H A D | Instruction.def | 216 HANDLE_OTHER_INST(63, ShuffleVector, ShuffleVectorInst) // shuffle two vectors.
|