summaryrefslogtreecommitdiff
path: root/gcc/profile.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2005-07-15 23:26:50 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2005-07-15 23:26:50 +0000
commitb956beef99f2b5e1ca765d09d428cf282fd1fcb5 (patch)
tree5cdc05558c66c61fb008fa241248ed71433738ba /gcc/profile.c
parent2fdd1d9f108ee0d69d0f8c4d38093f4cbc40e8e4 (diff)
downloadgcc-b956beef99f2b5e1ca765d09d428cf282fd1fcb5.tar.gz
* profile.c (rest_of_handle_branch_prob): Fix handling of estimation
after RTL profiling. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@102069 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/profile.c')
-rw-r--r--gcc/profile.c4
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);