1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-profile_estimate" } */
3 
4 int v1, v2;
f(int x,int y)5 void f(int x, int y)
6 {
7   if (x) goto A;
8   if (y) goto B;
9   return;
10 
11  A: __attribute__((cold))
12   v1 = x;
13   return;
14 
15  B: __attribute__((hot))
16   v2 = y;
17   return;
18 }
19 
20 /* { dg-final { scan-tree-dump-times "hot label heuristics" 1 "profile_estimate" } } */
21 /* { dg-final { scan-tree-dump-times "cold label heuristics" 1 "profile_estimate" } } */
22 /* { dg-final { scan-tree-dump-times "combined heuristics: 0\\\..*" 1 "profile_estimate" } } */
23 
24 /* Note: we're attempting to match some number > 6000, i.e. > 60%.
25    The exact number ought to be tweekable without having to juggle
26    the testcase around too much.  */
27 /* { dg-final { scan-tree-dump-times "combined heuristics: \[6-9\]\[0-9\]\\\..*" 1 "profile_estimate" } } */
28