OSDN Git Service

* tree-inline.c: Include gt-tree-inline.h.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / ipa / ipacost-1.c
1 /* { dg-do compile } */
2 /* { dg-options "-Os -fipa-cp -fdump-ipa-cp -fno-early-inlining -fdump-tree-optimized"  } */
3
4 int array[100];
5
6 int t(int);
7
8 static int 
9 i_can_be_propagated_fully (int *a)
10 {
11   int i;
12   for (i=0;i<50;i++)
13   {
14     t(a[i]);
15     t(a[i+1]);
16     t(a[i+2]);
17     t(a[i+3]);
18   }
19 }
20 static int 
21 i_can_be_propagated_fully2 (int *a)
22 {
23   i_can_be_propagated_fully (a);
24   i_can_be_propagated_fully (a);
25   i_can_be_propagated_fully (a);
26 }
27 static int 
28 i_can_not_be_propagated_fully (int *a)
29 {
30   int i;
31   for (i=0;i<50;i++)
32   {
33     t(a[i]);
34     t(a[i+1]);
35     t(a[i+2]);
36     t(a[i+3]);
37   }
38 }
39 int 
40 i_can_not_be_propagated_fully2 (int *a)
41 {
42   i_can_not_be_propagated_fully (a);
43   i_can_not_be_propagated_fully (a);
44   i_can_not_be_propagated_fully (a);
45 }
46 main()
47 {
48   i_can_be_propagated_fully2 (array);
49   i_can_not_be_propagated_fully2 (array);
50 }
51
52 /* { dg-final { scan-ipa-dump-times "versioned function i_can_be_propagated_fully2" 1 "cp"  } } */
53 /* { dg-final { scan-ipa-dump-times "versioned function i_can_be_propagated_fully " 1 "cp"  } } */
54 /* { dg-final { scan-ipa-dump-not "versioned function i_can_not_be_propagated_fully2" "cp"  } } */
55 /* { dg-final { scan-ipa-dump-not "versioned function i_can_not_be_propagated_fully " "cp"  } } */
56 /* { dg-final { scan-tree-dump-not "i_can_be_propagated_fully " "optimized"  } } */
57 /* { dg-final { scan-tree-dump-not "i_can_be_propagated_fully2 " "optimized"  } } */
58 /* { dg-final { cleanup-ipa-dump "cp" } } */
59 /* { dg-final { cleanup-tree-dump "optimized" } } */