summaryrefslogtreecommitdiff
path: root/gcc/bb-reorder.c
diff options
context:
space:
mode:
authorbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2009-03-30 08:58:52 +0000
committerbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>2009-03-30 08:58:52 +0000
commitee4d588d7a0b3430203709f857041dad9b2e2a60 (patch)
tree5c06cd60705906a16ed5c11d8b3b2e9b2f8f7bcc /gcc/bb-reorder.c
parent306780762a48ebf274599a054046ef1877869be9 (diff)
downloadgcc-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.c12
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 */