/* { dg-do compile } */ /* { dg-options "-O2 -fdump-ipa-sra-details" } */ struct S { short a, b, c; }; extern int gc; extern int *arr; static void __attribute__((noinline)) foo (struct S *p) { for (int i = 0; i < gc; i++) arr += p->b; } void bar (short a, short b, short c) { struct S s; s.a = a; s.b = b; s.c = c; foo (&s); return; } /* { dg-final { scan-ipa-dump "Will split parameter" "sra" } } */