diff options
| author | Bjorn Pettersson <bjorn.a.pettersson@ericsson.com> | 2019-09-03 09:33:55 +0000 |
|---|---|---|
| committer | Bjorn Pettersson <bjorn.a.pettersson@ericsson.com> | 2019-09-03 09:33:55 +0000 |
| commit | dd18ce4501e18e5271f39da6ba3dc594843a0415 (patch) | |
| tree | ef7003325959830238947a6b1dd4390beb5530df /llvm/lib/Transforms/Vectorize | |
| parent | 0760d348eb716e08cd85def3ac39193d3ebecb08 (diff) | |
| download | bcm5719-llvm-dd18ce4501e18e5271f39da6ba3dc594843a0415.tar.gz bcm5719-llvm-dd18ce4501e18e5271f39da6ba3dc594843a0415.zip | |
[LV] Fix miscompiles by adding non-header PHI nodes to AllowedExit
Summary:
Fold-tail currently supports reduction last-vector-value live-out's,
but has yet to support last-scalar-value live-outs, including
non-header phi's. As it relies on AllowedExit in order to detect
them and bail out we need to add the non-header PHI nodes to
AllowedExit, otherwise we end up with miscompiles.
Solves https://bugs.llvm.org/show_bug.cgi?id=43166
Reviewers: fhahn, Ayal
Reviewed By: fhahn, Ayal
Subscribers: anna, hiraditya, rkruppe, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67074
llvm-svn: 370721
Diffstat (limited to 'llvm/lib/Transforms/Vectorize')
| -rw-r--r-- | llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp index 21e75d55a8c..e5f9407e155 100644 --- a/llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp +++ b/llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp @@ -595,6 +595,7 @@ bool LoopVectorizationLegality::canVectorizeInstrs() { // Unsafe cyclic dependencies with header phis are identified during // legalization for reduction, induction and first order // recurrences. + AllowedExit.insert(&I); continue; } |

