From 2dd81ece8deba1432209691a6a974fba71e42b35 Mon Sep 17 00:00:00 2001 From: vmakarov Date: Fri, 3 Apr 2009 22:02:33 +0000 Subject: [PATCH] 2009-04-03 Vladimir Makarov Revert 2009-03-30 Vladimir Makarov * reload.c (push_reload, find_dummy_reload): Use df_get_live_out instead of DF_LR_OUT. * ira-lives.c (process_bb_node_lives): Ditto. * ira-color.c (ira_loop_edge_freq): Use df_get_live_{out,in} instead of DF_LR_{OUT,IN}. * ira-emit.c (generate_edge_moves, add_ranges_and_copies): Ditto. * ira-build.c (create_bb_allocnos, create_loop_allocnos): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145521 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 12 ++++++++++++ gcc/ira-build.c | 6 +++--- gcc/ira-color.c | 8 ++++---- gcc/ira-emit.c | 11 +++++------ gcc/ira-lives.c | 2 +- gcc/reload.c | 4 ++-- 6 files changed, 27 insertions(+), 16 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 79061d345613..ebb5da7d8daf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,15 @@ +2009-04-03 Vladimir Makarov + + Revert + 2009-03-30 Vladimir Makarov + * reload.c (push_reload, find_dummy_reload): Use df_get_live_out + instead of DF_LR_OUT. + * ira-lives.c (process_bb_node_lives): Ditto. + * ira-color.c (ira_loop_edge_freq): Use df_get_live_{out,in} + instead of DF_LR_{OUT,IN}. + * ira-emit.c (generate_edge_moves, add_ranges_and_copies): Ditto. + * ira-build.c (create_bb_allocnos, create_loop_allocnos): Ditto. + 2009-04-03 Steven Bosscher * omp-low.c (pass_expand_omp): Don't claim to provide PROP_gimple_lomp. diff --git a/gcc/ira-build.c b/gcc/ira-build.c index ff406077cbcb..9662c4ab7dac 100644 --- a/gcc/ira-build.c +++ b/gcc/ira-build.c @@ -1495,7 +1495,7 @@ create_bb_allocnos (ira_loop_tree_node_t bb_node) create_insn_allocnos (PATTERN (insn), false); /* It might be a allocno living through from one subloop to another. */ - EXECUTE_IF_SET_IN_REG_SET (df_get_live_in (bb), FIRST_PSEUDO_REGISTER, i, bi) + EXECUTE_IF_SET_IN_REG_SET (DF_LR_IN (bb), FIRST_PSEUDO_REGISTER, i, bi) if (ira_curr_regno_allocno_map[i] == NULL) ira_create_allocno (i, false, ira_curr_loop_tree_node); } @@ -1511,9 +1511,9 @@ create_loop_allocnos (edge e) bitmap_iterator bi; ira_loop_tree_node_t parent; - live_in_regs = df_get_live_in (e->dest); + live_in_regs = DF_LR_IN (e->dest); border_allocnos = ira_curr_loop_tree_node->border_allocnos; - EXECUTE_IF_SET_IN_REG_SET (df_get_live_out (e->src), + EXECUTE_IF_SET_IN_REG_SET (DF_LR_OUT (e->src), FIRST_PSEUDO_REGISTER, i, bi) if (bitmap_bit_p (live_in_regs, i)) { diff --git a/gcc/ira-color.c b/gcc/ira-color.c index d61d39e9a01c..4f1d302b7c77 100644 --- a/gcc/ira-color.c +++ b/gcc/ira-color.c @@ -1022,8 +1022,8 @@ ira_loop_edge_freq (ira_loop_tree_node_t loop_node, int regno, bool exit_p) FOR_EACH_EDGE (e, ei, loop_node->loop->header->preds) if (e->src != loop_node->loop->latch && (regno < 0 - || (bitmap_bit_p (df_get_live_out (e->src), regno) - && bitmap_bit_p (df_get_live_in (e->dest), regno)))) + || (bitmap_bit_p (DF_LR_OUT (e->src), regno) + && bitmap_bit_p (DF_LR_IN (e->dest), regno)))) freq += EDGE_FREQUENCY (e); } else @@ -1031,8 +1031,8 @@ ira_loop_edge_freq (ira_loop_tree_node_t loop_node, int regno, bool exit_p) edges = get_loop_exit_edges (loop_node->loop); for (i = 0; VEC_iterate (edge, edges, i, e); i++) if (regno < 0 - || (bitmap_bit_p (df_get_live_out (e->src), regno) - && bitmap_bit_p (df_get_live_in (e->dest), regno))) + || (bitmap_bit_p (DF_LR_OUT (e->src), regno) + && bitmap_bit_p (DF_LR_IN (e->dest), regno))) freq += EDGE_FREQUENCY (e); VEC_free (edge, heap, edges); } diff --git a/gcc/ira-emit.c b/gcc/ira-emit.c index 2db8fa965aee..df10ea45d62e 100644 --- a/gcc/ira-emit.c +++ b/gcc/ira-emit.c @@ -390,9 +390,9 @@ generate_edge_moves (edge e) return; src_map = src_loop_node->regno_allocno_map; dest_map = dest_loop_node->regno_allocno_map; - EXECUTE_IF_SET_IN_REG_SET (df_get_live_in (e->dest), + EXECUTE_IF_SET_IN_REG_SET (DF_LR_IN (e->dest), FIRST_PSEUDO_REGISTER, regno, bi) - if (bitmap_bit_p (df_get_live_out (e->src), regno)) + if (bitmap_bit_p (DF_LR_OUT (e->src), regno)) { src_allocno = src_map[regno]; dest_allocno = dest_map[regno]; @@ -1028,16 +1028,15 @@ add_ranges_and_copies (void) destination block) to use for searching allocnos by their regnos because of subsequent IR flattening. */ node = IRA_BB_NODE (bb)->parent; - bitmap_copy (live_through, df_get_live_in (bb)); + bitmap_copy (live_through, DF_LR_IN (bb)); add_range_and_copies_from_move_list (at_bb_start[bb->index], node, live_through, REG_FREQ_FROM_BB (bb)); - bitmap_copy (live_through, df_get_live_out (bb)); + bitmap_copy (live_through, DF_LR_OUT (bb)); add_range_and_copies_from_move_list (at_bb_end[bb->index], node, live_through, REG_FREQ_FROM_BB (bb)); FOR_EACH_EDGE (e, ei, bb->succs) { - bitmap_and (live_through, df_get_live_in (e->dest), - df_get_live_out (bb)); + bitmap_and (live_through, DF_LR_IN (e->dest), DF_LR_OUT (bb)); add_range_and_copies_from_move_list ((move_t) e->aux, node, live_through, REG_FREQ_FROM_EDGE_FREQ (EDGE_FREQUENCY (e))); diff --git a/gcc/ira-lives.c b/gcc/ira-lives.c index c7d957236876..7ad903d2e441 100644 --- a/gcc/ira-lives.c +++ b/gcc/ira-lives.c @@ -838,7 +838,7 @@ process_bb_node_lives (ira_loop_tree_node_t loop_tree_node) high_pressure_start_point[ira_reg_class_cover[i]] = -1; } curr_bb_node = loop_tree_node; - reg_live_out = df_get_live_out (bb); + reg_live_out = DF_LR_OUT (bb); sparseset_clear (allocnos_live); REG_SET_TO_HARD_REG_SET (hard_regs_live, reg_live_out); AND_COMPL_HARD_REG_SET (hard_regs_live, eliminable_regset); diff --git a/gcc/reload.c b/gcc/reload.c index 3b4c51e8c56a..a7e9309f63c6 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -1549,7 +1549,7 @@ push_reload (rtx in, rtx out, rtx *inloc, rtx *outloc, && reg_mentioned_p (XEXP (note, 0), in) /* Check that a former pseudo is valid; see find_dummy_reload. */ && (ORIGINAL_REGNO (XEXP (note, 0)) < FIRST_PSEUDO_REGISTER - || (! bitmap_bit_p (df_get_live_out (ENTRY_BLOCK_PTR), + || (! bitmap_bit_p (DF_LR_OUT (ENTRY_BLOCK_PTR), ORIGINAL_REGNO (XEXP (note, 0))) && hard_regno_nregs[regno][GET_MODE (XEXP (note, 0))] == 1)) && ! refers_to_regno_for_reload_p (regno, @@ -2027,7 +2027,7 @@ find_dummy_reload (rtx real_in, rtx real_out, rtx *inloc, rtx *outloc, can ignore the conflict). We must never introduce writes to such hardregs, as they would clobber the other live pseudo. See PR 20973. */ - || (!bitmap_bit_p (df_get_live_out (ENTRY_BLOCK_PTR), + || (!bitmap_bit_p (DF_LR_OUT (ENTRY_BLOCK_PTR), ORIGINAL_REGNO (in)) /* Similarly, only do this if we can be sure that the death note is still valid. global can assign some hardreg to -- 2.39.5