Home | History | Annotate | Download | only in Utils

Lines Matching defs:Pow

1120     if (UnsafeFPShrink && Callee->getName() == "pow" &&
1136 if (Op1C->isExactlyValue(1.0)) // pow(1.0, x) -> 1.0
1138 if (Op1C->isExactlyValue(2.0)) // pow(2.0, x) -> exp2(x)
1145 if (Op2C->getValueAPF().isZero()) // pow(x, 0.0) -> 1.0
1149 // Expand pow(x, 0.5) to (x == -infinity ? +infinity : fabs(sqrt(x))).
1150 // This is faster than calling pow, and still handles negative zero
1165 if (Op2C->isExactlyValue(1.0)) // pow(x, 1.0) -> x
1167 if (Op2C->isExactlyValue(2.0)) // pow(x, 2.0) -> x*x
1169 if (Op2C->isExactlyValue(-1.0)) // pow(x, -1.0) -> 1.0/x
1683 PowOpt Pow;
1689 : Cos(UnsafeFPShrink), Pow(UnsafeFPShrink), Exp2(UnsafeFPShrink) {
1768 case Intrinsic::pow:
1769 return &Pow;
1829 case LibFunc::pow:
1831 return &Pow;
1959 // * cbrt(sqrt(x)) -> pow(x,1/6)
1960 // * cbrt(sqrt(x)) -> pow(x,1/9)
1972 // * log(pow(x,y)) -> y*log(x)
1977 // pow, powf, powl:
1978 // * pow(exp(x),y) -> exp(x*y)
1979 // * pow(sqrt(x),y) -> pow(x,y*0.5)
1980 // * pow(pow(x,y),z)-> pow(x,y*z)
1991 // * sqrt(Nroot(x)) -> pow(x,1/(2*N))
1992 // * sqrt(pow(x,y)) -> pow(|x|,y*0.5)