| /freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPUImageIntrinsicOptimizer.cpp | 252 Value *VecOp = nullptr; in optimizeSection() local 256 VecOp = B.CreateExtractElement(NewCalls[0], Idx->getValue().urem(4)); in optimizeSection() 257 LLVM_DEBUG(dbgs() << "Add: " << *VecOp << "\n"); in optimizeSection() 259 VecOp = PoisonValue::get(II->getType()); in optimizeSection() 261 VecOp = B.CreateInsertElement( in optimizeSection() 262 VecOp, in optimizeSection() 264 LLVM_DEBUG(dbgs() << "Add: " << *VecOp << "\n"); in optimizeSection() 269 II->replaceAllUsesWith(VecOp); in optimizeSection() 270 VecOp->takeName(II); in optimizeSection()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/ |
| H A D | BottomUpVec.cpp | 197 Value *BottomUpVec::createShuffle(Value *VecOp, const ShuffleMask &Mask, in createShuffle() argument 199 BasicBlock::iterator WhereIt = getInsertPointAfterInstrs({VecOp}, UserBB); in createShuffle() 200 return ShuffleVectorInst::create(VecOp, VecOp, Mask, WhereIt, in createShuffle() 201 VecOp->getContext(), "VShuf"); in createShuffle() 369 auto *VecOp = OpA->Vec; in emitVectors() local 370 VecOperands.push_back(VecOp); in emitVectors() 386 auto *VecOp = cast<DiamondReuseWithShuffle>(LegalityRes).getVector()->Vec; in emitVectors() local 389 NewVec = createShuffle(VecOp, Mask, UserBB); in emitVectors() 390 assert(NewVec->getType() == VecOp->getType() && in emitVectors() 414 Value *VecOp = nullptr; in emitVectors() local [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/SandboxVectorizer/ |
| H A D | Legality.cpp | 197 if (auto *VecOp = IMaps.getVectorForOrig(V)) { in getHowToCollectValues() local 199 std::optional<int> ExtractIdxOpt = IMaps.getOrigLane(VecOp, V); in getHowToCollectValues() 203 Vec.emplace_back(VecOp, ExtractIdxOpt ? *ExtractIdxOpt + Ln : -1); in getHowToCollectValues()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
| H A D | InstCombineVectorOps.cpp | 658 Value *VecOp = IEI->getOperand(0); in collectSingleShuffleElements() local 669 if (collectSingleShuffleElements(VecOp, LHS, RHS, Mask)) { in collectSingleShuffleElements() 685 if (collectSingleShuffleElements(VecOp, LHS, RHS, Mask)) { in collectSingleShuffleElements() 812 Value *VecOp = IEI->getOperand(0); in collectShuffleElements() local 826 ShuffleOps LR = collectShuffleElements(VecOp, Mask, RHS, IC, Rerun); in collectShuffleElements() 848 if (VecOp == PermittedRHS) { in collectShuffleElements() 1624 Value *VecOp = InsElt.getOperand(0); in foldTruncInsEltPair() local 1643 !match(VecOp, m_InsertElt(m_Value(BaseVec), m_Value(Scalar0), in foldTruncInsEltPair() 1685 Value *VecOp = IE.getOperand(0); in visitInsertElementInst() local 1690 VecOp, ScalarOp, IdxOp, SQ.getWithInstruction(&IE))) in visitInsertElementInst() [all …]
|
| H A D | InstCombineCasts.cpp | 475 Value *VecOp; in foldVecExtTruncToExtElt() local 478 if (!match(Src, m_OneUse(m_ExtractElt(m_Value(VecOp), m_ConstantInt(Cst)))) && in foldVecExtTruncToExtElt() 480 m_OneUse(m_LShr(m_ExtractElt(m_Value(VecOp), m_ConstantInt(Cst)), in foldVecExtTruncToExtElt() 484 auto *VecOpTy = cast<VectorType>(VecOp->getType()); in foldVecExtTruncToExtElt() 510 Value *BitCast = IC.Builder.CreateBitCast(VecOp, BitCastTo); in foldVecExtTruncToExtElt() 738 Value *VecOp = InsElt->getOperand(0); in shrinkInsertElt() local 742 if (match(VecOp, m_Undef())) { in shrinkInsertElt() 2412 Value *VecOp, *Index; in canonicalizeBitCastExtElt() local 2414 m_OneUse(m_ExtractElt(m_Value(VecOp), m_Value(Index))))) in canonicalizeBitCastExtElt() 2420 VectorType *VecType = cast<VectorType>(VecOp->getType()); in canonicalizeBitCastExtElt() [all …]
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/ |
| H A D | BottomUpVec.h | 53 Value *createShuffle(Value *VecOp, const ShuffleMask &Mask,
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
| H A D | LegalizeVectorTypes.cpp | 1077 SDValue VecOp = N->getOperand(1); in ScalarizeVecOp_VECREDUCE_SEQ() local 1081 SDValue Op = GetScalarizedVector(VecOp); in ScalarizeVecOp_VECREDUCE_SEQ() 3629 SDValue VecOp = N->getOperand(OpNo); in SplitVecOp_VECREDUCE() local 3630 EVT VecVT = VecOp.getValueType(); in SplitVecOp_VECREDUCE() 3632 GetSplitVector(VecOp, Lo, Hi); in SplitVecOp_VECREDUCE() 3649 SDValue VecOp = N->getOperand(1); in SplitVecOp_VECREDUCE_SEQ() local 3652 EVT VecVT = VecOp.getValueType(); in SplitVecOp_VECREDUCE_SEQ() 3654 GetSplitVector(VecOp, Lo, Hi); in SplitVecOp_VECREDUCE_SEQ() 3674 SDValue VecOp = N->getOperand(OpNo); in SplitVecOp_VP_REDUCE() local 3675 EVT VecVT = VecOp.getValueType(); in SplitVecOp_VP_REDUCE() [all …]
|
| H A D | DAGCombiner.cpp | 23440 SDValue VecOp = N->getOperand(0); in refineExtractVectorEltIntoMultipleNarrowExtractVectorElts() local 23441 EVT VecVT = VecOp.getValueType(); in refineExtractVectorEltIntoMultipleNarrowExtractVectorElts() 23567 SDValue NewVecOp = DAG.getBitcast(NewVecVT, VecOp); in refineExtractVectorEltIntoMultipleNarrowExtractVectorElts() 23582 SDValue VecOp = N->getOperand(0); in visitEXTRACT_VECTOR_ELT() local 23585 EVT VecVT = VecOp.getValueType(); in visitEXTRACT_VECTOR_ELT() 23586 if (VecOp.isUndef()) in visitEXTRACT_VECTOR_ELT() 23594 if (VecOp.getOpcode() == ISD::INSERT_VECTOR_ELT && in visitEXTRACT_VECTOR_ELT() 23595 Index == VecOp.getOperand(2)) { in visitEXTRACT_VECTOR_ELT() 23596 SDValue Elt = VecOp.getOperand(1); in visitEXTRACT_VECTOR_ELT() 23597 AddUsersToWorklist(VecOp.getNode()); in visitEXTRACT_VECTOR_ELT() [all …]
|
| H A D | TargetLowering.cpp | 11587 SDValue VecOp = Node->getOperand(1); in expandVecReduceSeq() local 11590 EVT VT = VecOp.getValueType(); in expandVecReduceSeq() 11600 DAG.ExtractVectorElements(VecOp, Ops, 0, NumElts); in expandVecReduceSeq()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyISelLowering.h | 51 bool shouldScalarizeBinop(SDValue VecOp) const override;
|
| H A D | WebAssemblyISelLowering.cpp | 459 bool WebAssemblyTargetLowering::shouldScalarizeBinop(SDValue VecOp) const { in shouldScalarizeBinop() 461 unsigned Opc = VecOp.getOpcode(); in shouldScalarizeBinop() 469 EVT VecVT = VecOp.getValueType(); in shouldScalarizeBinop()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
| H A D | VPlanTransforms.cpp | 2866 VPValue *VecOp = Red->getVecOp(); in tryToMatchAndCreateExtendedReduction() local 2879 cast<VPWidenCastRecipe>(VecOp)->computeCost(VF, Ctx); in tryToMatchAndCreateExtendedReduction() 2888 if (match(VecOp, m_ZExtOrSExt(m_VPValue(A))) && in tryToMatchAndCreateExtendedReduction() 2891 cast<VPWidenCastRecipe>(VecOp)->getOpcode() == in tryToMatchAndCreateExtendedReduction() 2894 return new VPExpressionRecipe(cast<VPWidenCastRecipe>(VecOp), Red); in tryToMatchAndCreateExtendedReduction() 2946 VPValue *VecOp = Red->getVecOp(); in tryToMatchAndCreateMulAccumulateReduction() local 2949 if (match(VecOp, m_Mul(m_VPValue(A), m_VPValue(B)))) { in tryToMatchAndCreateMulAccumulateReduction() 2954 auto *Mul = cast<VPWidenRecipe>(VecOp->getDefiningRecipe()); in tryToMatchAndCreateMulAccumulateReduction() 2973 if (match(VecOp, m_ZExtOrSExt(m_Mul(m_ZExtOrSExt(m_VPValue()), in tryToMatchAndCreateMulAccumulateReduction() 2975 auto *Ext = cast<VPWidenCastRecipe>(VecOp->getDefiningRecipe()); in tryToMatchAndCreateMulAccumulateReduction()
|
| H A D | VPlanRecipes.cpp | 1884 if (auto *VecOp = dyn_cast<Instruction>(V)) { in execute() local 1885 applyFlags(*VecOp); in execute() 1886 applyMetadata(*VecOp); in execute() 2545 Value *VecOp = State.get(getVecOp()); in execute() local 2556 NewRed = createOrderedReduction(Builder, Kind, VecOp, Prev, Mask, EVL); in execute() 2558 NewRed = createSimpleReduction(Builder, VecOp, Kind, Mask, EVL); in execute()
|
| H A D | VPlan.h | 2487 VPValue *ChainOp, VPValue *VecOp, VPValue *CondOp, 2490 ArrayRef<VPValue *>({ChainOp, VecOp}), CondOp, 2494 VPValue *ChainOp, VPValue *VecOp, VPValue *CondOp, 2497 ArrayRef<VPValue *>({ChainOp, VecOp}), CondOp,
|
| H A D | SLPVectorizer.cpp | 7646 const TreeEntry *VecOp = in reorderBottomToTop() local 7648 if (VecOp) in reorderBottomToTop() 7649 Op = VecOp; in reorderBottomToTop() 16616 Value *VecOp = in adjustExtracts() local 16618 if (ArrayRef<TreeEntry *> TEs = R.getTreeEntries(VecOp); in adjustExtracts() 16620 VecOp = TEs.front()->VectorizedValue; in adjustExtracts() 16621 assert(VecOp && "Expected vectorized value."); in adjustExtracts() 16623 cast<FixedVectorType>(VecOp->getType())->getNumElements(); in adjustExtracts() 16629 Value *VecOp = cast<ExtractElementInst>(V)->getVectorOperand(); in adjustExtracts() local 16630 if (ArrayRef<TreeEntry *> TEs = R.getTreeEntries(VecOp); !TEs.empty()) in adjustExtracts() [all …]
|
| H A D | LoopVectorize.cpp | 9039 VPValue *VecOp; in adjustRecipesForReductions() local 9059 VecOp = FMulRecipe; in adjustRecipesForReductions() 9081 VecOp = CurrentLink->getOperand(VecOpId); in adjustRecipesForReductions() 9082 assert(VecOp != PreviousLink && in adjustRecipesForReductions() 9101 Kind, FMFs, CurrentLinkI, PreviousLink, VecOp, CondOp, in adjustRecipesForReductions()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LoopUtils.cpp | 1376 auto *VecOp = dyn_cast<Instruction>(I); in propagateIRFlags() local 1377 if (!VecOp) in propagateIRFlags() 1384 VecOp->copyIRFlags(Intersection, IncludeWrapFlags); in propagateIRFlags() 1390 VecOp->andIRFlags(V); in propagateIRFlags()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
| H A D | AArch64ISelLowering.h | 878 bool shouldScalarizeBinop(SDValue VecOp) const override { in shouldScalarizeBinop() argument 879 return VecOp.getOpcode() == ISD::SETCC; in shouldScalarizeBinop()
|
| H A D | AArch64ISelLowering.cpp | 15935 SDValue VecOp = ScalarOp.getOperand(0); in getReductionSDNode() local 15936 auto Rdx = DAG.getNode(Op, DL, VecOp.getSimpleValueType(), VecOp); in getReductionSDNode() 23886 SDValue VecOp = Store->getValue(); in combineBoolVectorAndTruncateStore() local 23887 EVT VT = VecOp.getValueType(); in combineBoolVectorAndTruncateStore() 23896 if (VecOp.getOpcode() == ISD::BUILD_VECTOR) in combineBoolVectorAndTruncateStore() 23899 VecOp = DAG.getNode(ISD::TRUNCATE, DL, MemVT, VecOp); in combineBoolVectorAndTruncateStore() 23900 SDValue VectorBits = vectorToScalarBitmask(VecOp.getNode(), DAG); in combineBoolVectorAndTruncateStore() 29259 SDValue VecOp = ScalarOp.getOperand(1); in LowerVECREDUCE_SEQ_FADD() local 29260 EVT SrcVT = VecOp.getValueType(); in LowerVECREDUCE_SEQ_FADD() 29266 VecOp = convertToScalableVector(DAG, ContainerVT, VecOp); in LowerVECREDUCE_SEQ_FADD() [all …]
|
| H A D | AArch64TargetTransformInfo.cpp | 2201 Value *VecOp = II.getOperand(0); in instCombineSVEST1() local 2206 StoreInst *Store = IC.Builder.CreateStore(VecOp, PtrOp); in instCombineSVEST1() 2212 VecOp, PtrOp, PtrOp->getPointerAlignment(DL), Pred); in instCombineSVEST1()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
| H A D | RISCVISelLowering.h | 62 bool shouldScalarizeBinop(SDValue VecOp) const override;
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/ |
| H A D | PPCISelDAGToDAG.cpp | 7587 SDValue VecOp = SkipRCCopy(N->getOperand(0)); in reduceVSXSwap() local 7588 if (!VecOp || !isLaneInsensitive(VecOp)) in reduceVSXSwap() 7591 SDValue LHS = SkipRCCopy(VecOp.getOperand(0)), in reduceVSXSwap() 7592 RHS = SkipRCCopy(VecOp.getOperand(1)); in reduceVSXSwap()
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
| H A D | TargetLowering.h | 3429 virtual bool shouldScalarizeBinop(SDValue VecOp) const { in shouldScalarizeBinop() argument
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
| H A D | X86ISelLowering.cpp | 3385 bool X86TargetLowering::shouldScalarizeBinop(SDValue VecOp) const { in shouldScalarizeBinop() 3386 unsigned Opc = VecOp.getOpcode(); in shouldScalarizeBinop() 3394 EVT VecVT = VecOp.getValueType(); in shouldScalarizeBinop() 19838 SDValue VecOp = Extract.getOperand(0); in vectorizeExtractedCast() local 19839 MVT FromVT = VecOp.getSimpleValueType(); in vectorizeExtractedCast() 19851 VecOp = DAG.getVectorShuffle(FromVT, DL, VecOp, DAG.getUNDEF(FromVT), Mask); in vectorizeExtractedCast() 19856 VecOp = extract128BitVector(VecOp, 0, DAG, DL); in vectorizeExtractedCast() 19860 SDValue VCast = DAG.getNode(Cast.getOpcode(), DL, ToVT, VecOp); in vectorizeExtractedCast() 34916 SDValue VecOp = N->getOperand(0); in ReplaceNodeResults() local 34917 EVT ExtVT = VecOp.getValueType().changeVectorElementTypeToInteger(); in ReplaceNodeResults()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
| H A D | ARMISelLowering.cpp | 17429 unsigned VecOp = N->getOperand(0).getValueType().isVector() ? 0 : 2; in PerformReduceShuffleCombine() local 17430 auto *Shuf = dyn_cast<ShuffleVectorSDNode>(N->getOperand(VecOp)); in PerformReduceShuffleCombine() 17445 if (N->getNumOperands() != VecOp + 1) { in PerformReduceShuffleCombine() 17446 auto *Shuf2 = dyn_cast<ShuffleVectorSDNode>(N->getOperand(VecOp + 1)); in PerformReduceShuffleCombine()
|