summaryrefslogtreecommitdiff
path: root/gcc/tree-optimize.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2009-11-23 20:01:29 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2009-11-23 20:01:29 +0000
commit5fce5299af4810e08744160f9387d11ef1623a94 (patch)
treec9663c118c473b5fc50a9f3781ed3452e9f94056 /gcc/tree-optimize.c
parente74b076da6338645b4e2010f97ef50577b314d5f (diff)
downloadgcc-5fce5299af4810e08744160f9387d11ef1623a94.tar.gz
* ipa-cp.c (ipcp_compute_node_scale): Work around completely
wrong profile updates. * predict.c (counts_to_freqs): Be expected for ENTRY/EXIT block having largest frequency. * ira-live.c (ira_implicitly_set_insn_hard_regs): Silecne used uninitalized warning. * tree-optimize.c (execute_fixup_cfg): Rescale entry and exit block frequencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154462 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-optimize.c')
-rw-r--r--gcc/tree-optimize.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/tree-optimize.c b/gcc/tree-optimize.c
index 61d687daa13..778658a70b4 100644
--- a/gcc/tree-optimize.c
+++ b/gcc/tree-optimize.c
@@ -255,6 +255,10 @@ execute_fixup_cfg (void)
else
count_scale = REG_BR_PROB_BASE;
+ ENTRY_BLOCK_PTR->count = cgraph_node (current_function_decl)->count;
+ EXIT_BLOCK_PTR->count = (EXIT_BLOCK_PTR->count * count_scale
+ + REG_BR_PROB_BASE / 2) / REG_BR_PROB_BASE;
+
FOR_EACH_BB (bb)
{
bb->count = (bb->count * count_scale