* gcc.dg/ipa/inline-2.c: Fix implicit declarations.
[official-gcc.git] / gcc / testsuite / gcc.dg / ipa / ipacost-2.c
blob290d1254c2d92a72043bb95310bb0fd5f1b18fca
1 /* { dg-do compile } */
2 /* { dg-options "-O3 -fipa-cp -fipa-cp-clone -fdump-ipa-cp -fno-early-inlining -fdump-tree-optimized" } */
3 /* { dg-add-options bind_pic_locally } */
5 int array[100];
7 int t(int);
9 static int
10 i_can_be_propagated_fully (int *a)
12 int i;
13 for (i=0;i<50;i++)
15 t(a[i]);
16 t(a[i+1]);
17 t(a[i+2]);
18 t(a[i+3]);
21 static int
22 i_can_be_propagated_fully2 (int *a)
24 i_can_be_propagated_fully (a);
25 i_can_be_propagated_fully (a);
26 i_can_be_propagated_fully (a);
28 static int
29 i_can_not_be_propagated_fully (int *a)
31 int i;
32 for (i=0;i<50;i++)
34 t(a[i]);
35 t(a[i+1]);
36 t(a[i+2]);
37 t(a[i+3]);
40 int
41 i_can_not_be_propagated_fully2 (int *a)
43 int i;
44 i_can_not_be_propagated_fully (a);
45 for (i=0;i<50;i++)
47 t(a[i] + 1);
48 t(a[i+1] + 1);
49 t(a[i+2] + 1);
50 t(a[i+3] + 1);
52 i_can_not_be_propagated_fully (a);
53 for (i=0;i<50;i++)
55 t(a[i] + 2);
56 t(a[i+1] + 2);
57 t(a[i+2] + 2);
58 t(a[i+3] + 2);
60 i_can_not_be_propagated_fully (a);
62 int
63 main()
65 int i;
66 i_can_be_propagated_fully2 (array);
67 i_can_be_propagated_fully2 (array);
69 for (i = 0; i < 7; i++)
70 i_can_not_be_propagated_fully2 (array);
71 i_can_not_be_propagated_fully2 (array);
74 /* { dg-final { scan-ipa-dump-times "Creating a specialized node of i_can_be_propagated_fully2" 1 "cp" } } */
75 /* { dg-final { scan-ipa-dump-times "Creating a specialized node of i_can_be_propagated_fully/" 1 "cp" } } */
76 /* { dg-final { scan-ipa-dump-not "Creating a specialized node of i_can_not_be_propagated_fully2" "cp" } } */
77 /* { dg-final { scan-ipa-dump-not "Creating a specialized node of i_can_not_be_propagated_fully/" "cp" } } */
78 /* { dg-final { scan-tree-dump-not "i_can_be_propagated_fully \\(" "optimized" } } */
79 /* { dg-final { scan-tree-dump-not "i_can_be_propagated_fully2 \\(" "optimized" } } */
80 /* { dg-final { cleanup-ipa-dump "cp" } } */
81 /* { dg-final { cleanup-tree-dump "optimized" } } */