aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgbuild.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cfgbuild.c')
-rw-r--r--gcc/cfgbuild.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/gcc/cfgbuild.c b/gcc/cfgbuild.c
index c6d506a..a092675 100644
--- a/gcc/cfgbuild.c
+++ b/gcc/cfgbuild.c
@@ -499,7 +499,6 @@ find_bb_boundaries (basic_block bb)
remove_edge (fallthru);
/* BB is unreachable at this point - we need to determine its profile
once edges are built. */
- bb->frequency = 0;
bb->count = profile_count::uninitialized ();
flow_transfer_insn = NULL;
debug_insn = NULL;
@@ -669,7 +668,6 @@ find_many_sub_basic_blocks (sbitmap blocks)
{
bool initialized_src = false, uninitialized_src = false;
bb->count = profile_count::zero ();
- bb->frequency = 0;
FOR_EACH_EDGE (e, ei, bb->preds)
{
if (e->count ().initialized_p ())
@@ -679,8 +677,6 @@ find_many_sub_basic_blocks (sbitmap blocks)
}
else
uninitialized_src = true;
- if (e->probability.initialized_p ())
- bb->frequency += EDGE_FREQUENCY (e);
}
/* When some edges are missing with read profile, this is
most likely because RTL expansion introduced loop.
@@ -692,7 +688,7 @@ find_many_sub_basic_blocks (sbitmap blocks)
precisely once. */
if (!initialized_src
|| (uninitialized_src
- && profile_status_for_fn (cfun) != PROFILE_READ))
+ && profile_status_for_fn (cfun) < PROFILE_GUESSED))
bb->count = profile_count::uninitialized ();
}
/* If nothing changed, there is no need to create new BBs. */