[Bug tree-optimization/19347] Invariant load not moved out of loop
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jun 24 10:12:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=19347
--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
The vectorizer already moves the load out of the loop after the runtime
alias-check. The vectorizer could hoist the load out of the scalar epilogue
loop,
that's missing, or it could annotate refs with dependence info so a later
invariant motion pass could do this.
There is a missed optimization for regular invariant motion or rather
TBAA alias analysis. While osmesa->buffer might point to the clearpixel
member, once we advance to the buffer member we may no longer access the
clearpixel member via the osmesa_context structure (storing via unsigned
int into buffer makes the dynamic type of the context no longer
osmesa_context).
But it's hard to exploit this I think.
More information about the Gcc-bugs
mailing list