blob: a73cb8b63fc521ad409e5a7291a0f5ec5fab2ca7 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O3 -fdump-ipa-cp-details -fno-early-inlining --param ipa-cp-max-recursive-depth=8 --param ipa-cp-eval-threshold=1" } */
struct V {
int f0;
int f1;
};
int data[100];
int fn ();
int recur_fn (struct V * __restrict v)
{
int i = v->f0;
int j = v->f1;
struct V t;
if (j > 100)
{
fn ();
return 1;
}
data[i] = i;
t.f0 = i - 2;
t.f1 = j + 1;
recur_fn (&t);
return i * j;
}
int main ()
{
struct V v;
v.f0 = 1;
v.f1 = 3;
return recur_fn (&v);
}
/* { dg-final { scan-ipa-dump-times "Creating a specialized node of recur_fn/\[0-9\]*\\." 8 "cp" } } */