Home
last modified time | relevance | path

Searched refs:m_OneUse (Results 1 – 25 of 38) sorted by relevance

12

/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineAddSub.cpp838 if (match(Op0, m_OneUse(m_SExtLike( in foldNoWrapAdd()
847 m_OneUse(m_ZExt(m_NUWAddLike(m_Value(X), m_Constant(NarrowC)))))) { in foldNoWrapAdd()
876 if (match(Op0, m_OneUse(m_Sub(m_Value(X), m_Value(Y)))) && in foldAddWithConstant()
903 if (match(Op0, m_OneUse(m_AShr(m_Value(X), in foldAddWithConstant()
1027 AddOp, m_OneUse(m_BinOp(MulOp, m_Value(A), m_Deferred(A))), in matchesSquareSum()
1028 m_OneUse(m_c_BinOp( in matchesSquareSum()
1042 m_OneUse(m_BinOp( in matchesSquareSum()
1044 m_OneUse(m_c_BinOp(MulOp, m_BinOp(Mul2Op, m_Value(A), M2Rhs), in matchesSquareSum()
1046 m_OneUse( in matchesSquareSum()
1216 if (!match(&I, m_Add(m_OneUse(m_Shl(m_One(), m_Value(NBits))), m_AllOnes()))) in canonicalizeLowbitMask()
[all …]
H A DInstCombineAndOrXor.cpp732 if (!match(LHS, m_OneUse(m_ICmp(Pred, m_Value(Op), m_Zero()))) || in foldAndOrOfICmpsWithPow2AndWithZero()
733 !match(RHS, m_OneUse(m_c_ICmp(Pred, m_Specific(Op), m_Value(Pow2)))) || in foldAndOrOfICmpsWithPow2AndWithZero()
1119 if (!match(V, m_OneUse(m_Trunc(m_Value(X))))) in matchIntPart()
1128 if (match(X, m_OneUse(m_LShr(m_Value(Y), m_APInt(Shift)))) && in matchIntPart()
1539 match(Op0, m_OneUse(m_Intrinsic<Intrinsic::is_fpclass>( in foldLogicOfIsFPClass()
1542 match(Op1, m_OneUse(m_Intrinsic<Intrinsic::is_fpclass>( in foldLogicOfIsFPClass()
1597 if (!match(&I, m_c_BinOp(m_OneUse(m_Value()), m_Value())) || in canonicalizeConditionalNegationViaMathToSelect()
1667 if (match(Op0, m_OneUse(m_Not(m_Value(A)))) && in matchDeMorgansLaws()
1668 match(Op1, m_OneUse(m_Not(m_Value(B)))) && in matchDeMorgansLaws()
1682 if (match(Op0, m_OneUse(m_c_BinOp(Opcode, m_Value(A), m_Not(m_Value(B))))) && in matchDeMorgansLaws()
[all …]
H A DInstCombineShifts.cpp105 !match(Sh0, m_c_BinOp(m_OneUse(m_Value()), m_Value()))) in reassociateShiftAmtsOfTwoSameDirectionShifts()
415 if (match(Op1, m_OneUse(m_SExt(m_Value(Y))))) { in commonShiftTransforms()
860 if (match(Op0, m_Select(m_Value(Cond), m_OneUse(m_BinOp(TBO)), in FoldShiftByConstant()
878 m_OneUse(m_BinOp(FBO))))) { in FoldShiftByConstant()
920 m_Add(m_OneUse(m_ZExt(m_Value(X))), m_OneUse(m_ZExt(m_Value(Y)))))) in foldLShrOverflowBit()
1046 if (match(Op0, m_OneUse(m_ZExt(m_Value(X))))) { in visitShl()
1085 if (match(Op0, m_OneUse(m_Shr(m_Value(X), m_APInt(C1)))) && in visitShl()
1117 if (match(Op0, m_OneUse(m_Trunc(m_OneUse(m_BinOp(Shr))))) && in visitShl()
1152 if (match(Op0, m_OneUse(m_BinOp(Op0BO))) && in visitShl()
1163 match(Y, m_And(m_OneUse(m_Shr(m_Value(), m_Specific(Op1))), in visitShl()
[all …]
H A DInstCombineMulDivRem.cpp58 if (match(V, m_LShr(m_OneUse(m_Shl(m_Value(One), m_Value(A))), m_Value(B))) && in simplifyValueKnownNonZero()
105 if (match(&I, m_c_Mul(m_OneUse(m_Select(m_Value(Cond), m_One(), m_AllOnes())), in foldMulSelectToNegate()
113 if (match(&I, m_c_Mul(m_OneUse(m_Select(m_Value(Cond), m_AllOnes(), m_One())), in foldMulSelectToNegate()
122 if (match(&I, m_c_FMul(m_OneUse(m_Select(m_Value(Cond), m_SpecificFP(1.0), in foldMulSelectToNegate()
132 if (match(&I, m_c_FMul(m_OneUse(m_Select(m_Value(Cond), m_SpecificFP(-1.0), in foldMulSelectToNegate()
166 if (match(Y, m_OneUse(m_Add(m_BinOp(Shift), m_One()))) && in foldMulShl1()
167 match(Shift, m_OneUse(m_Shl(m_One(), m_Value(Z))))) { in foldMulShl1()
181 if (match(Y, m_OneUse(m_Not(m_OneUse(m_Shl(m_AllOnes(), m_Value(Z))))))) { in foldMulShl1()
309 if (match(Op0, m_OneUse(m_AddLike(m_Value(X), m_ImmConstant(C1))))) { in visitMul()
337 m_OneUse(m_Intrinsic<Intrinsic::abs>(m_Value(X), m_One()))) && in visitMul()
[all …]
H A DInstCombineCasts.cpp214 if (match(Src, m_OneUse(m_Shuffle(m_Value(X), m_Undef(), m_Mask(Mask))))) { in commonCastTransforms()
457 if (!match(Trunc.getOperand(0), m_OneUse(m_Or(m_BinOp(Or0), m_BinOp(Or1))))) in narrowFunnelShift()
461 if (!match(Or0, m_OneUse(m_LogicalShift(m_Value(ShVal0), m_Value(ShAmt0)))) || in narrowFunnelShift()
462 !match(Or1, m_OneUse(m_LogicalShift(m_Value(ShVal1), m_Value(ShAmt1)))) || in narrowFunnelShift()
486 if (match(R, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(L))))) in narrowFunnelShift()
554 if (!match(Trunc.getOperand(0), m_OneUse(m_BinOp(BinOp)))) in narrowBinOp()
743 if (match(Src, m_OneUse(m_Shr(m_Shl(m_Power2(C1), m_Value(X)), in visitTrunc()
752 if (match(Src, m_OneUse(m_LShr(m_Value(X), m_ImmConstant(C))))) { in visitTrunc()
759 if (match(Src, m_OneUse(m_c_Or(m_LShr(m_Value(X), m_ImmConstant(C)), in visitTrunc()
861 if (match(Src, m_OneUse(m_ExtractElt(m_Value(VecOp), m_ConstantInt(Cst))))) { in visitTrunc()
[all …]
H A DInstCombineSelect.cpp596 if (!match(TVal, m_OneUse(m_And(m_Value(B), m_One())))) in foldSelectICmpAndAnd()
601 const bool HasShift = match(B, m_OneUse(m_LShr(m_Value(X), m_Value(Z)))); in foldSelectICmpAndAnd()
829 match(F, m_OneUse(m_Or(m_Specific(X), m_APInt(C)))) && *NotC == ~(*C)) { in foldSetClearBits()
838 match(T, m_OneUse(m_Or(m_Specific(X), m_APInt(C)))) && *NotC == ~(*C)) { in foldSetClearBits()
1577 if (!match(&Cmp, m_OneUse(m_ICmp( in tryToReuseConstantFromSelectInComparison()
2305 if (!match(Cond, m_OneUse(m_ExtractElt(m_Value(), m_ConstantInt())))) in canonicalizeScalarSelectOfVecs()
2446 if (!match(Sel.getFalseValue(), m_OneUse(m_Or(m_BinOp(Or0), m_BinOp(Or1))))) in foldSelectFunnelShift()
2450 if (!match(Or0, m_OneUse(m_LogicalShift(m_Value(SV0), in foldSelectFunnelShift()
2452 !match(Or1, m_OneUse(m_LogicalShift(m_Value(SV1), in foldSelectFunnelShift()
2469 if (match(SA1, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(SA0))))) in foldSelectFunnelShift()
[all …]
H A DInstCombineCompares.cpp1158 if (!match(&I, m_ICmp(Pred, m_OneUse(m_IRem(m_Value(X), m_Value(Y))), in foldIRemByPowerOfTwoToBitTest()
1530 m_OneUse(m_ZExt(m_Value(Y)))))) { in foldICmpTruncWithTruncOrExt()
1535 m_OneUse(m_ZExtOrSExt(m_Value(Y)))))) { in foldICmpTruncWithTruncOrExt()
1643 if (!match(Xor, m_OneUse(m_c_Xor(m_Value(X), in foldICmpXorShiftConst()
1797 if (match(And->getOperand(0), m_OneUse(m_Trunc(m_Value(W)))) && in foldICmpAndConstConst()
1855 match(X, m_OneUse(m_ElementWiseBitCast(m_Value(V))))) { in foldICmpAndConstConst()
1954 if (match(And, m_OneUse(m_c_And(m_OneUse(m_ZExt(m_Value(X))), m_Value(Y)))) && in foldICmpAndConstant()
1969 match(And, m_OneUse(m_c_And(m_OneUse(m_Shl(m_AllOnes(), m_Value(X))), in foldICmpAndConstant()
1998 m_OneUse(m_Xor(m_Value(Lhs), m_Value(Rhs))))) { in foldICmpOrXorSubChain()
2004 m_OneUse(m_Sub(m_Value(Lhs), m_Value(Rhs))))) { in foldICmpOrXorSubChain()
[all …]
H A DInstCombineCalls.cpp526 if (match(Op0, m_OneUse(m_SExt(m_Value(X))))) { in foldCttzCtlz()
535 if (match(Op0, m_OneUse(m_ZExt(m_Value(X)))) && match(Op1, m_One())) { in foldCttzCtlz()
670 if (match(Op0, m_OneUse(m_ZExt(m_Value(X))))) { in foldCtpop()
1097 if (!match(Op0, m_OneUse(m_Add(m_Value(X), m_APInt(C0)))) || in moveAddAfterMinMax()
1267 if (!match(II, m_c_MaxOrMin(m_OneUse(m_CombineAnd( in reassociateMinMaxWithConstantInOperand()
1407 if (match(V, m_OneUse(m_BitwiseLogic(m_Value(X), m_Value(Y)))) && in foldBitOrderCrossLogicOp()
1421 if (match(X, m_OneUse(m_Intrinsic<IntrID>(m_Value(OldReorderX))))) { in foldBitOrderCrossLogicOp()
1426 if (match(Y, m_OneUse(m_Intrinsic<IntrID>(m_Value(OldReorderY))))) { in foldBitOrderCrossLogicOp()
1476 m_OneUse(m_Intrinsic<IntrID>(m_Value(CtOp), m_Value(ZeroUndef))))) in foldMinimumOverTrailingOrLeadingZeroCount()
1655 m_OneUse(m_c_Mul(m_Value(X), in visitCallInst()
[all …]
H A DInstructionCombining.cpp551 match(Op0, m_OneUse(m_BinOp(m_Value(A), m_Constant(C1)))) && in SimplifyAssociativeOrCommutative()
552 match(Op1, m_OneUse(m_BinOp(m_Value(B), m_Constant(C2)))) && in SimplifyAssociativeOrCommutative()
801 m_OneUse(m_Intrinsic<Intrinsic::ctpop>(m_Value(Op))))) in tryFoldInstWithCtpopWithNot()
936 m_OneUse(m_Shift(m_Value(Y), m_Value(Shift))))) in foldBinOpShiftWithShift()
942 if (!match(ShiftedX, m_OneUse(m_Shift(m_Value(X), m_Specific(Shift))))) in foldBinOpShiftWithShift()
2072 else if (isSplatValue(LHS) && match(RHS, m_OneUse(m_VecReverse(m_Value(V2))))) in foldVectorBinop()
2132 match(&Inst, m_c_BinOp(m_OneUse(m_Shuffle(m_Value(V1), m_Poison(), in foldVectorBinop()
2219 m_OneUse(m_Shuffle(m_Value(X), m_Undef(), m_Mask(MaskC)))) || in foldVectorBinop()
2222 !match(RHS, m_OneUse(m_BinOp(Opcode, m_Value(Y), m_Value(OtherOp))))) in foldVectorBinop()
2798 m_OneUse(m_CombineOr(m_Mul(m_Value(), m_ConstantInt()), in visitGetElementPtrInst()
[all …]
H A DInstCombineVectorOps.cpp78 if (match(V, m_OneUse(m_Load(m_Value())))) in cheapToScalarize()
81 if (match(V, m_OneUse(m_UnOp()))) in cheapToScalarize()
85 if (match(V, m_OneUse(m_BinOp(m_Value(V0), m_Value(V1))))) in cheapToScalarize()
90 if (match(V, m_OneUse(m_Cmp(UnusedPred, m_Value(V0), m_Value(V1))))) in cheapToScalarize()
1622 if (match(VecOp, m_OneUse(m_InsertElt(m_Value(BaseVec), in visitInsertElementInst()
1637 match(ScalarOp, m_OneUse(m_BitCast(m_Value(ScalarSrc)))) && in visitInsertElementInst()
2223 if (!match(Op0, m_OneUse(m_InsertElt(m_Poison(), m_Value(X), in canonicalizeInsertSplat()
2438 m_OneUse(m_Select(m_Value(Cond), m_Value(X), m_Value(Y))))) in narrowVectorSelect()
2446 if (!match(Cond, m_OneUse(m_Shuffle(m_Value(NarrowCond), m_Poison()))) || in narrowVectorSelect()
H A DInstCombineNegator.cpp266 if (match(I, m_And(m_OneUse(m_TruncOrSelf( in visitImpl()
H A DInstCombineSimplifyDemanded.cpp424 if (match(I->getOperand(0), m_OneUse(m_LShr(m_Value(X), m_APInt(C))))) { in SimplifyDemandedUseBits()
493 if (match(I, m_c_Add(m_OneUse(m_ZExt(m_Value(X))), in SimplifyDemandedUseBits()
494 m_OneUse(m_SExt(m_Value(Y))))) && in SimplifyDemandedUseBits()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/AggressiveInstCombine/
H A DAggressiveInstCombine.cpp84 if (match(V, m_OneUse(m_c_Or( in foldGuardedFunnelShift()
94 m_OneUse(m_c_Or(m_Shl(m_Value(ShVal0), m_Sub(m_SpecificInt(Width), in foldGuardedFunnelShift()
254 if (match(&I, m_c_And(m_OneUse(m_And(m_Value(), m_Value())), m_Value()))) in foldAnyOrAllBitsSet()
256 else if (match(&I, m_And(m_OneUse(m_Or(m_Value(), m_Value())), m_One()))) in foldAnyOrAllBitsSet()
362 if (!match(&I, m_SMax(m_OneUse(m_SMin(m_OneUse(m_FPToSI(m_Value(In))), in tryToFPToSat()
365 !match(&I, m_SMin(m_OneUse(m_SMax(m_OneUse(m_FPToSI(m_Value(In))), in tryToFPToSat()
639 if (match(V, m_OneUse(m_c_Or( in foldLoadsRecursive()
641 m_OneUse(m_Sh in foldLoadsRecursive()
[all...]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DSelectOptimize.cpp150 I, m_c_Or(m_OneUse(m_ZExt(m_Value(X))), m_Value())) && in match()
182 m_OneUse(m_ZExt(m_Value(X))))) in getNonInvertedCondition()
185 m_OneUse(m_ZExt(m_Value(X))))) in getNonInvertedCondition()
232 m_OneUse(m_ZExt(m_Value(X))))) in getFalseValue()
235 m_OneUse(m_ZExt(m_Value(X))))) in getFalseValue()
H A DCodeGenPrepare.cpp7060 m_OneUse(m_Select(m_Value(Cond), m_Value(TVal), m_Value(FVal))))) in optimizeShiftInst()
7095 m_OneUse(m_Select(m_Value(Cond), m_Value(TVal), m_Value(FVal))))) in optimizeFunnelShift()
8001 m_c_Or(m_OneUse(m_ZExt(m_Value(LValue))), in splitMergedValStore()
8002 m_OneUse(m_Shl(m_OneUse(m_ZExt(m_Value(HValue))), in splitMergedValStore()
8759 m_Br(m_OneUse(m_Instruction(LogicOp)), TBB, FBB))) in splitBranchCondition()
8773 m_LogicalAnd(m_OneUse(m_Value(Cond1)), m_OneUse(m_Value(Cond2))))) in splitBranchCondition()
8775 else if (match(LogicOp, m_LogicalOr(m_OneUse(m_Value(Cond1)), in splitBranchCondition()
8776 m_OneUse(m_Value(Cond2))))) in splitBranchCondition()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVectorCombine.cpp638 if (!match(&I, m_InsertElt(m_Value(DestVec), m_OneUse(m_Instruction(FNeg)), in foldInsExtFNeg()
700 if (!match(&I, m_BitCast(m_OneUse( in foldBitcastShuffle()
1044 if (!match(B0, m_OneUse(m_Cmp(P0, m_Instruction(I0), m_Constant(C0)))) || in foldExtractedCmps()
1045 !match(B1, m_OneUse(m_Cmp(P1, m_Instruction(I1), m_Constant(C1)))) || in foldExtractedCmps()
1054 if (!match(I0, m_OneUse(m_ExtractElt(m_Value(X), m_ConstantInt(Index0)))) || in foldExtractedCmps()
1055 !match(I1, m_OneUse(m_ExtractElt(m_Specific(X), m_ConstantInt(Index1))))) in foldExtractedCmps()
1404 if (!match(&I, m_Shuffle(m_OneUse(m_BinOp(B0)), m_OneUse(m_BinOp(B1)), in foldShuffleOfBinops()
1600 if (!match(&I, m_Shuffle(m_OneUse(m_Shuffle(m_Value(V0), m_UndefValue(U0), in foldShuffleOfShuffles()
1602 m_OneUse(m_Shuffle(m_Value(V1), m_UndefValue(U1), in foldShuffleOfShuffles()
2145 if (!match(ReductionSrc, m_OneUse(m_Trunc(m_Value(Src)))) && in foldCastFromReductions()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DIVDescriptors.cpp633 if (match(I, m_OneUse(m_Cmp(Pred, m_Value(), m_Value())))) { in isAnyOfPattern()
673 if (match(I, m_OneUse(m_Cmp(Pred, m_Value(), m_Value())))) { in isMinMaxPattern()
680 !match(I, m_Select(m_OneUse(m_Cmp(Pred, m_Value(), m_Value())), m_Value(), in isMinMaxPattern()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DReassociate.cpp2020 if (!match(V, m_OneUse(m_Instruction(I)))) in getNegatibleInsts()
2128 if (match(I, m_FAdd(m_Value(X), m_OneUse(m_Instruction(Op))))) in canonicalizeNegFPConstants()
2131 if (match(I, m_FAdd(m_OneUse(m_Instruction(Op)), m_Value(X)))) in canonicalizeNegFPConstants()
2134 if (match(I, m_FSub(m_Value(X), m_OneUse(m_Instruction(Op))))) in canonicalizeNegFPConstants()
H A DStructurizeCFG.cpp612 if (match(Cond, m_Not(m_OneUse(m_Instruction(Inverted)))) && in simplifyConditions()
H A DLICM.cpp2426 if (!match(C, m_OneUse(m_ICmp(P, m_Value(LHS), m_Value(RHS))))) in hoistMinMax()
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DSDPatternMatch.h154 inline NUses_match<1, Pattern> m_OneUse(const Pattern &P) { in m_OneUse() function
162 inline NUses_match<1, Value_match> m_OneUse() { in m_OneUse() function
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/
H A DMIPatternMatch.h47 inline OneUse_match<SubPat> m_OneUse(const SubPat &SP) { in m_OneUse() function
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUInstCombineIntrinsic.cpp357 if (match(Arg, m_OneUse(m_FPExt(m_Value(FPExtSrc))))) in matchFPExtFromF16()
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DPatternMatch.h67 template <typename T> inline OneUse_match<T> m_OneUse(const T &SubPattern) { in m_OneUse() function
2424 auto XorExpr = m_OneUse(m_Not(m_Value(Op1))); in match()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DDAGCombiner.cpp2794 if (sd_match(N0, m_OneUse(m_Sub(m_Value(A), m_Value(B)))) && in visitADDLike()
2795 sd_match(N1, m_OneUse(m_Sub(m_Value(C), m_Value(D)))) && in visitADDLike()
2864 if (sd_match(N0, m_OneUse(m_Mul(m_Add(m_Value(A), m_ConstInt(CA)), in visitADDLike()
2887 if (sd_match(N0, m_OneUse(m_Add( in visitADDLike()
2888 m_OneUse(m_Mul(m_Add(m_Value(A), m_ConstInt(CA)), in visitADDLike()
3941 if (sd_match(N1, m_OneUse(m_Sub(m_Value(B), m_Value(C))))) in visitSUB()
3951 if (sd_match(N1, m_OneUse(m_Mul(m_Neg(m_Value(B)), m_Value(C))))) in visitSUB()
3978 if (sd_match(N, m_Sub(m_OneUse(m_Sub(m_Value(A), m_Value(B))), m_One()))) in visitSUB()
4470 if (sd_context_match(N0, Matcher, m_OneUse(m_Opc(ISD::SHL))) && in visitMUL()
4473 } else if (sd_context_match(N1, Matcher, m_OneUse(m_Opc(ISD::SHL))) && in visitMUL()
[all …]

12