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

--- Comment #6 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
struct a{int a,b;};

int bar (struct a *a)
{
  if (!a->a)
    __builtin_abort ();
}

static
__attribute__ ((noinline))
int foo (struct a a)
{
  struct a b = a;
  bar (&b);
  return b.a+b.b;
}
int
test()
{
  struct a a={1,2};
  return foo (a);
}

Is an example where we also miss transformation with -fno-early-inlining -O2

Reply via email to