Use rtx_insn more within peep2
authorDavid Malcolm <dmalcolm@redhat.com>
Fri, 5 Sep 2014 14:47:02 +0000 (14:47 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
Fri, 5 Sep 2014 14:47:02 +0000 (14:47 +0000)
gcc/ChangeLog:
2014-09-05  David Malcolm  <dmalcolm@redhat.com>

* recog.c (peep2_attempt): Strengthen return type from rtx to
rtx_insn *.
(peep2_update_life): Likewise for params "last", "prev", removing
a checked cast made redundant by this.
(peephole2_optimize): Likewise for local "last".

From-SVN: r214966

gcc/ChangeLog
gcc/recog.c

index 0a7e49957ae3e1ef4b83ecd661e8d63e226a9074..48c0bcd2bd2b2adc45b607e3b5d657acaed700c0 100644 (file)
@@ -1,3 +1,11 @@
+2014-09-05  David Malcolm  <dmalcolm@redhat.com>
+
+       * recog.c (peep2_attempt): Strengthen return type from rtx to
+       rtx_insn *.
+       (peep2_update_life): Likewise for params "last", "prev", removing
+       a checked cast made redundant by this.
+       (peephole2_optimize): Likewise for local "last".
+
 2014-09-05  David Malcolm  <dmalcolm@redhat.com>
 
        * basic-block.h (set_block_for_insn): Eliminate this macro in
index 469dfe68a08773ad72bf551c7d419de53b24f862..d07a57a7d25dcb4c97a643578ec387945cd340e1 100644 (file)
@@ -3160,7 +3160,7 @@ peep2_reinit_state (regset live)
    replacing them with ATTEMPT.  Returns the last insn emitted, or NULL
    if the replacement is rejected.  */
 
-static rtx
+static rtx_insn *
 peep2_attempt (basic_block bb, rtx uncast_insn, int match_len, rtx_insn *attempt)
 {
   rtx_insn *insn = safe_as_a <rtx_insn *> (uncast_insn);
@@ -3396,7 +3396,8 @@ peep2_attempt (basic_block bb, rtx uncast_insn, int match_len, rtx_insn *attempt
    matched, and which now need to be replaced in the buffer.  */
 
 static void
-peep2_update_life (basic_block bb, int match_len, rtx last, rtx prev)
+peep2_update_life (basic_block bb, int match_len, rtx_insn *last,
+                  rtx_insn *prev)
 {
   int i = peep2_buf_position (peep2_current + match_len + 1);
   rtx_insn *x;
@@ -3408,7 +3409,7 @@ peep2_update_life (basic_block bb, int match_len, rtx last, rtx prev)
   gcc_assert (peep2_current_count >= match_len + 1);
   peep2_current_count -= match_len + 1;
 
-  x = as_a <rtx_insn *> (last);
+  x = last;
   do
     {
       if (INSN_P (x))
@@ -3538,7 +3539,7 @@ peephole2_optimize (void)
                      peephole2_insns (PATTERN (head), head, &match_len));
          if (attempt != NULL)
            {
-             rtx last = peep2_attempt (bb, head, match_len, attempt);
+             rtx_insn *last = peep2_attempt (bb, head, match_len, attempt);
              if (last)
                {
                  peep2_update_life (bb, match_len, last, PREV_INSN (attempt));