re PR middle-end/49801 (df_live_verify_transfer_functions fails with to use of CC_REG...
authorNick Clifton <nickc@redhat.com>
Mon, 10 Oct 2011 13:31:03 +0000 (13:31 +0000)
committerNick Clifton <nickc@gcc.gnu.org>
Mon, 10 Oct 2011 13:31:03 +0000 (13:31 +0000)
PR middle-end/49801
* compare-elim.c (find_comparisons_in_bb): Use df_get_live_in and
df_get_live_out instead of accessing the bitmaps directly.
(execute_compare_elim_after_reload): Remove calls to df_set_flags,
df_live_add_problem and df_analyze.

From-SVN: r179749

gcc/ChangeLog
gcc/compare-elim.c

index 9300fdc8b4813b6cc14fc79b944b6b30c905d37e..a28c1e2337a9fd81744c57f533443c21b3efa838 100644 (file)
@@ -1,3 +1,11 @@
+2011-10-10  Nick Clifton  <nickc@redhat.com>
+
+       PR middle-end/49801
+       * compare-elim.c (find_comparisons_in_bb): Use df_get_live_in and
+       df_get_live_out instead of accessing the bitmaps directly.
+       (execute_compare_elim_after_reload): Remove calls to df_set_flags,
+       df_live_add_problem and df_analyze.
+
 2011-10-10  Michael Matz  <matz@suse.de>
 
        PR middle-end/50638
index e5b2088292e09784422a50fb3568df8834d29e98..8d7fd010b9d766f725d25831fe22c070dd31af43 100644 (file)
@@ -356,7 +356,7 @@ find_comparisons_in_bb (struct dom_walk_data *data ATTRIBUTE_UNUSED,
 
       /* Look to see if the flags register is live outgoing here, and
         incoming to any successor not part of the extended basic block.  */
-      if (bitmap_bit_p (&DF_LIVE_BB_INFO (bb)->out, targetm.flags_regnum))
+      if (bitmap_bit_p (df_get_live_out (bb), targetm.flags_regnum))
        {
          edge e;
          edge_iterator ei;
@@ -364,7 +364,7 @@ find_comparisons_in_bb (struct dom_walk_data *data ATTRIBUTE_UNUSED,
          FOR_EACH_EDGE (e, ei, bb->succs)
            {
              basic_block dest = e->dest;
-             if (bitmap_bit_p (&DF_LIVE_BB_INFO (dest)->in,
+             if (bitmap_bit_p (df_get_live_in (bb),
                                targetm.flags_regnum)
                  && !single_pred_p (dest))
                {
@@ -580,8 +580,6 @@ try_eliminate_compare (struct comparison *cmp)
 static unsigned int
 execute_compare_elim_after_reload (void)
 {
-  df_set_flags (DF_DEFER_INSN_RESCAN);
-  df_live_add_problem ();
   df_analyze ();
 
   gcc_checking_assert (all_compares == NULL);
@@ -602,8 +600,6 @@ execute_compare_elim_after_reload (void)
 
       VEC_free (comparison_struct_p, heap, all_compares);
       all_compares = NULL;
-
-      df_analyze ();
     }
 
   return 0;