1 /* { dg-do compile } */
2 /* { dg-options "-O3 --param ipa-cp-eval-threshold=1 -fdump-ipa-cp" } */
3
4 int foo();
5 int data[100];
6
7 __attribute__((noinline)) static int recur_fn (int i, int j, int depth)
8 {
9 if (depth > 10)
10 return 1;
11
12 data[i + j]++;
13
14 if (depth & 3)
15 recur_fn (i, 1, depth + 1);
16 else
17 recur_fn (i, j & 1, depth + 1);
18
19 foo();
20
21 return i + j;
22 }
23
24 int caller (int v, int depth)
25 {
26 recur_fn (1, v, depth);
27
28 return 0;
29 }
30
31 /* { dg-final { scan-ipa-dump-times "Clone of recur_fn/" 2 "cp" } } */