This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, committed] Params to modified_between_p


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);

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]