HomePhabricator

[SLC] Allow llvm.pow(x,2.0) -> x*x etc even if no pow() lib func

Authored by foad on Apr 30 2020, 8:53 AM.

Description

[SLC] Allow llvm.pow(x,2.0) -> x*x etc even if no pow() lib func

optimizePow does not create any new calls to pow, so it should work
regardless of whether the pow library function is available. This allows
it to optimize the llvm.pow intrinsic on targets with no math library.

Based on a patch by Tim Renouf.

Differential Revision: https://reviews.llvm.org/D68231