reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
418 if (match(Op0, m_FNeg(m_Value(X))) && match(Op1, m_FNeg(m_Value(Y)))) 419 return BinaryOperator::CreateFMulFMF(X, Y, &I); 476 if (match(&I, m_c_FMul(m_OneUse(m_FDiv(m_Value(X), m_Value(Y))), 480 return BinaryOperator::CreateFDivFMF(NewFMul, Y, &I); 488 match(Op1, m_OneUse(m_Intrinsic<Intrinsic::sqrt>(m_Value(Y))))) { 489 Value *XY = Builder.CreateFMulFMF(X, Y, &I); 501 m_Intrinsic<Intrinsic::sqrt>(m_Value(Y))))) { 503 return BinaryOperator::CreateFDivFMF(XX, Y, &I); 506 if (match(Op0, m_FDiv(m_Intrinsic<Intrinsic::sqrt>(m_Value(Y)), 509 return BinaryOperator::CreateFDivFMF(Y, XX, &I); 516 match(Op1, m_Intrinsic<Intrinsic::exp>(m_Value(Y))) && 518 Value *XY = Builder.CreateFAddFMF(X, Y, &I); 526 match(Op1, m_Intrinsic<Intrinsic::exp2>(m_Value(Y))) && 528 Value *XY = Builder.CreateFAddFMF(X, Y, &I); 540 if (match(Op0, m_OneUse(m_c_FMul(m_Specific(Op1), m_Value(Y)))) && 541 Op1 != Y) { 543 return BinaryOperator::CreateFMulFMF(XX, Y, &I); 545 if (match(Op1, m_OneUse(m_c_FMul(m_Specific(Op0), m_Value(Y)))) && 546 Op0 != Y) { 548 return BinaryOperator::CreateFMulFMF(XX, Y, &I); 558 Y = Op1; 563 Y = Op0; 568 Value *LogXTimesY = Builder.CreateFMulFMF(Log2, Y, &I); 569 return BinaryOperator::CreateFSubFMF(LogXTimesY, Y, &I);