[Bug tree-optimization/70729] Loop marked with omp simd pragma is not vectorized
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Apr 29 11:24:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70729
--- Comment #13 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Yuri Rumyantsev from comment #12)
> Created attachment 38367 [details]
> modified patch
The loop->aux flagging looks redundant to me. Why is ->safelen only valid
before vectorization? I suppose we're lucky that no pass before vectorization
applies any unrolling (like predictive commoning for example) as such pass
must adjust ->safelen accordingly. But as LIM only cares for safelen > 0
_this_ property shouldn't change, not even by vectorization, no?
That said, if vectorization makes ->safelen invalid then the vectorizer
should adjust ->safelen properly (like any other passes invalidating it).
I suppose most of the testsuite fallout you see is from the pass re-ordering
(I didn't bootstrap/test that yet). The fails need to be investigated,
but let's handle the pass-reordering separately and converge on a way
to use ->safelen from LIM first.
More information about the Gcc-bugs
mailing list