summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2011-10-10 13:31:03 +0000
committerNick Clifton <nickc@gcc.gnu.org>2011-10-10 13:31:03 +0000
commit53fbb7241f0d2d4e3a4eb8b3225671b121091b06 (patch)
tree2eb4b117df168c517b749dfb0010e57535d90bd5
parent88fe4be8e100bab57f4a451d383babcc737a9806 (diff)
downloadgcc-53fbb7241f0d2d4e3a4eb8b3225671b121091b06.tar.gz
re PR middle-end/49801 (df_live_verify_transfer_functions fails with to use of CC_REGNUM and checking enabled in rx backend)
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
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/compare-elim.c8
2 files changed, 10 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9300fdc8b48..a28c1e2337a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/compare-elim.c b/gcc/compare-elim.c
index e5b2088292e..8d7fd010b9d 100644
--- a/gcc/compare-elim.c
+++ b/gcc/compare-elim.c
@@ -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;