reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
3001 return BinaryOperator::CreateOr(Op0, Op1); 3070 if (match(Op0, m_Add(m_Value(X), m_Constant(C)))) 3078 if (match(Op0, m_OneUse(m_Or(m_Not(m_Value(X)), m_Constant(C2))))) { 3083 if (match(Op0, m_OneUse(m_And(m_Not(m_Value(X)), m_Constant(C2))))) { 3093 cast<CmpInst>(Op0)->setPredicate(CmpInst::getInversePredicate(Pred)); 3094 return replaceInstUsesWith(I, Op0); 3102 if (RHSC->isSignMask() && match(Op0, m_Sub(m_APInt(C), m_Value(X)))) { 3107 if (RHSC->isSignMask() && match(Op0, m_Add(m_Value(X), m_APInt(C)))) { 3114 if (match(Op0, m_Or(m_Value(X), m_APInt(C))) && 3117 Worklist.Add(cast<Instruction>(Op0)); 3126 if (BinaryOperator *Op0I = dyn_cast<BinaryOperator>(Op0)) { 3159 if (match(Op1, m_OneUse(m_c_Or(m_Value(X), m_Specific(Op0))))) 3160 return BinaryOperator::CreateAnd(X, Builder.CreateNot(Op0)); 3163 if (match(Op0, m_OneUse(m_c_Or(m_Value(X), m_Specific(Op1))))) 3168 if (match(Op1, m_OneUse(m_c_And(m_Value(X), m_Specific(Op0))))) 3169 return BinaryOperator::CreateAnd(Op0, Builder.CreateNot(X)); 3176 match(Op0, m_OneUse(m_c_And(m_Value(X), m_Specific(Op1))))) 3193 if (match(Op0, m_And(m_Value(A), m_Value(B))) && 3197 if (match(Op0, m_Xor(m_Value(A), m_Value(B))) && 3203 if (match(Op0, m_c_And(m_Value(A), m_Not(m_Value(B)))) && 3220 if (Op0->hasNUses(2)) 3221 std::swap(Op0, Op1); 3227 match(Op0, m_OneUse(m_c_Add(m_Specific(A), m_Specific(Op1))))) { 3233 auto *Add = cast<BinaryOperator>(Op0); 3251 if (match(Op1, m_AllOnes()) && Op0->hasOneUse()) { 3253 SelectPatternFlavor SPF = matchSelectPattern(Op0, LHS, RHS).Flavor;