summaryrefslogtreecommitdiff
path: root/gcc/tree-optimize.c
diff options
context:
space:
mode:
authordavidxl <davidxl@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-04 06:22:15 +0000
committerdavidxl <davidxl@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-04 06:22:15 +0000
commitece972301c72ddbccfc0f5f8216c520524e56391 (patch)
tree573c37679ccb755434de48b3b6bb7f22613ba32b /gcc/tree-optimize.c
parenta648ea35de7f6748b22e11085d7ca2bd129731c6 (diff)
downloadgcc-ece972301c72ddbccfc0f5f8216c520524e56391.tar.gz
Fix a bug in cfg fixup
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177313 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 411886cacb6..5479d9026a6 100644
--- a/gcc/tree-optimize.c
+++ b/gcc/tree-optimize.c
@@ -256,6 +256,10 @@ execute_fixup_cfg (void)
EXIT_BLOCK_PTR->count = (EXIT_BLOCK_PTR->count * count_scale
+ REG_BR_PROB_BASE / 2) / REG_BR_PROB_BASE;
+ FOR_EACH_EDGE (e, ei, ENTRY_BLOCK_PTR->succs)
+ e->count = (e->count * count_scale
+ + REG_BR_PROB_BASE / 2) / REG_BR_PROB_BASE;
+
FOR_EACH_BB (bb)
{
bb->count = (bb->count * count_scale