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

References

lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
  414     return BinaryOperator::CreateFNegFMF(Op0, &I);
  418   if (match(Op0, m_FNeg(m_Value(X))) && match(Op1, m_FNeg(m_Value(Y))))
  423   if (match(Op0, m_FNeg(m_Value(X))) && match(Op1, m_Constant(C)))
  427   if (Op0 == Op1 && match(Op0, m_Intrinsic<Intrinsic::fabs>(m_Value(X))))
  427   if (Op0 == Op1 && match(Op0, m_Intrinsic<Intrinsic::fabs>(m_Value(X))))
  431   if (Value *V = SimplifySelectsFeedingBinaryOp(I, Op0, Op1))
  439       if (match(Op0, m_OneUse(m_FDiv(m_Constant(C1), m_Value(X))))) {
  445       if (match(Op0, m_FDiv(m_Value(X), m_Constant(C1)))) {
  454         if (Op0->hasOneUse() && C1DivC->isNormalFP())
  461       if (match(Op0, m_OneUse(m_FAdd(m_Value(X), m_Constant(C1))))) {
  467       if (match(Op0, m_OneUse(m_FSub(m_Constant(C1), m_Value(X))))) {
  487         match(Op0, m_OneUse(m_Intrinsic<Intrinsic::sqrt>(m_Value(X)))) &&
  496     if (I.hasNoNaNs() && I.hasNoSignedZeros() && Op0 == Op1 &&
  497         Op0->hasNUses(2)) {
  500       if (match(Op0, m_FDiv(m_Value(X),
  506       if (match(Op0, m_FDiv(m_Intrinsic<Intrinsic::sqrt>(m_Value(Y)),
  515     if (match(Op0, m_Intrinsic<Intrinsic::exp>(m_Value(X))) &&
  517         (Op0->hasOneUse() || Op1->hasOneUse())) {
  525     if (match(Op0, m_Intrinsic<Intrinsic::exp2>(m_Value(X))) &&
  527         (Op0->hasOneUse() || Op1->hasOneUse())) {
  540     if (match(Op0, m_OneUse(m_c_FMul(m_Specific(Op1), m_Value(Y)))) &&
  545     if (match(Op1, m_OneUse(m_c_FMul(m_Specific(Op0), m_Value(Y)))) &&
  546         Op0 != Y) {
  547       Value *XX = Builder.CreateFMulFMF(Op0, Op0, &I);
  547       Value *XX = Builder.CreateFMulFMF(Op0, Op0, &I);
  555     if (match(Op0, m_OneUse(m_Intrinsic<Intrinsic::log2>(
  557       Log2 = cast<IntrinsicInst>(Op0);
  563       Y = Op0;