diff options
Diffstat (limited to 'gcc/profile.c')
-rw-r--r-- | gcc/profile.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/profile.c b/gcc/profile.c index 054f0771f47..1e0c3b87d93 100644 --- a/gcc/profile.c +++ b/gcc/profile.c @@ -1381,7 +1381,9 @@ rest_of_handle_branch_prob (void) flow_loops_dump (&loops, dump_file, NULL, 0); /* Estimate using heuristics if no profiling info is available. */ - if (flag_guess_branch_prob && profile_status == PROFILE_ABSENT) + if (flag_guess_branch_prob + && (profile_status == PROFILE_ABSENT + || (profile_status == PROFILE_READ && !flag_tree_based_profiling))) estimate_probability (&loops); flow_loops_free (&loops); |