Strengthen fields in struct sequence_stack and struct emit_status

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
This commit is contained in:
David Malcolm 2014-08-26 19:20:16 +00:00 committed by David Malcolm
parent 9152e0aa1b
commit 0926539cb1
4 changed files with 24 additions and 11 deletions

View 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 *.

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

View 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. */

View 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;
};
@ -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.