Home
last modified time | relevance | path

Searched refs:m_OneUse (Results 1 – 25 of 41) 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()
998 if (match(Op0, m_OneUse(m_UMax(m_Value(X), m_SpecificInt(-*C))))) in foldAddWithConstant()
1033 AddOp, m_OneUse(m_BinOp(MulOp, m_Value(A), m_Deferred(A))), in matchesSquareSum()
1034 m_OneUse(m_c_BinOp( in matchesSquareSum()
1048 m_OneUse(m_BinOp( in matchesSquareSum()
1050 m_OneUse(m_c_BinOp(MulOp, m_BinOp(Mul2Op, m_Value(A), M2Rhs), in matchesSquareSum()
1052 m_OneUse( in matchesSquareSum()
[all …]
H A DInstCombineAndOrXor.cpp800 if (!match(LHS, m_OneUse(m_ICmp(Pred, m_Value(Op), m_Zero()))) || in foldAndOrOfICmpsWithPow2AndWithZero()
801 !match(RHS, m_OneUse(m_c_ICmp(Pred, m_Specific(Op), m_Value(Pow2)))) || in foldAndOrOfICmpsWithPow2AndWithZero()
1154 if (!match(V, m_OneUse(m_Trunc(m_Value(X))))) in matchIntPart()
1163 if (match(X, m_OneUse(m_LShr(m_Value(Y), m_APInt(Shift)))) && in matchIntPart()
1584 match(Op0, m_OneUse(m_Intrinsic<Intrinsic::is_fpclass>( in foldLogicOfIsFPClass()
1587 match(Op1, m_OneUse(m_Intrinsic<Intrinsic::is_fpclass>( in foldLogicOfIsFPClass()
1642 if (!match(&I, m_c_BinOp(m_OneUse(m_Value()), m_Value())) || in canonicalizeConditionalNegationViaMathToSelect()
1708 if (match(Op0, m_OneUse(m_Not(m_Value(A)))) && in matchDeMorgansLaws()
1709 match(Op1, m_OneUse(m_Not(m_Value(B)))) && in matchDeMorgansLaws()
1723 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()
518 match(Op0, m_OneUse(m_Instruction(CmpIntr))) && in commonShiftTransforms()
876 if (match(Op0, m_Select(m_Value(Cond), m_OneUse(m_BinOp(TBO)), in FoldShiftByConstant()
894 m_OneUse(m_BinOp(FBO))))) { in FoldShiftByConstant()
936 m_Add(m_OneUse(m_ZExt(m_Value(X))), m_OneUse(m_ZExt(m_Value(Y)))))) in foldLShrOverflowBit()
1068 if (match(Op0, m_OneUse(m_ZExt(m_Value(X))))) { in visitShl()
1107 if (match(Op0, m_OneUse(m_Shr(m_Value(X), m_APInt(C1)))) && in visitShl()
1139 if (match(Op0, m_OneUse(m_Trunc(m_OneUse(m_BinOp(Shr))))) && in visitShl()
1174 if (match(Op0, m_OneUse(m_BinOp(Op0BO))) && in visitShl()
[all …]
H A DInstCombineMulDivRem.cpp59 if (match(V, m_LShr(m_OneUse(m_Shl(m_Value(One), m_Value(A))), m_Value(B))) && in simplifyValueKnownNonZero()
106 if (match(&I, m_c_Mul(m_OneUse(m_Select(m_Value(Cond), m_One(), m_AllOnes())), in foldMulSelectToNegate()
114 if (match(&I, m_c_Mul(m_OneUse(m_Select(m_Value(Cond), m_AllOnes(), m_One())), in foldMulSelectToNegate()
123 if (match(&I, m_c_FMul(m_OneUse(m_Select(m_Value(Cond), m_SpecificFP(1.0), in foldMulSelectToNegate()
131 if (match(&I, m_c_FMul(m_OneUse(m_Select(m_Value(Cond), m_SpecificFP(-1.0), in foldMulSelectToNegate()
163 if (match(Y, m_OneUse(m_Add(m_BinOp(Shift), m_One()))) && in foldMulShl1()
164 match(Shift, m_OneUse(m_Shl(m_One(), m_Value(Z))))) { in foldMulShl1()
178 if (match(Y, m_OneUse(m_Not(m_OneUse(m_Shl(m_AllOnes(), m_Value(Z))))))) { in foldMulShl1()
330 if (match(Op0, m_OneUse(m_AddLike(m_Value(X), m_ImmConstant(C1))))) { in visitMul()
358 m_OneUse(m_Intrinsic<Intrinsic::abs>(m_Value(X), m_One()))) && in visitMul()
[all …]
H A DInstCombineCasts.cpp216 if (match(Src, m_OneUse(m_Shuffle(m_Value(X), m_Undef(), m_Mask(Mask))))) { in commonCastTransforms()
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()
532 if (!match(Trunc.getOperand(0), m_OneUse(m_Or(m_BinOp(Or0), m_BinOp(Or1))))) in narrowFunnelShift()
536 if (!match(Or0, m_OneUse(m_LogicalShift(m_Value(ShVal0), m_Value(ShAmt0)))) || in narrowFunnelShift()
537 !match(Or1, m_OneUse(m_LogicalShift(m_Value(ShVal1), m_Value(ShAmt1)))) || in narrowFunnelShift()
561 if (match(R, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(L))))) in narrowFunnelShift()
630 if (!match(Trunc.getOperand(0), m_OneUse(m_BinOp(BinOp)))) in narrowBinOp()
810 if (match(Src, m_OneUse(m_Shr(m_Shl(m_Power2(C1), m_Value(X)), in visitTrunc()
825 if (match(Src, m_OneUse(m_LShr(m_Value(X), m_ImmConstant(C))))) { in visitTrunc()
[all …]
H A DInstCombineSelect.cpp642 if (!match(TVal, m_OneUse(m_And(m_Value(B), m_One())))) in foldSelectICmpAndAnd()
647 const bool HasShift = match(B, m_OneUse(m_LShr(m_Value(X), m_Value(Z)))); in foldSelectICmpAndAnd()
852 match(F, m_OneUse(m_Or(m_Specific(X), m_APInt(C)))) && *NotC == ~(*C)) { in foldSetClearBits()
861 match(T, m_OneUse(m_Or(m_Specific(X), m_APInt(C)))) && *NotC == ~(*C)) { in foldSetClearBits()
1668 if (!match(&Cmp, m_OneUse(m_ICmp( in tryToReuseConstantFromSelectInComparison()
2359 if (!match(Cond, m_OneUse(m_ExtractElt(m_Value(), m_ConstantInt())))) in canonicalizeScalarSelectOfVecs()
2500 if (!match(Sel.getFalseValue(), m_OneUse(m_Or(m_BinOp(Or0), m_BinOp(Or1))))) in foldSelectFunnelShift()
2504 if (!match(Or0, m_OneUse(m_LogicalShift(m_Value(SV0), in foldSelectFunnelShift()
2506 !match(Or1, m_OneUse(m_LogicalShift(m_Value(SV1), in foldSelectFunnelShift()
2523 if (match(SA1, m_OneUse(m_Sub(m_SpecificInt(Width), m_Specific(SA0))))) in foldSelectFunnelShift()
[all …]
H A DInstCombineCalls.cpp525 if (match(Op0, m_OneUse(m_SExt(m_Value(X))))) { in foldCttzCtlz()
534 if (match(Op0, m_OneUse(m_ZExt(m_Value(X)))) && match(Op1, m_One())) { in foldCttzCtlz()
681 if (match(Op0, m_OneUse(m_ZExt(m_Value(X))))) { in foldCtpop()
1152 if (!match(Op0, m_OneUse(m_Add(m_Value(X), m_APInt(C0)))) || in moveAddAfterMinMax()
1320 if (!match(II, m_c_MaxOrMin(m_OneUse(m_CombineAnd( in reassociateMinMaxWithConstantInOperand()
1468 return match(V, m_OneUse(m_VecReverse(m_Value()))); in foldReversedIntrinsicOperands()
1508 if (match(V, m_OneUse(m_BitwiseLogic(m_Value(X), m_Value(Y)))) && in foldBitOrderCrossLogicOp()
1522 if (match(X, m_OneUse(m_Intrinsic<IntrID>(m_Value(OldReorderX))))) { in foldBitOrderCrossLogicOp()
1527 if (match(Y, m_OneUse(m_Intrinsic<IntrID>(m_Value(OldReorderY))))) { in foldBitOrderCrossLogicOp()
1577 m_OneUse(m_Intrinsic<IntrID>(m_Value(CtOp), m_Value(ZeroUndef))))) in foldMinimumOverTrailingOrLeadingZeroCount()
[all …]
H A DInstCombineCompares.cpp1186 if (!match(&I, m_ICmp(Pred, m_OneUse(m_IRem(m_Value(X), m_Value(Y))), in foldIRemByPowerOfTwoToBitTest()
1566 m_OneUse(m_ZExt(m_Value(Y)))))) { in foldICmpTruncWithTruncOrExt()
1571 m_OneUse(m_ZExtOrSExt(m_Value(Y)))))) { in foldICmpTruncWithTruncOrExt()
1679 if (!match(Xor, m_OneUse(m_c_Xor(m_Value(X), in foldICmpXorShiftConst()
1845 if (match(And->getOperand(0), m_OneUse(m_Trunc(m_Value(W)))) && in foldICmpAndConstConst()
1907 match(X, m_OneUse(m_ElementWiseBitCast(m_Value(V))))) { in foldICmpAndConstConst()
1984 if (match(And, m_OneUse(m_c_And(m_OneUse(m_ZExt(m_Value(X))), m_Value(Y)))) && in foldICmpAndConstant()
1999 match(And, m_OneUse(m_c_And(m_OneUse(m_Shl(m_AllOnes(), m_Value(X))), in foldICmpAndConstant()
2010 if (match(And, m_And(m_OneUse(m_Add(m_Value(A), m_APInt(Addend))), in foldICmpAndConstant()
2043 m_OneUse(m_Xor(m_Value(Lhs), m_Value(Rhs))))) { in foldICmpOrXorSubChain()
[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()
1700 if (match(VecOp, m_OneUse(m_InsertElt(m_Value(BaseVec), in visitInsertElementInst()
1715 match(ScalarOp, m_OneUse(m_BitCast(m_Value(ScalarSrc)))) && in visitInsertElementInst()
2301 if (!match(Op0, m_OneUse(m_InsertElt(m_Poison(), m_Value(X), in canonicalizeInsertSplat()
2516 m_OneUse(m_Select(m_Value(Cond), m_Value(X), m_Value(Y))))) in narrowVectorSelect()
2524 if (!match(Cond, m_OneUse(m_Shuffle(m_Value(NarrowCond), m_Poison()))) || in narrowVectorSelect()
H A DInstructionCombining.cpp580 match(Op0, m_OneUse(m_BinOp(m_Value(A), m_Constant(C1)))) && in SimplifyAssociativeOrCommutative()
581 match(Op1, m_OneUse(m_BinOp(m_Value(B), m_Constant(C2)))) && in SimplifyAssociativeOrCommutative()
830 m_OneUse(m_Intrinsic<Intrinsic::ctpop>(m_Value(Op))))) in tryFoldInstWithCtpopWithNot()
965 m_OneUse(m_Shift(m_Value(Y), m_Value(Shift))))) in foldBinOpShiftWithShift()
969 m_OneUse(m_Shift(m_Value(X), m_Specific(Shift))), in foldBinOpShiftWithShift()
2337 else if (isSplatValue(LHS) && match(RHS, m_OneUse(m_VecReverse(m_Value(V2))))) in foldVectorBinop()
2428 if (match(&Inst, m_c_BinOp(m_OneUse(m_Shuffle(m_Value(V1), m_Poison(), in foldVectorBinop()
2461 m_OneUse(m_Shuffle(m_Value(X), m_Undef(), m_Mask(MaskC)))) || in foldVectorBinop()
2464 !match(RHS, m_OneUse(m_BinOp(Opcode, m_Value(Y), m_Value(OtherOp))))) in foldVectorBinop()
2955 m_OneUse(m_CombineOr(m_Mul(m_Value(), m_ConstantInt()), in shouldCanonicalizeGEPToPtrAdd()
[all …]
H A DInstCombineSimplifyDemanded.cpp430 if (match(I->getOperand(0), m_OneUse(m_LShr(m_Value(X), m_APInt(C))))) { in SimplifyDemandedUseBits()
499 if (match(I, m_c_Add(m_OneUse(m_ZExt(m_Value(X))), in SimplifyDemandedUseBits()
500 m_OneUse(m_SExt(m_Value(Y))))) && in SimplifyDemandedUseBits()
783 m_OneUse(m_Mul(m_Value(X), m_APInt(Factor)))) && in SimplifyDemandedUseBits()
H A DInstCombineNegator.cpp262 if (match(I, m_And(m_OneUse(m_TruncOrSelf( in visitImpl()
/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()
253 if (match(&I, m_c_And(m_OneUse(m_And(m_Value(), m_Value())), m_Value()))) in foldAnyOrAllBitsSet()
255 else if (match(&I, m_And(m_OneUse(m_Or(m_Value(), m_Value())), m_One()))) in foldAnyOrAllBitsSet()
378 if (!match(&I, m_SMax(m_OneUse(m_SMin(m_OneUse(m_FPToSI(m_Value(In))), in tryToFPToSat()
381 !match(&I, m_SMin(m_OneUse(m_SMax(m_OneUse(m_FPToSI(m_Value(In))), in tryToFPToSat()
647 if (match(V, m_OneUse(m_c_Or( in foldLoadsRecursive()
649 m_OneUse(m_Shl(m_OneUse(m_ZExt(m_OneUse(m_Instruction(L2)))), in foldLoadsRecursive()
651 match(V, m_OneUse(m_Or(m_Value(X), in foldLoadsRecursive()
652 m_OneUse(m_ZExt(m_OneUse(m_Instruction(L2)))))))) { in foldLoadsRecursive()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVectorCombine.cpp205 m_InsertElt(m_Poison(), m_OneUse(m_Value(Scalar)), m_ZeroInt()))) in vectorizeLoadInsert()
680 if (!match(&I, m_InsertElt(m_Value(DestVec), m_OneUse(m_Instruction(FNeg)), in foldInsExtFNeg()
760 m_InsertElt(m_OneUse(m_BinOp(VecBinOp)), in foldInsExtBinop()
761 m_OneUse(m_BinOp(SclBinOp)), m_ConstantInt(Index)))) in foldInsExtBinop()
878 if (!match(&I, m_BitCast(m_OneUse( in foldBitcastShuffle()
1871 if (!match(X, m_OneUse(m_ZExt(m_OneUse(m_BitCast(m_Value(SrcX)))))) && in foldConcatOfBoolMasks()
1872 !match(X, m_OneUse( in foldConcatOfBoolMasks()
1873 m_Shl(m_OneUse(m_ZExt(m_OneUse(m_BitCast(m_Value(SrcX))))), in foldConcatOfBoolMasks()
1879 if (!match(Y, m_OneUse(m_ZExt(m_OneUse(m_BitCast(m_Value(SrcY)))))) && in foldConcatOfBoolMasks()
1880 !match(Y, m_OneUse( in foldConcatOfBoolMasks()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DIVDescriptors.cpp634 if (match(I, m_OneUse(m_Cmp()))) { in isAnyOfPattern()
707 if (!match(I, m_CombineOr(m_Select(m_OneUse(m_Cmp()), m_Value(NonRdxPhi), in isFindIVPattern()
709 m_Select(m_OneUse(m_Cmp()), m_Specific(OrigPhi), in isFindIVPattern()
800 if (match(I, m_OneUse(m_Cmp()))) { in isMinMaxPattern()
807 !match(I, m_Select(m_OneUse(m_Cmp()), m_Value(), m_Value()))) in isMinMaxPattern()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DSelectOptimize.cpp790 if (match(I, m_OneUse(m_ZExtOrSExt(m_Value(Cond)))) && in collectSelectGroups()
835 m_c_BinOp(m_Value(), m_OneUse(m_ZExtOrSExt(m_Value(X)))); in collectSelectGroups()
837 m_c_BinOp(m_Value(), m_OneUse(m_Shr(m_Value(X), m_ConstantInt(Shift)))); in collectSelectGroups()
H A DCodeGenPrepare.cpp7456 m_OneUse(m_Select(m_Value(Cond), m_Value(TVal), m_Value(FVal))))) in optimizeShiftInst()
7491 m_OneUse(m_Select(m_Value(Cond), m_Value(TVal), m_Value(FVal))))) in optimizeFunnelShift()
8393 m_c_Or(m_OneUse(m_ZExt(m_Value(LValue))), in splitMergedValStore()
8394 m_OneUse(m_Shl(m_OneUse(m_ZExt(m_Value(HValue))), in splitMergedValStore()
9159 m_Br(m_OneUse(m_Instruction(LogicOp)), TBB, FBB))) in splitBranchCondition()
9173 m_LogicalAnd(m_OneUse(m_Value(Cond1)), m_OneUse(m_Value(Cond2))))) in splitBranchCondition()
9175 else if (match(LogicOp, m_LogicalOr(m_OneUse(m_Value(Cond1)), in splitBranchCondition()
9176 m_OneUse(m_Value(Cond2))))) in splitBranchCondition()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DReassociate.cpp2021 if (!match(V, m_OneUse(m_Instruction(I)))) in getNegatibleInsts()
2129 if (match(I, m_FAdd(m_Value(X), m_OneUse(m_Instruction(Op))))) in canonicalizeNegFPConstants()
2132 if (match(I, m_FAdd(m_OneUse(m_Instruction(Op)), m_Value(X)))) in canonicalizeNegFPConstants()
2135 if (match(I, m_FSub(m_Value(X), m_OneUse(m_Instruction(Op))))) in canonicalizeNegFPConstants()
H A DStructurizeCFG.cpp646 if (match(PI.Pred, m_Not(m_OneUse(m_Instruction(Inverted)))) && in simplifyConditions()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DDAGCombiner.cpp1354 if (sd_match(N0, m_OneUse(m_c_BinOp( in reassociateReduction()
1356 m_AllOf(m_OneUse(m_UnaryOp(RedOpc, m_Value(A))), in reassociateReduction()
1359 sd_match(N1, m_OneUse(m_c_BinOp( in reassociateReduction()
1361 m_AllOf(m_OneUse(m_UnaryOp(RedOpc, m_Value(C))), in reassociateReduction()
2956 if (sd_match(N0, m_OneUse(m_Sub(m_Value(A), m_Value(B)))) && in visitADDLike()
2957 sd_match(N1, m_OneUse(m_Sub(m_Value(C), m_Value(D)))) && in visitADDLike()
3026 if (sd_match(N0, m_OneUse(m_Mul(m_Add(m_Value(A), m_ConstInt(CA)), in visitADDLike()
3049 if (sd_match(N0, m_OneUse(m_Add( in visitADDLike()
3050 m_OneUse(m_Mul(m_Add(m_Value(A), m_ConstInt(CA)), in visitADDLike()
4146 if (sd_match(N1, m_OneUse(m_AnyOf(m_SMax(m_Value(X), NegPat), in visitSUB()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DSDPatternMatch.h179 inline NUses_match<1, Pattern> m_OneUse(const Pattern &P) { in m_OneUse() function
187 inline NUses_match<1, Value_match> m_OneUse() { in m_OneUse() function
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/GlobalISel/
H A DMIPatternMatch.h56 inline OneUse_match<SubPat> m_OneUse(const SubPat &SP) { in m_OneUse() function
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopPeel.cpp350 m_Br(m_OneUse(m_ICmp(Pred, m_Value(Inc), m_Value(Bound))), in canPeelLastIteration()
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64TargetTransformInfo.cpp1932 if (match(Vec, m_OneUse(m_BinOp(m_Value(LHS), m_Value(RHS))))) { in instCombineSVELast()
6297 if (match(I, m_c_Or(m_OneUse(m_Instruction(OtherAnd)), in isProfitableToSinkOperands()
6298 m_OneUse(m_c_And(m_OneUse(m_Not(m_Value(MaskValue))), in isProfitableToSinkOperands()
/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
2568 auto XorExpr = m_OneUse(m_Not(m_Value(Op1))); in match()

12