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); 423 if (match(Op0, m_FNeg(m_Value(X))) && match(Op1, m_Constant(C))) 424 return BinaryOperator::CreateFMulFMF(X, ConstantExpr::getFNeg(C), &I); 427 if (Op0 == Op1 && match(Op0, m_Intrinsic<Intrinsic::fabs>(m_Value(X)))) 428 return BinaryOperator::CreateFMulFMF(X, X, &I); 428 return BinaryOperator::CreateFMulFMF(X, X, &I); 439 if (match(Op0, m_OneUse(m_FDiv(m_Constant(C1), m_Value(X))))) { 443 return BinaryOperator::CreateFDivFMF(CC1, X, &I); 445 if (match(Op0, m_FDiv(m_Value(X), m_Constant(C1)))) { 449 return BinaryOperator::CreateFMulFMF(X, CDivC1, &I); 455 return BinaryOperator::CreateFDivFMF(X, C1DivC, &I); 461 if (match(Op0, m_OneUse(m_FAdd(m_Value(X), m_Constant(C1))))) { 464 Value *XC = Builder.CreateFMulFMF(X, C, &I); 467 if (match(Op0, m_OneUse(m_FSub(m_Constant(C1), m_Value(X))))) { 470 Value *XC = Builder.CreateFMulFMF(X, C, &I); 476 if (match(&I, m_c_FMul(m_OneUse(m_FDiv(m_Value(X), m_Value(Y))), 479 Value *NewFMul = Builder.CreateFMulFMF(X, Z, &I); 487 match(Op0, m_OneUse(m_Intrinsic<Intrinsic::sqrt>(m_Value(X)))) && 489 Value *XY = Builder.CreateFMulFMF(X, Y, &I); 500 if (match(Op0, m_FDiv(m_Value(X), 502 Value *XX = Builder.CreateFMulFMF(X, X, &I); 502 Value *XX = Builder.CreateFMulFMF(X, X, &I); 507 m_Value(X)))) { 508 Value *XX = Builder.CreateFMulFMF(X, X, &I); 508 Value *XX = Builder.CreateFMulFMF(X, X, &I); 515 if (match(Op0, m_Intrinsic<Intrinsic::exp>(m_Value(X))) && 518 Value *XY = Builder.CreateFAddFMF(X, Y, &I); 525 if (match(Op0, m_Intrinsic<Intrinsic::exp2>(m_Value(X))) && 528 Value *XY = Builder.CreateFAddFMF(X, Y, &I); 556 m_OneUse(m_FMul(m_Value(X), m_SpecificFP(0.5))))))) { 561 m_OneUse(m_FMul(m_Value(X), m_SpecificFP(0.5))))))) { 566 Log2->setArgOperand(0, X);