|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
include/llvm/IR/PatternMatch.h 1627 auto AddExpr = m_Add(m_Value(AddLHS), m_Value(AddRHS));
lib/Analysis/InstructionSimplify.cpp 735 if (MaxRecurse && match(Op0, m_Add(m_Value(X), m_Value(Y)))) { // (X + Y) - Z
757 if (MaxRecurse && match(Op1, m_Add(m_Value(Y), m_Value(Z)))) { // X - (Y + Z)
1616 if (!match(Op0, m_ICmp(Pred0, m_Add(m_Value(V), m_APInt(C0)), m_APInt(C1))))
1689 if (!match(Op0, m_ICmp(Pred0, m_Add(m_Value(V), m_APInt(C0)), m_APInt(C1))))
1977 if (match(Op0, m_Add(m_Specific(Op1), m_AllOnes())) &&
1980 if (match(Op1, m_Add(m_Specific(Op0), m_AllOnes())) &&
lib/Analysis/LazyValueInfo.cpp 970 if (match(SI->getFalseValue(), m_Add(m_Specific(A),
978 if (match(SI->getTrueValue(), m_Add(m_Specific(A),
1219 if (LHS != Val && !match(LHS, m_Add(m_Specific(Val), m_ConstantInt()))) {
1226 match(LHS, m_Add(m_Specific(Val), m_ConstantInt(Offset)));
lib/Analysis/ValueTracking.cpp 1007 match(I, m_c_BinOp(m_Value(X), m_Add(m_Deferred(X), m_Value(Y))))) {
1793 if (match(V, m_Add(m_Value(X), m_Value(Y)))) {
2168 else if (match(V, m_Add(m_Value(X), m_Value(Y)))) {
lib/Analysis/VectorUtils.cpp 300 if (match(V, m_Add(m_Value(Val), m_Constant(C))))
lib/CodeGen/CodeGenPrepare.cpp 1248 if (match(U, m_Add(m_Specific(A), m_Specific(B)))) {
1324 if (match(U, m_Add(m_Specific(A), m_APInt(AddC))) &&
3515 match(ScaleReg, m_Add(m_Value(AddLHS), m_ConstantInt(CI)))) {
lib/Target/ARM/MVETailPredication.cpp 230 if (!match(BECount, m_Add(m_Value(TripCount), m_AllOnes())))
240 if (!match(Induction, m_Add(m_Instruction(BroadcastSplat),
277 if (!match(InLoop, m_Add(m_Instruction(LHS), m_SpecificInt(Lanes))))
lib/Transforms/InstCombine/InstCombineAddSub.cpp 782 if (match(RHS, m_Add(m_Value(X), m_One())))
785 if (match(LHS, m_Add(m_Value(X), m_One()))) {
1063 if (!match(&I, m_Add(m_OneUse(m_Shl(m_One(), m_Value(NBits))), m_AllOnes())))
1093 if (match(&I, m_Add(m_UMin(m_Value(X), m_APInt(NotC)), m_APInt(C))) &&
1308 if (match(&I, m_c_BinOp(m_Add(m_Value(A), m_One()), m_Not(m_Value(B)))) ||
1716 if (match(Op0, m_OneUse(m_Add(m_Value(X), m_AllOnes()))))
1720 if (match(Op1, m_OneUse(m_Add(m_Value(X), m_One()))))
1768 if (match(Op1, m_Add(m_Value(X), m_Constant(C2))))
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp 939 m_ICmp(Pred, m_Add(m_Value(X), m_Power2(I01)), m_Power2(I1))) &&
1689 if (!match(Op0, m_OneUse(m_Add(m_Specific(Op1), m_Constant(C)))) &&
2222 if (match(LAdd, m_Add(m_Value(LAddOpnd), m_ConstantInt(LAddC))) &&
2223 match(RAdd, m_Add(m_Value(RAddOpnd), m_ConstantInt(RAddC))) &&
2339 if (match(LHS0, m_Add(m_Specific(RHS0), m_ConstantInt(AddC))))
3070 if (match(Op0, m_Add(m_Value(X), m_Constant(C))))
3107 if (RHSC->isSignMask() && match(Op0, m_Add(m_Value(X), m_APInt(C)))) {
lib/Transforms/InstCombine/InstCombineCompares.cpp 1450 match(Op0, m_Add(m_Add(m_Value(A), m_Value(B)), m_ConstantInt(CI2))))
1450 match(Op0, m_Add(m_Add(m_Value(A), m_Value(B)), m_ConstantInt(CI2))))
3284 m_Add(m_Shl(m_One(), m_Value()), m_AllOnes())),
4010 auto LSubOne = m_Add(m_Specific(Op1), m_AllOnes());
4274 if (!match(Op0, m_OneUse(m_c_And(m_Add(m_Value(A), m_AllOnes()),
5329 m_Add(m_Shl(m_One(), m_Value(Y)),
5585 if (match(Op0, m_Add(m_Value(X), m_APInt(C))) && Op1 == X)
5589 if (match(Op1, m_Add(m_Value(X), m_APInt(C))) && Op0 == X)
lib/Transforms/InstCombine/InstCombineMulDivRem.cpp 246 else if (match(Op0, m_Add(m_Value(Y), m_ConstantInt(C1))))
268 if (match(Op0, m_OneUse(m_Add(m_Value(X), m_Constant(C1))))) {
lib/Transforms/InstCombine/InstCombineSelect.cpp 739 match(TVal, m_Add(m_Value(X), m_APInt(C))) && X == Cmp0 &&
1232 m_Add(m_Specific(X),
lib/Transforms/InstCombine/InstCombineShifts.cpp 194 auto MaskA = m_Add(m_Shl(m_One(), m_Value(MaskShAmt)), m_AllOnes());
319 if (match(Op0, m_Constant()) && match(Op1, m_Add(m_Value(A), m_Constant(C))))
lib/Transforms/InstCombine/InstructionCombining.cpp 2596 if (match(Cond, m_Add(m_Value(Op0), m_ConstantInt(AddRHS)))) {
lib/Transforms/Scalar/GuardWidening.cpp 666 if (match(Check.getBase(), m_Add(m_Value(OpLHS), m_ConstantInt(OpRHS)))) {
lib/Transforms/Scalar/JumpThreading.cpp 858 match(CmpLHS, m_Add(m_Value(AddLHS), m_ConstantInt(AddConst)))) {
lib/Transforms/Scalar/NaryReassociate.cpp 500 return match(V, m_Add(m_Value(Op1), m_Value(Op2)));
lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp 1171 if (match(I, m_Add(m_SExt(m_Value(LHS)), m_SExt(m_Value(RHS)))) ||
lib/Transforms/Scalar/StraightLineStrengthReduce.cpp 421 return (match(A, m_Add(m_Value(B), m_ConstantInt(C))) ||
422 match(A, m_Add(m_ConstantInt(C), m_Value(B))));
lib/Transforms/Utils/SimplifyCFG.cpp 601 if (match(I->getOperand(0), m_Add(m_Value(RHSVal), m_APInt(RHSC)))) {
unittests/IR/PatternMatch.cpp 461 EXPECT_TRUE(m_Add(m_One(), m_Zero()).match(X));
462 EXPECT_FALSE(m_Add(m_Zero(), m_One()).match(X));
464 EXPECT_FALSE(m_Unless(m_Add(m_One(), m_Zero())).match(X));
465 EXPECT_TRUE(m_Unless(m_Add(m_Zero(), m_One())).match(X));