On Wed, May 03, 2017 at 06:44:46PM +0200, Richard Biener wrote:
> On May 3, 2017 6:22:14 PM GMT+02:00, Jakub Jelinek <ja...@redhat.com> wrote:
> >On Wed, May 03, 2017 at 06:18:08PM +0200, Jan Hubicka wrote:
> >> Hi,
> >> my change to sreals makes GCC to be miscompiled with GCC 4.1 and -O0.
> > This is
> >> related to fact that using sreal implies a non-trivial constructor
> >and thus
> >> ggc_cleared_alloc is no longer standard compliant.  I however do not
> >quite understand
> >> why GCC 4.1 manages to misoptimize this code but I have checked that
> >this helps
> >> to fix the issue and hopefully will re-start our periodic testers.
> >
> >Is store-merging pass able to optimize that back into reasonable code
> >(sure, not into ggc_cleared_alloc)?
> 
> Whether it is or not, the previous code was buggy.  The zeroing does not
> prevail until after the object construction begins (not sure whether for
> PODs this would be different).

Sure, I'm not questioning the patch, just wondering if we shouldn't improve
store-merging further (we want to do it anyway for e.g. bitop adjacent
operations etc.).

        Jakub

Reply via email to