Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/predict-3.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-profile_estimate" } */ extern int global; int bar(int); void foo (int bound) { int i, ret = 0; for (i = 0; i <= bound; i++) { if (i < bound - 2) global += bar (i); /* The following test is redundant with the loop bound check in the for stmt and thus eliminated by FRE which makes the controlled stmt always executed and thus equivalent to 100%. Thus the heuristic only applies three times. */ if (i <= bound) global += bar (i); if (i + 1 < bound) global += bar (i); if (i != bound) global += bar (i); } } /* { dg-final { scan-tree-dump-times "guess loop iv compare heuristics of edge\[^:\]*: 64.00%" 3 "profile_estimate"} } */