/freebsd/contrib/llvm-project/llvm/lib/Transforms/InstCombine/ |
H A D | InstCombineAddSub.cpp | 765 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 D | InstCombineSelect.cpp | 924 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 D | InstCombineShifts.cpp | 217 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 D | InstCombineCompares.cpp | 1301 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 D | InstCombineAndOrXor.cpp | 824 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 D | InstCombineCalls.cpp | 569 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 D | InstCombineMulDivRem.cpp | 166 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 D | InstructionCombining.cpp | 2555 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 D | InstCombineSimplifyDemanded.cpp | 509 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 D | LoopUnroll.cpp | 398 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 D | NaryReassociate.cpp | 531 return match(V, m_Add(m_Value(Op1), m_Value(Op2))); in matchTernaryOp()
|
H A D | GuardWidening.cpp | 846 if (match(Check.getBase(), m_Add(m_Value(OpLHS), m_ConstantInt(OpRHS)))) { in parseRangeChecks()
|
H A D | SeparateConstOffsetFromGEP.cpp | 1233 if (match(I, m_Add(m_SExt(m_Value(LHS)), m_SExt(m_Value(RHS))))) { in reuniteExts()
|
H A D | ConstraintElimination.cpp | 580 if (match(V, m_Add(m_Value(Op0), m_ConstantInt(CI))) && CI->isNegative() && in decompose()
|
H A D | LoopIdiomRecognize.cpp | 2848 if (!IVNext || !match(IVNext, m_Add(m_Specific(IVPN), m_One()))) { in detectShiftUntilZeroIdiom()
|
H A D | JumpThreading.cpp | 819 match(CmpLHS, m_Add(m_Value(AddLHS), m_ConstantInt(AddConst)))) { in computeValueKnownInPredecessorsImpl()
|
H A D | LowerMatrixIntrinsics.cpp | 130 return m_CombineOr(m_Add(L, R), m_FAdd(L, R)); in m_AnyAdd()
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | InstructionSimplify.cpp | 831 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 D | VectorUtils.cpp | 214 if (match(V, m_Add(m_Value(Val), m_Constant(C)))) in findScalarElement()
|
H A D | IVDescriptors.cpp | 752 ((m_Add(m_Value(Op1), m_Value(Op2)).match(I1) || in isConditionalRdxPattern()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
H A D | PatternMatch.h | 1092 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 D | SDPatternMatch.h | 543 inline BinaryOpc_match<LHS, RHS, true> m_Add(const LHS &L, const RHS &R) {
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | CodeGenPrepare.cpp | 1504 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 D | DAGCombiner.cpp | 2784 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 D | HexagonVectorCombine.cpp | 1692 if (Value * T; Op.Frac > 0 && match(Exp, m_Add(m_Value(T), m_APInt(C)))) { in matchFxpMul()
|