131
|
1 /* { dg-options "-O2 -fdump-ipa-profile-all" } */
|
111
|
2 int g;
|
|
3
|
|
4 __attribute__((noinline)) void foo (int n)
|
|
5 {
|
|
6 switch (n)
|
|
7 {
|
|
8 case 1:
|
|
9 g++; break;
|
|
10 case 2:
|
|
11 g += 2; break;
|
|
12 case 3:
|
|
13 g += 1; break;
|
|
14 case 4:
|
|
15 g += 3; break;
|
|
16 case 5:
|
|
17 g += 4; break;
|
|
18 case 6:
|
|
19 g += 5; break;
|
|
20 case 7:
|
|
21 g += 6; break;
|
|
22 case 8:
|
|
23 g += 7; break;
|
|
24 case 9:
|
|
25 g += 8; break;
|
|
26 default:
|
|
27 g += 8; break;
|
|
28 }
|
|
29 }
|
|
30
|
|
31 int main ()
|
|
32 {
|
|
33 int i;
|
|
34 for (i = 0; i < 10000; i++)
|
|
35 foo ((i * i) % 5);
|
|
36 return 0;
|
|
37 }
|
|
38 /* autofdo cannot do that precise execution numbers */
|
131
|
39 /* { dg-final-use-not-autofdo { scan-ipa-dump-times ";; basic block\[^\\n\]*count 4000" 2 "profile"} } */
|
|
40 /* { dg-final-use-not-autofdo { scan-ipa-dump-times ";; basic block\[^\\n\]*count 2000" 1 "profile"} } */
|