last_call_insn returns an rtx_call_insn *

2014-08-19  David Malcolm  <dmalcolm@redhat.com>

	* emit-rtl.c (last_call_insn): Strengthen return type from rtx to
	rtx_call_insn *.
	* rtl.h (is_a_helper <rtx_call_insn *>::test): New overload,
	accepting an rtx_insn *.
	(last_call_insn): Strengthen return type from rtx to
	rtx_call_insn *.

From-SVN: r214186
This commit is contained in:
David Malcolm 2014-08-19 19:33:21 +00:00 committed by David Malcolm
parent 169d13f576
commit 049cfc4a1d
3 changed files with 21 additions and 4 deletions

View File

@ -1,3 +1,12 @@
2014-08-19 David Malcolm <dmalcolm@redhat.com>
* emit-rtl.c (last_call_insn): Strengthen return type from rtx to
rtx_call_insn *.
* rtl.h (is_a_helper <rtx_call_insn *>::test): New overload,
accepting an rtx_insn *.
(last_call_insn): Strengthen return type from rtx to
rtx_call_insn *.
2014-08-19 David Malcolm <dmalcolm@redhat.com>
* rtl.h (delete_trivially_dead_insns): Strengthen initial param

View File

@ -3382,17 +3382,17 @@ prev_real_insn (rtx insn)
/* Return the last CALL_INSN in the current list, or 0 if there is none.
This routine does not look inside SEQUENCEs. */
rtx
rtx_call_insn *
last_call_insn (void)
{
rtx insn;
rtx_insn *insn;
for (insn = get_last_insn ();
insn && !CALL_P (insn);
insn = PREV_INSN (insn))
;
return insn;
return safe_as_a <rtx_call_insn *> (insn);
}
/* Find the next insn after INSN that really does something. This routine

View File

@ -731,6 +731,14 @@ is_a_helper <rtx_call_insn *>::test (rtx rt)
return CALL_P (rt);
}
template <>
template <>
inline bool
is_a_helper <rtx_call_insn *>::test (rtx_insn *insn)
{
return CALL_P (insn);
}
template <>
template <>
inline bool
@ -2416,7 +2424,7 @@ extern rtx gen_use (rtx);
extern rtx emit_use (rtx);
extern rtx make_insn_raw (rtx);
extern void add_function_usage_to (rtx, rtx);
extern rtx last_call_insn (void);
extern rtx_call_insn *last_call_insn (void);
extern rtx_insn *previous_insn (rtx);
extern rtx_insn *next_insn (rtx);
extern rtx_insn *prev_nonnote_insn (rtx);