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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot 
gnu.org
             Status|NEW                         |ASSIGNED

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
It's inlining of

void foo (const volatile unsigned int x, void * p)
{
  unsigned int _2;
  unsigned int _5;

  <bb 2> [local count: 1073741824]:
  _2 ={v} MEM <unsigned int> [(char * {ref-all})&x];

into

  foo (305419896, number_4(D));

Smaller testcase:

static void foo(const volatile unsigned int x, void *p) 
{ 
  __builtin_memcpy(p, &x, sizeof x);
}

void bar(void *number)
{ 
  foo(0, number);
}

Reply via email to