libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / ipa / ipcp-agg-13.c
blob47e9e530aa919e372e4c69fc3dc702e6e5385f41
1 /* { dg-do compile } */
2 /* { dg-options "-O3 -fno-ipa-sra -fdump-ipa-cp --param ipa-cp-eval-threshold=1" } */
4 int data;
5 int fn();
7 int __attribute__((noinline)) f1 (int *p)
9 data = *p;
10 fn ();
11 return 0;
14 int __attribute__((noinline)) f2 (int *p)
16 *p = *p + 1;
17 f1 (p);
18 return 1;
21 int __attribute__((noinline)) f3 (int a, int *p)
23 *p = a - 2;
24 f1 (p);
25 return 1;
28 int f4 ()
30 int i;
32 for (i = 0; i < 100; i++)
34 int v = 2;
36 f2 (&v);
37 f3 (6, &v);
40 return 0;
43 /* { dg-final { scan-ipa-dump "Aggregate replacements: 0\\\[0]=2" "cp" } } */
44 /* { dg-final { scan-ipa-dump "Aggregate replacements: 0\\\[0]=3" "cp" } } */
45 /* { dg-final { scan-ipa-dump "Aggregate replacements: 0\\\[0]=4" "cp" } } */