reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Transforms/InstCombine/InstCombineAddSub.cpp
 1688     BinaryOperator *Res = BinaryOperator::CreateAdd(Op0, V);
 1704     return BinaryOperator::CreateXor(Op0, Op1);
 1707   if (match(Op0, m_AllOnes()))
 1712   if (match(Op0, m_Not(m_Value(X))) && match(Op1, m_Not(m_Value(Y))))
 1716   if (match(Op0, m_OneUse(m_Add(m_Value(X), m_AllOnes()))))
 1721     return BinaryOperator::CreateAdd(Builder.CreateNot(X), Op0);
 1726         Builder.CreateAdd(Op0, ConstantInt::get(I.getType(), 1)), X);
 1729   if (Constant *C = dyn_cast<Constant>(Op0)) {
 1773   if (match(Op0, m_APInt(Op0C))) {
 1827         return BinaryOperator::CreateXor(Op1, Op0);
 1834     if (match(Op1, m_c_Add(m_Specific(Op0), m_Value(Y))))
 1838     if (match(Op0, m_Sub(m_Specific(Op1), m_Value(Y))))
 1846         match(Op0, m_c_Or(m_Specific(A), m_Specific(B))))
 1853     if (match(Op0, m_And(m_Value(A), m_Value(B))) &&
 1855         (Op0->hasOneUse() || Op1->hasOneUse()))
 1863         match(Op0, m_c_Or(m_Specific(A), m_Specific(B))))
 1870     if (match(Op0, m_Xor(m_Value(A), m_Value(B))) &&
 1872         (Op0->hasOneUse() || Op1->hasOneUse()))
 1879     if (match(Op0, m_OneUse(m_c_Or(m_Value(Y), m_Specific(Op1)))))
 1890       return BinaryOperator::CreateAdd(Op0,
 1894     if (match(Op1, m_c_And(m_Value(Y), m_Specific(Op0))))
 1895       return BinaryOperator::CreateAnd(Op0,
 1901     if (match(Op0, m_Zero()) && match(Op1, m_SDiv(m_Value(X), m_APInt(DivC))) &&
 1910     if (match(Op1, m_Shl(m_Value(X), m_Value(Y))) && match(Op0, m_Zero()))
 1920       BinaryOperator *Add = BinaryOperator::CreateAdd(Op0, Zext);
 1929       return BinaryOperator::CreateAdd(Op0, Builder.CreateMul(A, B));
 1936       return BinaryOperator::CreateAdd(Op0, NewMul);
 1947     Value *NotA = Op0, *MinMax = Op1;
 1951       MinMax = Op0;
 1965         if (NotA == Op0)
 1976   if (match(Op0, m_PtrToInt(m_Value(LHSOp))) &&
 1982   if (match(Op0, m_Trunc(m_PtrToInt(m_Value(LHSOp)))) &&
 1997       match(Op0, m_OneUse(m_c_Xor(m_Specific(A), m_Specific(Op1))))) {
 2016   if (!I.hasNoSignedWrap() && willNotOverflowSignedSub(Op0, Op1, I)) {
 2020   if (!I.hasNoUnsignedWrap() && willNotOverflowUnsignedSub(Op0, Op1, I)) {