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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #1)
> >  __builtin_memset (&s, 0, 32);
> >into
> >  __builtin_memset (&MEM <char> [(void *)&s + 8B], 0, 20);
> 
> I suspect if we change the memset to be 
> MEM <char[32]> [(void *)&s] = {};
> 
> (This is PR 36602)
> 
> There is already code in DSE to handle the above triming off the first part.

Sure, but late uninit pass is very late, so I think there is no tree DSE after
that, so we might want to add one conditionally based on the presence of
.DEFERRED_INIT calls before or something like that.

Reply via email to