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 rguent...@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.