[Bug tree-optimization/50522] C++ std::valarray vectorization missed optimization

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Sep 26 10:47:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50522

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2011-09-26
     Ever Confirmed|0                           |1

--- Comment #2 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-09-26 10:36:38 UTC ---
(In reply to comment #1)
> Created attachment 25365 [details]
> gcc47-pr50522-hack.patch
> 
> The perhaps safer hack, which handles only pointers initialized from
> casted TYPE_RESTRICT or POINTER_PLUS_EXPR of TYPE_RESTRICT.  Both functions are
> still vectorized.

Looks like a hack ;)

Restrict support was designed to work without the TYPE_RESTRICT checks but
ISTR there were miscompiles without adding them - maybe all latent issues
have been fixed now, but you might run into PR48764 more often.

Restrict will propagate through ptr/int/ptr conversions but should end up
aliased whenever two resulting pointers are based off the same initial
restrict tag.  Thus, if removing TYPE_RESTRICT checks bootstraps and tests
ok, I'd approve that patch ...



More information about the Gcc-bugs mailing list