Eric Christopher
cee313d288
Revert "Temporarily Revert "Add basic loop fusion pass.""
...
The reversion apparently deleted the test/Transforms directory.
Will be re-reverting again.
llvm-svn: 358552
2019-04-17 04:52:47 +00:00
Eric Christopher
a863435128
Temporarily Revert "Add basic loop fusion pass."
...
As it's causing some bot failures (and per request from kbarton).
This reverts commit r358543/ab70da07286e618016e78247e4a24fcb84077fda.
llvm-svn: 358546
2019-04-17 02:12:23 +00:00
Sanjay Patel
773e04c883
[InstCombine] peek through fdiv to find a squared sqrt
...
A more general canonicalization between fdiv and fmul would not
handle this case because that would have to be limited by uses
to prevent 2 values from becoming 3 values:
(x/y) * (x/y) --> (x*x) / (y*y)
(But we probably should still have that limited -- but more general --
canonicalization independently of this change.)
llvm-svn: 357943
2019-04-08 21:23:50 +00:00
Sanjay Patel
bf1417d7e4
[InstCombine] add extra-use tests for fmul+sqrt; NFC
...
llvm-svn: 357939
2019-04-08 20:37:34 +00:00
Sanjay Patel
c538c50113
[InstCombine] add more tests for fmul+fdiv+sqrt; NFC
...
llvm-svn: 357816
2019-04-05 20:54:35 +00:00
Sanjay Patel
7e3e7f8040
[InstCombine] add tests for sqrt+fdiv+fmul; NFC
...
Examples based on recent llvm-dev thread. These are specific
patterns of more general enhancements that would solve these.
llvm-svn: 357780
2019-04-05 16:52:57 +00:00
Sanjay Patel
63b1028953
[InstCombine] add nnan requirement for sqrt(x) * sqrt(y) -> sqrt(x*y)
...
This is similar to D43765.
llvm-svn: 327797
2018-03-18 14:32:54 +00:00
Sanjay Patel
d32104e1b2
[InstCombine] allow fmul-sqrt folds with less than full -ffast-math
...
Also, add a Builder method for intrinsics to reduce code duplication for clients.
llvm-svn: 325960
2018-02-23 21:16:12 +00:00
Dmitry Venikov
a58d8deb3a
[InstCombine] Missed optimization in math expression: squashing sqrt functions
...
Summary: This patch enables folding under -ffast-math flag sqrt(a) * sqrt(b) -> sqrt(a*b)
Reviewers: hfinkel, spatel, davide
Reviewed By: spatel, davide
Subscribers: davide, llvm-commits
Differential Revision: https://reviews.llvm.org/D41322
llvm-svn: 321637
2018-01-02 05:58:11 +00:00