diff options
author | Renato Golin <renato.golin@linaro.org> | 2018-10-10 18:49:49 +0000 |
---|---|---|
committer | Renato Golin <renato.golin@linaro.org> | 2018-10-10 18:49:49 +0000 |
commit | cb19c8e3aafdb97be694ffdf44ed54484eb80900 (patch) | |
tree | 1c318dc17bbd77ab624de1e203ac70666c743dd4 /llvm/lib/CodeGen/MachinePipeliner.cpp | |
parent | 2e76cab47f6bba7de4940f014a0f45c02b6e256c (diff) | |
download | llvm-cb19c8e3aafdb97be694ffdf44ed54484eb80900.zip llvm-cb19c8e3aafdb97be694ffdf44ed54484eb80900.tar.gz llvm-cb19c8e3aafdb97be694ffdf44ed54484eb80900.tar.bz2 |
[LV] Add a new reduction pattern match
Adding a new reduction pattern match for vectorizing code similar to TSVC s3111:
for (int i = 0; i < N; i++)
if (a[i] > b)
sum += a[i];
This patch adds support for fadd, fsub and fmull, as well as multiple
branches and different (but compatible) instructions (ex. add+sub) in
different branches.
I have forwarded to trunk, added fsub and fmul functionality and
additional tests, but the credit goes to Takahiro, who did most of the
actual work.
Differential Revision: https://reviews.llvm.org/D49168
Patch by Takahiro Miyoshi <takahiro.miyoshi@linaro.org>.
llvm-svn: 344172
Diffstat (limited to 'llvm/lib/CodeGen/MachinePipeliner.cpp')
0 files changed, 0 insertions, 0 deletions