[Bug middle-end/104550] bogus warning from -Wuninitialized + -ftrivial-auto-var-init=pattern

rguenther at suse dot de gcc-bugzilla@gcc.gnu.org
Thu Feb 17 07:54:55 GMT 2022


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

--- Comment #12 from rguenther at suse dot de <rguenther at suse dot de> ---
On Wed, 16 Feb 2022, qinzhao at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104550
> 
> --- Comment #7 from qinzhao at gcc dot gnu.org ---
> (In reply to rguenther@suse.de from comment #6)
> > > --- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
> > > Maybe __builtin_clear_padding lowering should mark the load "MEM[(struct
> > > vx_audio_level *)&info]" as not needing a warning.
> > 
> > Maybe padding clearing shouldn’t be exposed early but handled by
> > .DEFFEREd_INIT expansion?
> > 
> 
> If padding clearing is exposed too late till RTL expansion, some tree
> optimization will not be able to be applied on the expanded stores? 

Doesn't the same argument apply to .DEFERRED_INIT itself?  Dependent
on the .DEFERRED_INIT expansion strathegy the padding clearing might
be unneccessary (for example when using memset())?

> the approach to mark the load "MEM" as not needing a warning might be better?

It's probably a good thing anyway, the 'R' in the RMW cycle isn't really
a use.


More information about the Gcc-bugs mailing list