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;

}

Reply via email to