gcc/gcc/testsuite/gcc.dg/predict-9.c

26 lines
621 B
C

/* { dg-do compile } */
/* { dg-options "-O2 -fdisable-tree-evrp -fdump-tree-profile_estimate -fno-finite-loops -fdisable-tree-ethread" } */
/* Note: Threader causes removal of for loop. */
extern int global;
extern int global2;
extern int global3;
void foo (int base)
{
int i;
while (global < 10)
{
if(global || global2 || global3)
return;
for (i = base; i < 10; i++)
if (i > 123)
return;
}
}
/* { dg-final { scan-tree-dump-times "first match heuristics: 2.20%" 3 "profile_estimate"} } */
/* { dg-final { scan-tree-dump-times "first match heuristics: 5.50%" 1 "profile_estimate"} } */