Strengthen fields in struct sequence_stack and struct emit_status
authorDavid Malcolm <dmalcolm@redhat.com>
Tue, 26 Aug 2014 19:20:16 +0000 (19:20 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
Tue, 26 Aug 2014 19:20:16 +0000 (19:20 +0000)
gcc/
2014-08-26  David Malcolm  <dmalcolm@redhat.com>

* function.h (struct sequence_stack): Strengthen fields "first"
and "last" from rtx to rtx_insn *.
(struct emit_status): Likewise for fields "x_first_insn" and
"x_last_insn".

* emit-rtl.h (get_insns): Remove now-redundant checked cast.
(set_first_insn): Add checked cast.
(get_last_insn): Remove now-redundant checked cast.
(set_last_insn): Add checked cast.

* config/m32c/m32c.c (m32c_leaf_function_p): Strengthen locals
"saved_first" and "saved_last" from rtx to rtx_insn *.

From-SVN: r214537

gcc/ChangeLog
gcc/config/m32c/m32c.c
gcc/emit-rtl.h
gcc/function.h

index 6fa5dfc1ae0ba0d749d3100fcb019a4074f65871..a754f707c3f95fd5aa92dee00b15fa2fee3e1023 100644 (file)
@@ -1,3 +1,18 @@
+2014-08-26  David Malcolm  <dmalcolm@redhat.com>
+
+       * function.h (struct sequence_stack): Strengthen fields "first"
+       and "last" from rtx to rtx_insn *.
+       (struct emit_status): Likewise for fields "x_first_insn" and
+       "x_last_insn".
+
+       * emit-rtl.h (get_insns): Remove now-redundant checked cast.
+       (set_first_insn): Add checked cast.
+       (get_last_insn): Remove now-redundant checked cast.
+       (set_last_insn): Add checked cast.
+
+       * config/m32c/m32c.c (m32c_leaf_function_p): Strengthen locals
+       "saved_first" and "saved_last" from rtx to rtx_insn *.
+
 2014-08-26  David Malcolm  <dmalcolm@redhat.com>
 
        * rtl.h (add_insn): Strengthen param from rtx to rtx_insn *.
index 23fd1cc5935a005b53ba270294e13914ceee9cd1..1954c84d0b1df9e0acab6f446fca0edb1d3c83e8 100644 (file)
@@ -4045,7 +4045,7 @@ m32c_encode_section_info (tree decl, rtx rtl, int first)
 static int
 m32c_leaf_function_p (void)
 {
-  rtx saved_first, saved_last;
+  rtx_insn *saved_first, *saved_last;
   struct sequence_stack *seq;
   int rv;
 
index e0deaffcdaaed377767a8ae0e782ab79fcbaf869..e2e64a213d3bc1ec617faebc8239853d166fc6c9 100644 (file)
@@ -80,8 +80,7 @@ extern bool need_atomic_barrier_p (enum memmodel, bool);
 static inline rtx_insn *
 get_insns (void)
 {
-  rtx insn = crtl->emit.x_first_insn;
-  return safe_as_a <rtx_insn *> (insn);
+  return crtl->emit.x_first_insn;
 }
 
 /* Specify a new insn as the first in the chain.  */
@@ -90,7 +89,7 @@ static inline void
 set_first_insn (rtx insn)
 {
   gcc_checking_assert (!insn || !PREV_INSN (insn));
-  crtl->emit.x_first_insn = insn;
+  crtl->emit.x_first_insn = safe_as_a <rtx_insn *> (insn);
 }
 
 /* Return the last insn emitted in current sequence or current function.  */
@@ -98,8 +97,7 @@ set_first_insn (rtx insn)
 static inline rtx_insn *
 get_last_insn (void)
 {
-  rtx insn = crtl->emit.x_last_insn;
-  return safe_as_a <rtx_insn *> (insn);
+  return crtl->emit.x_last_insn;
 }
 
 /* Specify a new insn as the last in the chain.  */
@@ -108,7 +106,7 @@ static inline void
 set_last_insn (rtx insn)
 {
   gcc_checking_assert (!insn || !NEXT_INSN (insn));
-  crtl->emit.x_last_insn = insn;
+  crtl->emit.x_last_insn = safe_as_a <rtx_insn *> (insn);
 }
 
 /* Return a number larger than any instruction's uid in this function.  */
index 14d1b2c926a2af528de6e287b86a70a19daae7cb..28a20f34b98914c755103826b5de546f388bd227 100644 (file)
@@ -34,8 +34,8 @@ along with GCC; see the file COPYING3.  If not see
 
 struct GTY(()) sequence_stack {
   /* First and last insns in the chain of the saved sequence.  */
-  rtx first;
-  rtx last;
+  rtx_insn *first;
+  rtx_insn *last;
   struct sequence_stack *next;
 };
 \f
@@ -52,8 +52,8 @@ struct GTY(()) emit_status {
 
      start_sequence saves both of these on `sequence_stack' and then starts
      a new, nested sequence of insns.  */
-  rtx x_first_insn;
-  rtx x_last_insn;
+  rtx_insn *x_first_insn;
+  rtx_insn *x_last_insn;
 
   /* Stack of pending (incomplete) sequences saved by `start_sequence'.
      Each element describes one pending sequence.