From bf77398cef20e7f1d079bb8b76d383c4ca163165 Mon Sep 17 00:00:00 2001 From: Zdenek Dvorak Date: Tue, 28 May 2002 14:53:47 +0200 Subject: basic-block.h (last_basic_block): Declare. * basic-block.h (last_basic_block): Declare. (expunge_block_nocompact): Declaration removed. (compact_blocks): Declare. * cfg.c (last_basic_block): New variable. (expunge_block_nocompact): Removed. (expunge_block): Do not compact basic blocks. (compact_blocks): New. * cfganal.c (flow_call_edges_add): Use the fact that bb indices no longer change. * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set last_basic_block. * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change real positions of blocks. (delete_unreachable_blocks): Simplified -- quadratic behavior now cannot occur. (cleanup_cfg): Compact blocks. * cfgrtl.c (create_basic_block): Insert basic blocks to the end of basic_block_info varray. (flow_delete_block): Comment update. (back_edge_of_syntactic_loop_p): Modify position check code. (verify_flow_info): Update checking. * flow.c (calculate_global_regs_live): Use FOR_EACH_BB. * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed. (find_if_case_1, find_if_case_2, if_convert): Use the fact that bb indices no longer change. * lcm.c (optimize_mode_switching): Replace n_basic_blocks with last_basic_block. * predict.c (estimate_bb_frequencies): Remove unneccessary code. * profile.c (branch_prob): Compact blocks. * sched-rgn.c (find_rgns): Replace n_basic_blocks with last_basic_block. From-SVN: r53957 --- gcc/profile.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gcc/profile.c') diff --git a/gcc/profile.c b/gcc/profile.c index dcc75c0..8f7d5ef 100644 --- a/gcc/profile.c +++ b/gcc/profile.c @@ -831,6 +831,9 @@ branch_prob () num_edges = NUM_EDGES (el); alloc_aux_for_edges (sizeof (struct edge_info)); + /* The basic blocks are expected to be numbered sequentially. */ + compact_blocks (); + ignored_edges = 0; for (i = 0 ; i < num_edges ; i++) { -- cgit v1.1