/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombineVectorOps.cpp | 725 static bool isShuffleEquivalentToSelect(ShuffleVectorInst &Shuf) { argument 726 int MaskSize = Shuf.getMask()->getType()->getVectorNumElements(); 727 int VecSize = Shuf.getOperand(0)->getType()->getVectorNumElements(); 736 int Elt = Shuf.getMaskValue(i); 818 auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0)); local 819 if (!Shuf || !Shuf->isZeroEltSplat()) 829 Value *Op0 = Shuf->getOperand(0); 837 unsigned NumMaskElts = Shuf->getType()->getVectorNumElements(); 839 Type *I32Ty = IntegerType::getInt32Ty(Shuf 852 auto *Shuf = dyn_cast<ShuffleVectorInst>(InsElt.getOperand(0)); local 1455 foldSelectShuffleWith1Binop(ShuffleVectorInst &Shuf) argument 1511 canonicalizeInsertSplat(ShuffleVectorInst &Shuf, InstCombiner::BuilderTy &Builder) argument 1543 foldSelectShuffle(ShuffleVectorInst &Shuf, InstCombiner::BuilderTy &Builder, const DataLayout &DL) argument 1672 narrowVectorSelect(ShuffleVectorInst &Shuf, InstCombiner::BuilderTy &Builder) argument 1705 foldIdentityExtractShuffle(ShuffleVectorInst &Shuf) argument 1746 foldShuffleWithInsert(ShuffleVectorInst &Shuf) argument 1835 foldIdentityPaddedShuffles(ShuffleVectorInst &Shuf) argument [all...] |
H A D | InstCombineCasts.cpp | 640 auto *Shuf = dyn_cast<ShuffleVectorInst>(Trunc.getOperand(0)); local 641 if (Shuf && Shuf->hasOneUse() && isa<UndefValue>(Shuf->getOperand(1)) && 642 Shuf->getMask()->getSplatValue() && 643 Shuf->getType() == Shuf->getOperand(0)->getType()) { 646 Value *NarrowOp = Builder.CreateTrunc(Shuf->getOperand(0), Trunc.getType()); 647 return new ShuffleVectorInst(NarrowOp, NarrowUndef, Shuf->getMask()); 2506 if (auto *Shuf [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPULowerKernelArguments.cpp | 212 Value *Shuf = Builder.CreateShuffleVector(Load, UndefValue::get(V4Ty), local 215 Arg.replaceAllUsesWith(Shuf);
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | LoopUtils.cpp | 852 Value *Shuf = Builder.CreateShuffleVector( local 858 TmpVec = Builder.CreateBinOp((Instruction::BinaryOps)Op, TmpVec, Shuf, 863 TmpVec = createMinMaxOp(Builder, MinMaxKind, TmpVec, Shuf);
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
H A D | DAGCombiner.cpp | 16847 SDValue Shuf = DAG.getVectorShuffle(ShufVT, DL, DestVecBC, PaddedSubV, Mask); local 16850 AddToWorklist(Shuf.getNode()); 16851 return DAG.getBitcast(VT, Shuf); 16887 if (SDValue Shuf = combineInsertEltToShuffle(N, Elt)) 16888 return Shuf; 17162 auto *Shuf = cast<ShuffleVectorSDNode>(VecOp); local 17164 int OrigElt = Shuf->getMaskElt(IndexC->getZExtValue()); 17277 if (auto *Shuf = dyn_cast<ShuffleVectorSDNode>(VecOp)) { 17292 int Idx = (Elt > (int)NumElts) ? -1 : Shuf->getMaskElt(Elt); 17620 SDValue Shuf local 18672 foldShuffleOfConcatUndefs(ShuffleVectorSDNode *Shuf, SelectionDAG &DAG) argument 18995 combineShuffleOfSplatVal(ShuffleVectorSDNode *Shuf, SelectionDAG &DAG) argument 19073 replaceShuffleOfInsert(ShuffleVectorSDNode *Shuf, SelectionDAG &DAG) argument 19127 simplifyShuffleOfShuffle(ShuffleVectorSDNode *Shuf) argument [all...] |
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | ValueTracking.cpp | 2711 auto *Shuf = cast<ShuffleVectorInst>(U); local 2712 int NumElts = Shuf->getOperand(0)->getType()->getVectorNumElements(); 2713 int NumMaskElts = Shuf->getMask()->getType()->getVectorNumElements(); 2716 int M = Shuf->getMaskValue(i); 2729 Tmp = ComputeNumSignBits(Shuf->getOperand(0), Depth + 1, Q); 2731 Tmp2 = ComputeNumSignBits(Shuf->getOperand(1), Depth + 1, Q);
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
H A D | LoopVectorize.cpp | 1680 Value *Shuf = Builder.CreateVectorSplat(VF, V, "broadcast"); 1682 return Shuf;
|
/freebsd-11-stable/contrib/llvm-project/llvm/lib/Target/X86/ |
H A D | X86ISelLowering.cpp | 12679 SDValue Shuf = DAG.getVectorShuffle(WideVT, DL, WideVec, DAG.getUNDEF(WideVT), 12682 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, VT, Shuf, 19623 if (auto *Shuf = dyn_cast<ShuffleVectorSDNode>(In)) 19624 if (hasIdenticalHalvesShuffleMask(Shuf->getMask())) 21726 SDValue Shuf = DAG.getVectorShuffle(MVT::v4i32, dl, Result, Result, Mask); 21727 Result = DAG.getNode(ISD::AND, dl, MVT::v4i32, Result, Shuf); [all...] |