diff options
author | Richard Henderson <rth@redhat.com> | 2004-07-16 15:28:29 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2004-07-16 15:28:29 -0700 |
commit | 6809cbf90dffd5a6fccf96d67c5f520e1a162eb6 (patch) | |
tree | 6ad911f298df01a4dbc580f0c53b37b1d2a4a63f /gcc/profile.c | |
parent | 7b48e1e0f0ea539efeca2a5be7f8fc93714d41bd (diff) | |
download | gcc-6809cbf90dffd5a6fccf96d67c5f520e1a162eb6.zip gcc-6809cbf90dffd5a6fccf96d67c5f520e1a162eb6.tar.gz gcc-6809cbf90dffd5a6fccf96d67c5f520e1a162eb6.tar.bz2 |
basic-block.h (remove_fake_exit_edges): Declare.
* basic-block.h (remove_fake_exit_edges): Declare.
* cfganal.c (remove_fake_predecessors): Rename from
remove_fake_successors; iterate over predecessors.
(remove_fake_exit_edges): New.
* cfgcleanup.c (try_optimize_cfg): Use it.
* gcse.c (one_pre_gcse_pass, store_motion): Likewise.
* predict.c (estimate_probability): Likewise.
(tree_estimate_probability, note_prediction_to_br_prob): Likewise.
* tree-cfg.c (make_edges): Likewise.
* tree-ssa-pre.c (fini_pre): Likewise.
* profile.c (instrument_edges): Don't remove_fake_edges.
(branch_prob): Do it earlier here.
From-SVN: r84840
Diffstat (limited to 'gcc/profile.c')
-rw-r--r-- | gcc/profile.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/profile.c b/gcc/profile.c index 1d16b43..ad62f87 100644 --- a/gcc/profile.c +++ b/gcc/profile.c @@ -139,8 +139,6 @@ instrument_edges (struct edge_list *el) int num_edges = NUM_EDGES (el); basic_block bb; - remove_fake_edges (); - FOR_BB_BETWEEN (bb, ENTRY_BLOCK_PTR, NULL, next_bb) { edge e; @@ -971,6 +969,8 @@ branch_prob (void) compute_value_histograms (n_values, values); } + remove_fake_edges (); + /* For each edge not on the spanning tree, add counting code. */ if (profile_arc_flag && coverage_counter_alloc (GCOV_COUNTER_ARCS, num_instrumented)) @@ -993,7 +993,6 @@ branch_prob (void) } } - remove_fake_edges (); free_aux_for_edges (); if (!ir_type ()) |