Home
last modified time | relevance | path

Searched refs:m_Add (Results 1 – 25 of 28) sorted by relevance

12

/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineAddSub.cpp765 if (match(RHS, m_Add(m_Value(X), m_One()))) in checkForNegativeOperand()
768 if (match(LHS, m_Add(m_Value(X), m_One()))) { in checkForNegativeOperand()
1000 if (match(Op0, m_ZExt(m_Add(m_Value(X), m_AllOnes())))) { in foldAddWithConstant()
1216 if (!match(&I, m_Add(m_OneUse(m_Shl(m_One(), m_Value(NBits))), m_AllOnes()))) in canonicalizeLowbitMask()
1246 if (match(&I, m_Add(m_UMin(m_Value(X), m_APInt(NotC)), m_APInt(C))) && in foldToUnsignedSaturatedAdd()
1561 if (match(&I, m_c_BinOp(m_Add(m_Value(A), m_One()), m_Not(m_Value(B)))) || in visitAdd()
1576 if (match(&I, m_c_Add(m_Add(m_Value(A), m_ImmConstant(C1)), in visitAdd()
1664 m_Add(m_OneUse(m_c_And(m_Value(A), m_OneUse(m_Neg(m_Deferred(A))))), in visitAdd()
2154 if (match(Op1, m_Add(m_Value(X), m_ImmConstant(C2)))) { in visitSub()
2219 if (match(Op0, m_OneUse(m_Add(m_Value(X), m_AllOnes())))) in visitSub()
[all …]
H A DInstCombineSelect.cpp924 if (match(B, m_Zero()) && match(TrueVal, m_Add(m_Specific(A), m_AllOnes()))) in canonicalizeSaturatedSubtract()
950 match(TrueVal, m_Add(m_Specific(B), m_SpecificInt(-*C))))) in canonicalizeSaturatedSubtract()
954 match(TrueVal, m_Add(m_Specific(A), m_SpecificInt(-*C))))) in canonicalizeSaturatedSubtract()
982 match(TVal, m_Add(m_Value(X), m_APInt(C))) && X == Cmp0 && in canonicalizeSaturatedAdd()
1460 m_Add(m_Specific(X), in canonicalizeClampLike()
1599 if (Pred == CmpInst::ICMP_ULT && match(X, m_Add(m_Value(), m_Constant()))) in tryToReuseConstantFromSelectInComparison()
2750 if (match(TrueVal, m_Add(m_Specific(RemRes), m_Value(Remainder))) && in foldSelectWithSRem()
2975 m_And(m_Add(m_Specific(X), m_APIntAllowPoison(BiasCst)), in foldRoundUpIntegerWithPow2Alignment()
2978 m_Add(m_And(m_Specific(X), m_APIntAllowPoison(HighBitMaskCst)), in foldRoundUpIntegerWithPow2Alignment()
3432 if (match(CtlzOp, m_Add(m_Specific(CommonAncestor), m_APInt(C)))) { in isSafeToRemoveBitCeilSelect()
[all …]
H A DInstCombineShifts.cpp217 auto MaskA = m_Add(m_Shl(m_One(), m_Value(MaskShAmt)), m_AllOnes()); in dropRedundantMaskingOfLeftShiftInput()
463 if (match(Op0, m_APInt(AC)) && match(Op1, m_Add(m_Value(A), m_APInt(AddC))) && in commonShiftTransforms()
920 m_Add(m_OneUse(m_ZExt(m_Value(X))), m_OneUse(m_ZExt(m_Value(Y)))))) in foldLShrOverflowBit()
1291 if (match(Op0, m_Add(m_Value(X), m_Value(Y))) && match(Op1, m_One()) && in visitLShr()
1565 if (ShAmtC == 1 && match(Op0, m_Add(m_Value(X), m_Value(Y))) && in visitLShr()
H A DInstCombineCompares.cpp1301 match(Op0, m_Add(m_Add(m_Value(A), m_Value(B)), m_ConstantInt(CI2)))) in foldICmpWithConstant()
1885 if (match(And->getOperand(0), m_Add(m_Value(X), m_AllOnes())) && in foldICmpAndConstant()
2087 match(Or, m_c_Or(m_Add(m_Value(X), m_AllOnes()), m_Deferred(X)))) { in foldICmpOrConstant()
3030 m_Add(m_CombineAnd(m_Instruction(Ext0), m_ZExtOrSExt(m_Value(Op0))), in foldICmpAddConstant()
4219 return match(V, m_c_Xor(m_Value(X), m_Add(m_Deferred(X), m_AllOnes()))); in isMaskOrZero()
4923 if (match(Op0, m_OneUse(m_Add(m_c_Add(m_Specific(Op1), m_Value(X)), in foldICmpBinOp()
4930 if (match(Op1, m_OneUse(m_Add(m_c_Add(m_Specific(Op0), m_Value(X)), in foldICmpBinOp()
4948 match(BO, m_Add(m_Specific(Op1), m_SpecificIntAllowPoison(*C)))) { in foldICmpBinOp()
4957 match(BO, m_Add(m_Specific(Op0), m_SpecificIntAllowPoison(*C)))) { in foldICmpBinOp()
5337 auto LSubOne = m_Add(m_Specific(Op1), m_AllOnes()); in foldICmpBinOp()
[all …]
H A DInstCombineAndOrXor.cpp824 m_ICmp(Pred, m_Add(m_Value(X), m_Power2(I01)), m_Power2(I1))) && in foldSignedTruncationCheck()
1284 if (match(V1, m_Add(m_Value(X), m_APInt(Offset1)))) in foldAndOrOfICmpsUsingRanges()
1286 if (match(V2, m_Add(m_Value(X), m_APInt(Offset2)))) in foldAndOrOfICmpsUsingRanges()
1918 if (!match(Op0, m_OneUse(m_Add(m_Specific(Op1), m_Constant(C)))) && in narrowMaskedBinOp()
2136 if (!(match(Op0, m_OneUse(m_Add(m_Value(X), m_APInt(C2)))) && in canonicalizeLogicFirst()
2419 if (match(Op0, m_Add(m_Value(X), m_APInt(AddC)))) { in visitAnd()
2767 if (match(&I, m_c_And(m_OneUse(m_Add(m_ZExtOrSelf(m_Value(A)), m_AllOnes())), in visitAnd()
3252 m_Add(m_Specific(LHS0), m_SpecificIntAllowPoison(-*CInt))) || in foldAndOrOfICmpEqConstantAndICmp()
3941 if (match(&I, m_c_Or(m_Add(m_Shl(m_One(), m_Value(X)), m_AllOnes()), in visitOr()
4529 if (match(NotVal, m_Add(m_Value(X), m_ImmConstant(C)))) in foldNot()
[all …]
H A DInstCombineCalls.cpp569 if (match(Op0, m_Add(m_LShr(m_AllOnes(), m_Value(X)), m_One()))) { in foldCttzCtlz()
662 m_c_And(m_Not(m_Value(X)), m_Add(m_Deferred(X), m_AllOnes())))) { in foldCtpop()
1097 if (!match(Op0, m_OneUse(m_Add(m_Value(X), m_APInt(C0)))) || in moveAddAfterMinMax()
3101 match(A, m_Add(m_Value(A), m_ConstantInt(Offset))); in visitCallInst()
H A DInstCombineMulDivRem.cpp166 if (match(Y, m_OneUse(m_Add(m_BinOp(Shift), m_One()))) && in foldMulShl1()
2221 if (match(Op0, m_Add(m_Value(X), m_One()))) { in visitURem()
H A DInstructionCombining.cpp2555 if (match(V, m_Add(m_Value(A), m_Value(B)))) { in getFreelyInvertedImpl()
3013 m_OneUse(m_Add(m_Value(Idx1), m_Value(Idx2))))) { in visitGetElementPtrInst()
3748 if (match(Cond, m_Add(m_Value(Op0), m_ConstantInt(AddRHS)))) { in visitSwitchInst()
H A DInstCombineSimplifyDemanded.cpp509 if (match(I, m_Add(m_SExt(m_Value(X)), m_SExt(m_Value(Y)))) && in SimplifyDemandedUseBits()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopUnroll.cpp398 if (match(&Inst, m_Add(m_Add(m_Value(X), m_APInt(C1)), m_APInt(C2)))) { in simplifyLoopAfterUnroll()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DNaryReassociate.cpp531 return match(V, m_Add(m_Value(Op1), m_Value(Op2))); in matchTernaryOp()
H A DGuardWidening.cpp846 if (match(Check.getBase(), m_Add(m_Value(OpLHS), m_ConstantInt(OpRHS)))) { in parseRangeChecks()
H A DSeparateConstOffsetFromGEP.cpp1233 if (match(I, m_Add(m_SExt(m_Value(LHS)), m_SExt(m_Value(RHS))))) { in reuniteExts()
H A DConstraintElimination.cpp580 if (match(V, m_Add(m_Value(Op0), m_ConstantInt(CI))) && CI->isNegative() && in decompose()
H A DLoopIdiomRecognize.cpp2848 if (!IVNext || !match(IVNext, m_Add(m_Specific(IVPN), m_One()))) { in detectShiftUntilZeroIdiom()
H A DJumpThreading.cpp819 match(CmpLHS, m_Add(m_Value(AddLHS), m_ConstantInt(AddConst)))) { in computeValueKnownInPredecessorsImpl()
H A DLowerMatrixIntrinsics.cpp130 return m_CombineOr(m_Add(L, R), m_FAdd(L, R)); in m_AnyAdd()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DInstructionSimplify.cpp831 if (MaxRecurse && match(Op0, m_Add(m_Value(X), m_Value(Y)))) { // (X + Y) - Z in simplifySubInst()
853 if (MaxRecurse && match(Op1, m_Add(m_Value(Y), m_Value(Z)))) { // X - (Y + Z) in simplifySubInst()
1709 if (!match(Op0, m_ICmp(Pred0, m_Add(m_Value(V), m_APInt(C0)), m_APInt(C1)))) in simplifyAndOfICmpsWithAdd()
1800 if (!match(Op0, m_ICmp(Pred0, m_Add(m_Value(V), m_APInt(C0)), m_APInt(C1)))) in simplifyOrOfICmpsWithAdd()
2001 if ((match(Op0, m_Add(m_Value(X), m_Constant(C1))) && in simplifyLogicOfAddSub()
2003 (match(Op1, m_Add(m_Value(X), m_Constant(C1))) && in simplifyLogicOfAddSub()
2048 if (match(Op0, m_Add(m_Specific(Op1), m_AllOnes())) && in simplifyAndCommutative()
2056 match(Op1, m_Add(m_Shl(m_Specific(X), m_APInt(Shift2)), m_AllOnes())) && in simplifyAndCommutative()
2126 match(Op0, m_Add(m_Value(Shift), m_AllOnes())) && in simplifyAndInst()
3252 if (!match(LHS, m_Add(m_Value(X), m_APInt(C1))) || in trySimplifyICmpWithAdds()
[all …]
H A DVectorUtils.cpp214 if (match(V, m_Add(m_Value(Val), m_Constant(C)))) in findScalarElement()
H A DIVDescriptors.cpp752 ((m_Add(m_Value(Op1), m_Value(Op2)).match(I1) || in isConditionalRdxPattern()
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DPatternMatch.h1092 inline BinaryOp_match<LHS, RHS, Instruction::Add> m_Add(const LHS &L, in m_Add() function
1400 return m_CombineOr(m_Add(L, R), m_DisjointOr(L, R)); in m_AddLike()
2411 auto AddExpr = m_Add(m_Value(AddLHS), m_Value(AddRHS)); in match()
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DSDPatternMatch.h543 inline BinaryOpc_match<LHS, RHS, true> m_Add(const LHS &L, const RHS &R) {
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DCodeGenPrepare.cpp1504 if (match(IVInc, m_Add(m_Instruction(LHS), m_Constant(Step))) || in matchIncrement()
1653 if (match(U, m_Add(m_Specific(A), m_Specific(B)))) { in matchUAddWithOverflowConstantEdgeCases()
1737 if (match(U, m_Add(m_Specific(A), m_APInt(AddC))) && in combineToUSubWithOverflow()
4237 match(ScaleReg, m_Add(m_Value(AddLHS), m_ConstantInt(CI))) && in matchScaledValue()
8280 (match(UI, m_Add(m_Specific(X), m_SpecificInt(-CmpC))) || in optimizeBranch()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DDAGCombiner.cpp2784 if (sd_match(N1, m_Sub(m_Value(B), m_Add(m_Specific(N0), m_Value(C))))) in visitADDLike()
2789 m_AnyOf(m_Add(m_Sub(m_Value(B), m_Specific(N0)), m_Value(C)), 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()
2935 sd_match(N, m_Add(m_And(m_Value(A), m_Value(B)), in foldAddToAvg()
2941 sd_match(N, m_Add(m_And(m_Value(A), m_Value(B)), in foldAddToAvg()
3929 if (sd_match(N0, m_Add(m_Value(A), m_Add(m_Specific(N1), m_Value(C))))) in visitSUB()
3933 if (sd_match(N0, m_Add(m_Value(A), m_Sub(m_Specific(N1), m_Value(C))))) in visitSUB()
6847 !sd_match(N, m_And(m_OneUse(m_Add(m_Value(X), m_SpecificInt(SignMask))), in foldAndToUsubsat()
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonVectorCombine.cpp1692 if (Value * T; Op.Frac > 0 && match(Exp, m_Add(m_Value(T), m_APInt(C)))) { in matchFxpMul()

12