diff options
author | Michael Kuperstein <mkuper@google.com> | 2016-07-22 21:28:48 +0000 |
---|---|---|
committer | Michael Kuperstein <mkuper@google.com> | 2016-07-22 21:28:48 +0000 |
commit | 38e72980936c94adc0a79db9225c5aa99cf42784 (patch) | |
tree | 4e8563f736cfabec0b1023bac9e372d0ccb66e8d /lldb/packages/Python/lldbsuite | |
parent | cbc4377af18eec1e4e3b51d18fa92da404533d24 (diff) | |
download | bcm5719-llvm-38e72980936c94adc0a79db9225c5aa99cf42784.tar.gz bcm5719-llvm-38e72980936c94adc0a79db9225c5aa99cf42784.zip |
[SLPVectorizer] Vectorize reverse-order loads in horizontal reductions
When vectorizing a tree rooted at a store bundle, we currently try to sort the
stores before building the tree, so that the stores can be vectorized. For other
trees, the order of the root bundle - which determines the order of all other
bundles - is arbitrary. That is bad, since if a leaf bundle of consecutive loads
happens to appear in the wrong order, we will not vectorize it.
This is partially mitigated when the root is a binary operator, by trying to
build a "reversed" tree when that's considered profitable. This patch extends the
workaround we have for binops to trees rooted in a horizontal reduction.
This fixes PR28474.
Differential Revision: https://reviews.llvm.org/D22554
llvm-svn: 276477
Diffstat (limited to 'lldb/packages/Python/lldbsuite')
0 files changed, 0 insertions, 0 deletions