diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-16 22:28:29 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-16 22:28:29 +0000 |
commit | 41d24834b5784dbbb08553f36eaa80386fc75d0a (patch) | |
tree | 6ad911f298df01a4dbc580f0c53b37b1d2a4a63f /gcc/profile.c | |
parent | f9c6943bb1d4e5d0333f2d519ecf678898502570 (diff) | |
download | gcc-41d24834b5784dbbb08553f36eaa80386fc75d0a.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84840 138bc75d-0d04-0410-961f-82ee72b054a4
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 1d16b4368ac..ad62f87ccb4 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 ()) |