duplicate_insn_chain accepts rtx_insn
authorDavid Malcolm <dmalcolm@redhat.com>
Tue, 26 Aug 2014 19:51:02 +0000 (19:51 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
Tue, 26 Aug 2014 19:51:02 +0000 (19:51 +0000)
gcc/
2014-08-26  David Malcolm  <dmalcolm@redhat.com>

* rtl.h (duplicate_insn_chain): Strengthen both params from rtx to
rtx_insn *.
* cfgrtl.c (duplicate_insn_chain): Likewise for  params "from",
"to" and locals "insn", "next", "copy".  Remove now-redundant
checked cast.

From-SVN: r214544

gcc/ChangeLog
gcc/cfgrtl.c
gcc/rtl.h

index 49cd7aeb9d32e31da376cc034d08a9e7dbd73c62..a1c7898db4c5ad265143531b22fe6e40b3f92cc9 100644 (file)
@@ -1,3 +1,11 @@
+2014-08-26  David Malcolm  <dmalcolm@redhat.com>
+
+       * rtl.h (duplicate_insn_chain): Strengthen both params from rtx to
+       rtx_insn *.
+       * cfgrtl.c (duplicate_insn_chain): Likewise for  params "from",
+       "to" and locals "insn", "next", "copy".  Remove now-redundant
+       checked cast.
+
 2014-08-26  David Malcolm  <dmalcolm@redhat.com>
 
        * rtl.h (canonicalize_condition): Strengthen param 1 from rtx to
index c39049202a3ebd1e33377bb5167db7b8041b760a..7d3b8301e7874994433ce32dec2ec1dd9574fe1c 100644 (file)
@@ -4082,9 +4082,9 @@ cfg_layout_can_duplicate_bb_p (const_basic_block bb)
 }
 
 rtx_insn *
-duplicate_insn_chain (rtx from, rtx to)
+duplicate_insn_chain (rtx_insn *from, rtx_insn *to)
 {
-  rtx insn, next, copy;
+  rtx_insn *insn, *next, *copy;
   rtx_note *last;
 
   /* Avoid updating of boundaries of previous basic block.  The
@@ -4167,7 +4167,7 @@ duplicate_insn_chain (rtx from, rtx to)
     }
   insn = NEXT_INSN (last);
   delete_insn (last);
-  return safe_as_a <rtx_insn *> (insn);
+  return insn;
 }
 
 /* Create a duplicate of the basic block BB.  */
index edc6317a9a62a8aeab888494963826d1b09477e0..64c4184c0f19e64f3a74fc7eda2e1d477b98f8bc 100644 (file)
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -3200,7 +3200,7 @@ extern int fixup_args_size_notes (rtx, rtx, int);
 
 /* In cfgrtl.c */
 extern void print_rtl_with_bb (FILE *, const_rtx, int);
-extern rtx_insn *duplicate_insn_chain (rtx, rtx);
+extern rtx_insn *duplicate_insn_chain (rtx_insn *, rtx_insn *);
 
 /* In expmed.c */
 extern void init_expmed (void);