https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64567

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Rasmus Villemoes from comment #2)
> (In reply to Andreas Schwab from comment #1)
> > This transformation is incorrect if the lvalue may be pointing to a
> > read-only object.
> 
> True. And one may also incur an extra cache penalty if the cache line
> containing foo was already held shared but not exclusive.

Or incorrect due to C11/C++11 memory model.  Anyways it is correct for scalar
auto variables and this should be transformed at the gimple level if not
already.

Reply via email to