blob: 487e72ef4ca1b5582173c8365b0ef6df8cbcd346 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2 -fipa-sra -fdump-tree-eipa_sra-slim" } */
/* { dg-require-effective-target non_strict_align } */
struct bovid
{
float a;
int b;
struct bovid *next;
};
static int
__attribute__((noinline))
foo (struct bovid *cow, int i)
{
i++;
if (cow->next)
foo (cow->next, i);
return i;
}
int main (int argc, char *argv[])
{
struct bovid cow;
cow.a = 7.4;
cow.b = 6;
cow.next = (struct bovid *) 0;
return foo (&cow, 0);
}
/* { dg-final { scan-tree-dump-times "foo " 1 "eipa_sra" } } */
/* { dg-final { cleanup-tree-dump "eipa_sra" } } */