https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92750
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=34949 --- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So PR 34949 is what kept around the clobbers here. but that was before clobber_kind was added. So if we have: MEM[(struct Vec *)&a] ={v} {CLOBBER(bob)}; MEM[(struct Vec *)&a].val = _48; MEM[(struct Vec *)&a + 1B] ={v} {CLOBBER(bob)}; MEM[(struct Vec *)&a + 1B].val = _48; MEM[(struct Vec *)&a + 2B] ={v} {CLOBBER(bob)}; MEM[(struct Vec *)&a + 2B].val = _48; since that is the begining of the object and the object is fully initialized, removing the clobber for bob should be ok.