Evandro Menezes
05e9c2ac2e
[InstCombine] Simplify pow(2.0, itofp(y)) to ldexp(1.0, y)
...
Simplify `pow(2.0, itofp(y))` to `ldexp(1.0, y)`.
Differential revision: https://reviews.llvm.org/D65979
llvm-svn: 369120
2019-08-16 15:33:41 +00:00
David Bolvansky
2689ed0f9d
[InstCombine][NFC] Added comments about constants in tests for pow->exp2 fold
...
llvm-svn: 368360
2019-08-08 22:37:51 +00:00
David Bolvansky
db913d9618
[InstCombine] Adjusted pow-exp tests for Windows [NFC]
...
Summary: https://bugs.llvm.org/show_bug.cgi?id=42740
Reviewers: efriedma, hans
Reviewed By: hans
Subscribers: spatel, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65220
llvm-svn: 366925
2019-07-24 17:01:20 +00:00
David Bolvansky
e23be09e66
[InstCombine] Reorder recently added/improved pow transformations
...
Changed cases are now faster with exp2.
llvm-svn: 365758
2019-07-11 10:55:04 +00:00
David Bolvansky
0735cc1954
[InstCombine] pow(C,x) -> exp2(log2(C)*x)
...
Summary:
Transform
pow(C,x)
To
exp2(log2(C)*x)
if C > 0, C != inf, C != NaN (and C is not power of 2, since we have some fold for such case already).
log(C) is folded by the compiler and exp2 is much faster to compute than pow.
Reviewers: spatel, efriedma, evandro
Reviewed By: evandro
Subscribers: lebedev.ri, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D64099
llvm-svn: 365637
2019-07-10 14:43:27 +00:00
David Bolvansky
cb1a5a705c
[SimplifyLibCalls] powf(x, sitofp(n)) -> powi(x, n)
...
Summary:
Partially solves https://bugs.llvm.org/show_bug.cgi?id=42190
Reviewers: spatel, nikic, efriedma
Reviewed By: efriedma
Subscribers: efriedma, nikic, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D63038
llvm-svn: 364940
2019-07-02 15:58:45 +00:00
David Bolvansky
54b1044983
[NFC] Added tests for D63038
...
llvm-svn: 362875
2019-06-08 12:07:59 +00:00