https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100260
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
CC| |ebotcazou at gcc dot gnu.org,
| |jakub at gcc dot gnu.org
Last reconfirmed| |2021-04-26
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed. store-merging doesn't seem to consider memset() as candidate to
merge with:
Processing basic block <2>:
Starting active chain number 1 with statement:
s_pam.size = 1;
The base object is:
&s_pam
stmt causes chain termination:
_1 = use (&s_pam);
Terminating chain with 1 stores
unsigned int foo ()
{
struct pam s_pam;
int _1;
unsigned int _6;
<bb 2> [local count: 1073741824]:
memset (&s_pam, 0, 20);
s_pam.size = 1;
_1 = use (&s_pam);
_6 = (unsigned int) _1;
s_pam ={v} {CLOBBER};
return _6;
}