http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55674
--- Comment #2 from Markus Trippelsdorf <markus at trippelsdorf dot de> 2012-12-13 14:46:31 UTC --- In the tramp3d-v4 case, when I run with this simple debug patch: diff --git a/gcc/predict.c b/gcc/predict.c index 5d3de29..bf3a259 100644 --- a/gcc/predict.c +++ b/gcc/predict.c @@ -147,6 +147,7 @@ maybe_hot_count_p (struct function *fun, gcov_type count) gcc_assert (ws); min_count = ws->min_counter; } + fprintf (stderr, "count=%i min_count=%i profile_info->sum_max=%i\n", count, min_count, profile_info->sum_max); return (count >= min_count); } it shows that in the middle of the output, min_count changes from 8585 to 0: ... ~600000 similar lines with min_count=8585 count=3 min_count=8585 profile_info->sum_max=257406300 count=3 min_count=8585 profile_info->sum_max=257406300 count=3 min_count=8585 profile_info->sum_max=257406300 count=3 min_count=8585 profile_info->sum_max=257406300 count=40 min_count=0 profile_info->sum_max=257406300 count=61 min_count=0 profile_info->sum_max=257406300 count=40 min_count=0 profile_info->sum_max=257406300 count=40 min_count=0 profile_info->sum_max=257406300 ... ~600000 similar lines with min_count=0