/netbsd-current/external/apache2/llvm/dist/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombineVectorOps.cpp | 1026 static bool isShuffleEquivalentToSelect(ShuffleVectorInst &Shuf) { argument 1029 if (isa<ScalableVectorType>(Shuf.getOperand(0)->getType())) 1032 int MaskSize = Shuf.getShuffleMask().size(); 1034 cast<FixedVectorType>(Shuf.getOperand(0)->getType())->getNumElements(); 1043 int Elt = Shuf.getMaskValue(i); 1129 auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0)); local 1130 if (!Shuf || !Shuf->isZeroEltSplat()) 1135 if (isa<ScalableVectorType>(Shuf->getType())) 1145 Value *Op0 = Shuf 1166 auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0)); local 1791 foldSelectShuffleWith1Binop(ShuffleVectorInst &Shuf) argument 1847 canonicalizeInsertSplat(ShuffleVectorInst &Shuf, InstCombiner::BuilderTy &Builder) argument 1880 foldSelectShuffle(ShuffleVectorInst &Shuf, InstCombiner::BuilderTy &Builder, const DataLayout &DL) argument 2010 foldTruncShuffle(ShuffleVectorInst &Shuf, bool IsBigEndian) argument 2051 narrowVectorSelect(ShuffleVectorInst &Shuf, InstCombiner::BuilderTy &Builder) argument 2084 foldIdentityExtractShuffle(ShuffleVectorInst &Shuf) argument 2221 foldIdentityPaddedShuffles(ShuffleVectorInst &Shuf) argument [all...] |
H A D | InstCombineNegator.cpp | 312 auto *Shuf = cast<ShuffleVectorInst>(I); local 319 return Builder.CreateShuffleVector(NegOp0, NegOp1, Shuf->getShuffleMask(),
|
H A D | InstCombineCasts.cpp | 682 auto *Shuf = dyn_cast<ShuffleVectorInst>(Trunc.getOperand(0)); local 683 if (Shuf && Shuf->hasOneUse() && match(Shuf->getOperand(1), m_Undef()) && 684 is_splat(Shuf->getShuffleMask()) && 685 Shuf->getType() == Shuf->getOperand(0)->getType()) { 688 Value *NarrowOp = Builder.CreateTrunc(Shuf->getOperand(0), Trunc.getType()); 689 return new ShuffleVectorInst(NarrowOp, NarrowUndef, Shuf->getShuffleMask()); 2671 if (auto *Shuf [all...] |
/netbsd-current/external/apache2/llvm/dist/llvm/lib/Target/ARM/ |
H A D | MVELaneInterleavingPass.cpp | 361 Value *Shuf = Builder.CreateShuffleVector(I, TruncMask); local 362 I->replaceAllUsesWith(Shuf); 363 cast<Instruction>(Shuf)->setOperand(0, I); 365 LLVM_DEBUG(dbgs() << " with " << *Shuf << "\n");
|
/netbsd-current/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPULowerKernelArguments.cpp | 225 Value *Shuf = Builder.CreateShuffleVector(Load, ArrayRef<int>{0, 1, 2}, local 227 Arg.replaceAllUsesWith(Shuf);
|
/netbsd-current/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/ |
H A D | VectorCombine.cpp | 398 Value *Shuf = createShiftShuffle(X, cast<ConstantInt>(C)->getZExtValue(), 400 return cast<ExtractElementInst>(Builder.CreateExtractElement(Shuf, NewIndex)); 554 Value *Shuf = Builder.CreateShuffleVector(CastV, NewMask); local 555 replaceValue(I, *Shuf); 754 Value *Shuf = createShiftShuffle(VCmp, ExpensiveIndex, CheapIndex, Builder); local 756 VCmp, Shuf);
|
H A D | LoopVectorize.cpp | 2251 Value *Shuf = Builder.CreateVectorSplat(VF, V, "broadcast"); 2253 return Shuf;
|
/netbsd-current/external/apache2/llvm/dist/llvm/lib/Analysis/ |
H A D | VectorUtils.cpp | 377 if (auto *Shuf = dyn_cast<ShuffleVectorInst>(V)) { 380 if (!is_splat(Shuf->getShuffleMask())) 389 return Shuf->getMaskValue(Index) == Index;
|
H A D | ValueTracking.cpp | 156 static bool getShuffleDemandedElts(const ShuffleVectorInst *Shuf, argument 161 if (isa<ScalableVectorType>(Shuf->getType())) 165 cast<FixedVectorType>(Shuf->getOperand(0)->getType())->getNumElements(); 166 int NumMaskElts = cast<FixedVectorType>(Shuf->getType())->getNumElements(); 171 if (all_of(Shuf->getShuffleMask(), [](int Elt) { return Elt == 0; })) { 178 int M = Shuf->getMaskValue(i); 1654 auto *Shuf = dyn_cast<ShuffleVectorInst>(I); local 1656 if (!Shuf) { 1663 if (!getShuffleDemandedElts(Shuf, DemandedElts, DemandedLHS, DemandedRHS)) { 1670 const Value *LHS = Shuf 3102 auto *Shuf = dyn_cast<ShuffleVectorInst>(U); local [all...] |
/netbsd-current/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/ |
H A D | LoopUtils.cpp | 996 Value *Shuf = Builder.CreateShuffleVector(TmpVec, ShuffleMask, "rdx.shuf"); local 1000 TmpVec = Builder.CreateBinOp((Instruction::BinaryOps)Op, TmpVec, Shuf, 1005 TmpVec = createMinMaxOp(Builder, RdxKind, TmpVec, Shuf);
|
/netbsd-current/external/apache2/llvm/dist/llvm/lib/IR/ |
H A D | Constants.cpp | 1710 const auto *Shuf = dyn_cast<ConstantExpr>(this); 1711 if (Shuf && Shuf->getOpcode() == Instruction::ShuffleVector && 1712 isa<UndefValue>(Shuf->getOperand(1))) { 1714 const auto *IElt = dyn_cast<ConstantExpr>(Shuf->getOperand(0)); 1718 ArrayRef<int> Mask = Shuf->getShuffleMask();
|
/netbsd-current/external/apache2/llvm/dist/llvm/lib/CodeGen/SelectionDAG/ |
H A D | DAGCombiner.cpp | 18276 SDValue Shuf = DAG.getVectorShuffle(ShufVT, DL, DestVecBC, PaddedSubV, Mask); local 18279 AddToWorklist(Shuf.getNode()); 18280 return DAG.getBitcast(VT, Shuf); 18324 if (SDValue Shuf = combineInsertEltToShuffle(N, Elt)) 18325 return Shuf; 18625 auto *Shuf = cast<ShuffleVectorSDNode>(VecOp); local 18627 int OrigElt = Shuf->getMaskElt(IndexC->getZExtValue()); 18747 if (auto *Shuf = dyn_cast<ShuffleVectorSDNode>(VecOp)) { 18762 int Idx = (Elt > (int)NumElts) ? -1 : Shuf->getMaskElt(Elt); 19199 SDValue Shuf local 20357 foldShuffleOfConcatUndefs(ShuffleVectorSDNode *Shuf, SelectionDAG &DAG) argument 20680 combineShuffleOfSplatVal(ShuffleVectorSDNode *Shuf, SelectionDAG &DAG) argument 20809 replaceShuffleOfInsert(ShuffleVectorSDNode *Shuf, SelectionDAG &DAG) argument 20862 simplifyShuffleOfShuffle(ShuffleVectorSDNode *Shuf) argument [all...] |
/netbsd-current/external/apache2/llvm/dist/llvm/lib/Target/X86/ |
H A D | X86ISelLowering.cpp | 13620 SDValue Shuf = DAG.getVectorShuffle(WideVT, DL, WideVec, DAG.getUNDEF(WideVT), 13623 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, VT, Shuf, 20786 if (auto *Shuf = dyn_cast<ShuffleVectorSDNode>(In)) 20787 if (hasIdenticalHalvesShuffleMask(Shuf->getMask())) 23289 SDValue Shuf = DAG.getVectorShuffle(MVT::v4i32, dl, Result, Result, Mask); 23290 Result = DAG.getNode(ISD::AND, dl, MVT::v4i32, Result, Shuf); [all...] |
/netbsd-current/external/apache2/llvm/dist/llvm/lib/Target/SystemZ/ |
H A D | SystemZISelLowering.cpp | 5307 SDValue Shuf = DAG.getVectorShuffle(InVT, DL, PackedOp, ZeroVec, Mask); 5308 return DAG.getNode(ISD::BITCAST, DL, OutVT, Shuf);
|