This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH, committed] Params to modified_between_p
- From: David Malcolm <dmalcolm at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 04 Sep 2014 21:25:38 -0400
- Subject: [PATCH, committed] Params to modified_between_p
- Authentication-results: sourceware.org; auth=none
The attached patch strengthens the 2nd and 3rd params of
modified_between_p from const_rtx to const rtx_insn * (eliminating a
checked cast), and thus falls under the pre-approval granted by Jeff
here:
https://gcc.gnu.org/ml/gcc-patches/2014-08/msg01310.html
Bootstrapped on x86_64-unknown-linux-gnu (Fedora 20), and has been
rebuilt as part of a config-list.mk build for all working configurations
(albeit with other patches for the latter case).
Committed to trunk as r214931.
Index: gcc/rtlanal.c
===================================================================
--- gcc/rtlanal.c (revision 214930)
+++ gcc/rtlanal.c (revision 214931)
@@ -987,10 +987,8 @@
X contains a MEM; this routine does use memory aliasing. */
int
-modified_between_p (const_rtx x, const_rtx uncast_start, const_rtx end)
+modified_between_p (const_rtx x, const rtx_insn *start, const rtx_insn *end)
{
- const rtx_insn *start =
- safe_as_a <const rtx_insn *> (uncast_start);
const enum rtx_code code = GET_CODE (x);
const char *fmt;
int i, j;
Index: gcc/ChangeLog
===================================================================
--- gcc/ChangeLog (revision 214930)
+++ gcc/ChangeLog (revision 214931)
@@ -1,5 +1,12 @@
2014-09-05 David Malcolm <dmalcolm@redhat.com>
+ * rtl.h (modified_between_p): Strengthen params 2 and 3 from
+ const_rtx to const rtx_insn *.
+ * rtlanal.c (modified_between_p): Likewise, eliminating a checked
+ cast.
+
+2014-09-05 David Malcolm <dmalcolm@redhat.com>
+
* emit-rtl.c (try_split): Update NULL_RTX to NULL in call to
fixup_args_size_notes.
* expr.c (fixup_args_size_notes): Strengthen first two params from
Index: gcc/rtl.h
===================================================================
--- gcc/rtl.h (revision 214930)
+++ gcc/rtl.h (revision 214931)
@@ -2743,7 +2743,7 @@
extern int reg_set_between_p (const_rtx, const_rtx, const_rtx);
extern int commutative_operand_precedence (rtx);
extern bool swap_commutative_operands_p (rtx, rtx);
-extern int modified_between_p (const_rtx, const_rtx, const_rtx);
+extern int modified_between_p (const_rtx, const rtx_insn *, const rtx_insn *);
extern int no_labels_between_p (const rtx_insn *, const rtx_insn *);
extern int modified_in_p (const_rtx, const_rtx);
extern int reg_set_p (const_rtx, const_rtx);