aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineCombiner.cpp
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2017-02-13 08:01:26 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2017-02-13 08:01:26 +0000
commite8b1536e21944ddca7b439c16b977af843137996 (patch)
treeb05bfd93e89a34c6ee16a2e285e078dbc321c819 /llvm/lib/CodeGen/MachineCombiner.cpp
parentbbe1c073873e7934809be14494c1988450c962b3 (diff)
downloadllvm-e8b1536e21944ddca7b439c16b977af843137996.zip
llvm-e8b1536e21944ddca7b439c16b977af843137996.tar.gz
llvm-e8b1536e21944ddca7b439c16b977af843137996.tar.bz2
[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/D29727 llvm-svn: 294934
Diffstat (limited to 'llvm/lib/CodeGen/MachineCombiner.cpp')
0 files changed, 0 insertions, 0 deletions