reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1754 if (match(Op0, m_OneUse(m_LogicalShift(m_One(), m_Value(X)))) && 1763 if (match(Op0, m_OneUse(m_Xor(m_Value(X), m_APInt(XorC))))) { 1767 And->takeName(Op0); 1772 if (match(Op0, m_OneUse(m_Or(m_Value(X), m_APInt(OrC))))) { 1782 And->takeName(Op0); 1788 if (match(Op0, m_OneUse(m_Xor(m_Value(X), m_Value(Y)))) || 1789 match(Op0, m_OneUse(m_Or(m_Value(X), m_Value(Y))))) { 1791 BinaryOperator::BinaryOps BinOp = cast<BinaryOperator>(Op0)->getOpcode(); 1812 if (BinaryOperator *Op0I = dyn_cast<BinaryOperator>(Op0)) { 1854 if (match(Op0, m_Trunc(m_And(m_Value(X), m_ConstantInt(YC))))) { 1879 if (match(Op1, m_OneUse(m_c_Xor(m_Specific(Op0), m_Value(B))))) 1880 return BinaryOperator::CreateAnd(Op0, Builder.CreateNot(B)); 1882 if (match(Op0, m_OneUse(m_c_Xor(m_Specific(Op1), m_Value(B))))) 1886 if (match(Op0, m_Xor(m_Value(A), m_Value(B)))) 1889 return BinaryOperator::CreateAnd(Op0, Builder.CreateNot(C)); 1892 if (match(Op0, m_Xor(m_Xor(m_Value(A), m_Value(C)), m_Value(B)))) 1894 if (Op0->hasOneUse() || isFreeToInvert(C, C->hasOneUse())) 1902 match(Op0, m_c_Or(m_Specific(A), m_Specific(B)))) 1909 if (match(Op0, m_c_Xor(m_Not(m_Value(A)), m_Value(B))) && 1915 ICmpInst *LHS = dyn_cast<ICmpInst>(Op0); 1932 if (RHS && match(Op0, m_OneUse(m_And(m_Value(X), m_Value(Y))))) { 1955 if (match(Op0, m_OneUse(m_SExt(m_Value(A)))) && 1960 return SelectInst::Create(A, Op0, Constant::getNullValue(I.getType()));