OSDN Git Service

2009-03-30 Vladimir Makarov <vmakarov@redhat.com>
authorvmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Mar 2009 17:59:21 +0000 (17:59 +0000)
committervmakarov <vmakarov@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Mar 2009 17:59:21 +0000 (17:59 +0000)
* 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@145309 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/ira-build.c
gcc/ira-color.c
gcc/ira-emit.c
gcc/ira-lives.c
gcc/reload.c

index ae107c4..0a22fef 100644 (file)
@@ -1,3 +1,17 @@
+2009-03-30  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * 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-03-30  Jan Hubicka  <jh@suse.cz>
 
        * except.c (label_to_region_map): Fix thinko.
index eb1cdf5..2535964 100644 (file)
@@ -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_LR_IN (bb), FIRST_PSEUDO_REGISTER, i, bi)
+  EXECUTE_IF_SET_IN_REG_SET (df_get_live_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_LR_IN (e->dest);
+  live_in_regs = df_get_live_in (e->dest);
   border_allocnos = ira_curr_loop_tree_node->border_allocnos;
-  EXECUTE_IF_SET_IN_REG_SET (DF_LR_OUT (e->src),
+  EXECUTE_IF_SET_IN_REG_SET (df_get_live_out (e->src),
                             FIRST_PSEUDO_REGISTER, i, bi)
     if (bitmap_bit_p (live_in_regs, i))
       {
index a3dfddb..c298376 100644 (file)
@@ -1020,8 +1020,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_LR_OUT (e->src), regno)
-                   && bitmap_bit_p (DF_LR_IN (e->dest), regno))))
+               || (bitmap_bit_p (df_get_live_out (e->src), regno)
+                   && bitmap_bit_p (df_get_live_in (e->dest), regno))))
          freq += EDGE_FREQUENCY (e);
     }
   else
@@ -1029,8 +1029,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_LR_OUT (e->src), regno)
-               && bitmap_bit_p (DF_LR_IN (e->dest), regno)))
+           || (bitmap_bit_p (df_get_live_out (e->src), regno)
+               && bitmap_bit_p (df_get_live_in (e->dest), regno)))
          freq += EDGE_FREQUENCY (e);
       VEC_free (edge, heap, edges);
     }
index df10ea4..2db8fa9 100644 (file)
@@ -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_LR_IN (e->dest),
+  EXECUTE_IF_SET_IN_REG_SET (df_get_live_in (e->dest),
                             FIRST_PSEUDO_REGISTER, regno, bi)
-    if (bitmap_bit_p (DF_LR_OUT (e->src), regno))
+    if (bitmap_bit_p (df_get_live_out (e->src), regno))
       {
        src_allocno = src_map[regno];
        dest_allocno = dest_map[regno];
@@ -1028,15 +1028,16 @@ 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_LR_IN (bb));
+      bitmap_copy (live_through, df_get_live_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_LR_OUT (bb));
+      bitmap_copy (live_through, df_get_live_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_LR_IN (e->dest), DF_LR_OUT (bb));
+         bitmap_and (live_through, df_get_live_in (e->dest),
+                     df_get_live_out (bb));
          add_range_and_copies_from_move_list
            ((move_t) e->aux, node, live_through,
             REG_FREQ_FROM_EDGE_FREQ (EDGE_FREQUENCY (e)));
index 7ad903d..c7d9572 100644 (file)
@@ -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_LR_OUT (bb);
+      reg_live_out = df_get_live_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);
index a7e9309..3b4c51e 100644 (file)
@@ -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_LR_OUT (ENTRY_BLOCK_PTR),
+               || (! bitmap_bit_p (df_get_live_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_LR_OUT (ENTRY_BLOCK_PTR),
+          || (!bitmap_bit_p (df_get_live_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