diff options
| author | Alexey Bataev <a.bataev@hotmail.com> | 2017-02-03 08:08:50 +0000 |
|---|---|---|
| committer | Alexey Bataev <a.bataev@hotmail.com> | 2017-02-03 08:08:50 +0000 |
| commit | a16cfe6fa9249a14f6b715cddc76d409c9a4040a (patch) | |
| tree | 0d7c70079e3bccfe298638b00cd89f16a58c2a1e /llvm/lib/CodeGen/PatchableFunction.cpp | |
| parent | 1380edf4ef9469e2dda07020436a1b229c1ad804 (diff) | |
| download | bcm5719-llvm-a16cfe6fa9249a14f6b715cddc76d409c9a4040a.tar.gz bcm5719-llvm-a16cfe6fa9249a14f6b715cddc76d409c9a4040a.zip | |
[SLP] Fix for PR31690: Allow using of extra values in horizontal reductions.
Currently LLVM supports vectorization of horizontal reduction
instructions with initial value set to 0. Patch supports vectorization
of reduction with non-zero initial values. Also it supports a
vectorization of instructions with some extra arguments, like:
float f(float x[], int a, int b) {
float p = a % b;
p += x[0] + 3;
for (int i = 1; i < 32; i++)
p += x[i];
return p;
}
Patch allows vectorization of this kind of horizontal reductions.
Differential Revision: https://reviews.llvm.org/D28961
llvm-svn: 293994
Diffstat (limited to 'llvm/lib/CodeGen/PatchableFunction.cpp')
0 files changed, 0 insertions, 0 deletions

