This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 181/236] Strengthen fields in struct sequence_stack and struct emit_status
- From: David Malcolm <dmalcolm at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: David Malcolm <dmalcolm at redhat dot com>
- Date: Wed, 6 Aug 2014 13:22:40 -0400
- Subject: [PATCH 181/236] Strengthen fields in struct sequence_stack and struct emit_status
- Authentication-results: sourceware.org; auth=none
- References: <1407345815-14551-1-git-send-email-dmalcolm at redhat dot com>
gcc/
* 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 *.
---
gcc/config/m32c/m32c.c | 2 +-
gcc/emit-rtl.h | 10 ++++------
gcc/function.h | 8 ++++----
3 files changed, 9 insertions(+), 11 deletions(-)
diff --git a/gcc/config/m32c/m32c.c b/gcc/config/m32c/m32c.c
index 75f67f7..925db24 100644
--- a/gcc/config/m32c/m32c.c
+++ b/gcc/config/m32c/m32c.c
@@ -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;
diff --git a/gcc/emit-rtl.h b/gcc/emit-rtl.h
index 30425c2..a7ecf1f 100644
--- a/gcc/emit-rtl.h
+++ b/gcc/emit-rtl.h
@@ -77,8 +77,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 as_a_nullable <rtx_insn *> (insn);
+ return crtl->emit.x_first_insn;
}
/* Specify a new insn as the first in the chain. */
@@ -87,7 +86,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 = as_a_nullable <rtx_insn *> (insn);
}
/* Return the last insn emitted in current sequence or current function. */
@@ -95,8 +94,7 @@ set_first_insn (rtx insn)
static inline rtx_insn *
get_last_insn (void)
{
- rtx insn = crtl->emit.x_last_insn;
- return as_a_nullable <rtx_insn *> (insn);
+ return crtl->emit.x_last_insn;
}
/* Specify a new insn as the last in the chain. */
@@ -105,7 +103,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 = as_a_nullable <rtx_insn *> (insn);
}
/* Return a number larger than any instruction's uid in this function. */
diff --git a/gcc/function.h b/gcc/function.h
index 14d1b2c..28a20f3 100644
--- a/gcc/function.h
+++ b/gcc/function.h
@@ -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;
};
@@ -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.
--
1.8.5.3