diff options
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/config/alpha/alpha.c | 2 | ||||
-rw-r--r-- | gcc/config/sh/sh.c | 3 | ||||
-rw-r--r-- | gcc/rtl.h | 2 | ||||
-rw-r--r-- | gcc/rtlanal.c | 5 |
5 files changed, 16 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 41c95be..f615146 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2014-09-12 David Malcolm <dmalcolm@redhat.com> + + * config/alpha/alpha.c (alpha_ra_ever_killed): Replace NULL_RTX + with NULL when dealing with an insn. + * config/sh/sh.c (sh_reorg): Strengthen local "last_float_move" + from rtx to rtx_insn *. + * rtl.h (reg_set_between_p): Strengthen params 2 and 3 from + const_rtx to const rtx_insn *. + * rtlanal.c (reg_set_between_p): Likewise, removing a checked cast. + 2014-09-12 Trevor Saunders <tsaunders@mozilla.com> * hash-table.h (gt_pch_nx): Don't call gt_pch_note_object within an diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index a011daf..1fdde29 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -5001,7 +5001,7 @@ alpha_ra_ever_killed (void) top = get_insns (); pop_topmost_sequence (); - return reg_set_between_p (gen_rtx_REG (Pmode, REG_RA), top, NULL_RTX); + return reg_set_between_p (gen_rtx_REG (Pmode, REG_RA), top, NULL); } diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index 8c1da68..2f0f298 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -6281,7 +6281,8 @@ sh_reorg (void) /* Scan ahead looking for a barrier to stick the constant table behind. */ rtx_insn *barrier = find_barrier (num_mova, mova, insn); - rtx last_float_move = NULL_RTX, last_float = 0, *last_float_addr = NULL; + rtx_insn *last_float_move = NULL; + rtx last_float = 0, *last_float_addr = NULL; int need_aligned_label = 0; if (num_mova && ! mova_p (mova)) @@ -2759,7 +2759,7 @@ extern int reg_mentioned_p (const_rtx, const_rtx); extern int count_occurrences (const_rtx, const_rtx, int); extern int reg_referenced_p (const_rtx, const_rtx); extern int reg_used_between_p (const_rtx, const rtx_insn *, const rtx_insn *); -extern int reg_set_between_p (const_rtx, const_rtx, const_rtx); +extern int reg_set_between_p (const_rtx, const rtx_insn *, const rtx_insn *); extern int commutative_operand_precedence (rtx); extern bool swap_commutative_operands_p (rtx, rtx); extern int modified_between_p (const_rtx, const rtx_insn *, const rtx_insn *); diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index 299b8162..e361f0f 100644 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -947,10 +947,9 @@ reg_referenced_p (const_rtx x, const_rtx body) FROM_INSN and TO_INSN (exclusive of those two). */ int -reg_set_between_p (const_rtx reg, const_rtx uncast_from_insn, const_rtx to_insn) +reg_set_between_p (const_rtx reg, const rtx_insn *from_insn, + const rtx_insn *to_insn) { - const rtx_insn *from_insn = - safe_as_a <const rtx_insn *> (uncast_from_insn); const rtx_insn *insn; if (from_insn == to_insn) |