diff options
author | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-03-30 08:58:52 +0000 |
---|---|---|
committer | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-03-30 08:58:52 +0000 |
commit | ee4d588d7a0b3430203709f857041dad9b2e2a60 (patch) | |
tree | 5c06cd60705906a16ed5c11d8b3b2e9b2f8f7bcc /gcc/bb-reorder.c | |
parent | 306780762a48ebf274599a054046ef1877869be9 (diff) | |
download | gcc-ee4d588d7a0b3430203709f857041dad9b2e2a60.tar.gz |
2009-03-30 Paolo Bonzini <bonzini@gnu.org>
* bb-reorder.c (partition_hot_cold_basic_blocks): Do not
enter/exit cfglayout mode.
(pass_partition_block): Require it.
* combine.c (find_single_use, reg_dead_at_p): Use CFG.
(combine_instructions): Track basic blocks instead of labels.
(update_cfg_for_uncondjump): New.
(try_combine): Use it. Update jumps after rescanning.
(pass_combine): Require PROP_cfglayout.
* passes.c (pass_outof_cfg_layout_mode): Move after regmove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145283 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/bb-reorder.c')
-rw-r--r-- | gcc/bb-reorder.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c index b636c1e3a1d..d1a36c13346 100644 --- a/gcc/bb-reorder.c +++ b/gcc/bb-reorder.c @@ -2177,7 +2177,6 @@ struct rtl_opt_pass pass_duplicate_computed_gotos = static void partition_hot_cold_basic_blocks (void) { - basic_block cur_bb; edge *crossing_edges; int n_crossing_edges; int max_edges = 2 * last_basic_block; @@ -2187,13 +2186,6 @@ partition_hot_cold_basic_blocks (void) crossing_edges = XCNEWVEC (edge, max_edges); - cfg_layout_initialize (0); - - FOR_EACH_BB (cur_bb) - if (cur_bb->index >= NUM_FIXED_BLOCKS - && cur_bb->next_bb->index >= NUM_FIXED_BLOCKS) - cur_bb->aux = cur_bb->next_bb; - find_rarely_executed_basic_blocks_and_crossing_edges (&crossing_edges, &n_crossing_edges, &max_edges); @@ -2202,8 +2194,6 @@ partition_hot_cold_basic_blocks (void) fix_edges_for_rarely_executed_code (crossing_edges, n_crossing_edges); free (crossing_edges); - - cfg_layout_finalize (); } static bool @@ -2300,7 +2290,7 @@ struct rtl_opt_pass pass_partition_blocks = NULL, /* next */ 0, /* static_pass_number */ TV_REORDER_BLOCKS, /* tv_id */ - 0, /* properties_required */ + PROP_cfglayout, /* properties_required */ 0, /* properties_provided */ 0, /* properties_destroyed */ 0, /* todo_flags_start */ |