aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@gcc.gnu.org>2014-08-28 20:49:58 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2014-08-28 20:49:58 +0000
commit9321cf00db4930103c0e473e82f12135404c22ba (patch)
treef677bb27a1e6ea39bcd5c3b8a8062db4a6ee4309
parentbdda9b179dab8cce7cb1308d327fc6eb9ba53694 (diff)
downloadgcc-9321cf00db4930103c0e473e82f12135404c22ba.zip
gcc-9321cf00db4930103c0e473e82f12135404c22ba.tar.gz
gcc-9321cf00db4930103c0e473e82f12135404c22ba.tar.bz2
find_first_parameter_load params and return type
gcc/ 2014-08-28 David Malcolm <dmalcolm@redhat.com> * rtl.h (find_first_parameter_load): Strengthen return type and both params from rtx to rtx_insn *. * rtlanal.c (find_first_parameter_load): Strengthen return type, both params and locals "before", "first_set" from rtx to rtx_insn *. Remove now-redundant cast. * except.c (sjlj_mark_call_sites): Use NULL rather than NULL_RTX. From-SVN: r214695
-rw-r--r--gcc/except.c2
-rw-r--r--gcc/rtl.h2
-rw-r--r--gcc/rtlanal.c7
3 files changed, 6 insertions, 5 deletions
diff --git a/gcc/except.c b/gcc/except.c
index 5cdfb68..96341c6 100644
--- a/gcc/except.c
+++ b/gcc/except.c
@@ -1152,7 +1152,7 @@ sjlj_mark_call_sites (void)
/* Don't separate a call from it's argument loads. */
before = insn;
if (CALL_P (insn))
- before = find_first_parameter_load (insn, NULL_RTX);
+ before = find_first_parameter_load (insn, NULL);
start_sequence ();
mem = adjust_address (crtl->eh.sjlj_fc, TYPE_MODE (integer_type_node),
diff --git a/gcc/rtl.h b/gcc/rtl.h
index e32c5a7..45cbe52 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -2829,7 +2829,7 @@ extern int in_expr_list_p (const_rtx, const_rtx);
extern void remove_node_from_expr_list (const_rtx, rtx_expr_list **);
extern void remove_node_from_insn_list (const rtx_insn *, rtx_insn_list **);
extern int loc_mentioned_in_p (rtx *, const_rtx);
-extern rtx_insn *find_first_parameter_load (rtx, rtx);
+extern rtx_insn *find_first_parameter_load (rtx_insn *, rtx_insn *);
extern bool keep_with_call_p (const_rtx);
extern bool label_is_jump_target_p (const_rtx, const_rtx);
extern int insn_rtx_cost (rtx, bool);
diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c
index e95be62..76c4bf0 100644
--- a/gcc/rtlanal.c
+++ b/gcc/rtlanal.c
@@ -3726,10 +3726,11 @@ parms_set (rtx x, const_rtx pat ATTRIBUTE_UNUSED, void *data)
to the outer function is passed down as a parameter).
Do not skip BOUNDARY. */
rtx_insn *
-find_first_parameter_load (rtx call_insn, rtx boundary)
+find_first_parameter_load (rtx_insn *call_insn, rtx_insn *boundary)
{
struct parms_set_data parm;
- rtx p, before, first_set;
+ rtx p;
+ rtx_insn *before, *first_set;
/* Since different machines initialize their parameter registers
in different orders, assume nothing. Collect the set of all
@@ -3787,7 +3788,7 @@ find_first_parameter_load (rtx call_insn, rtx boundary)
break;
}
}
- return safe_as_a <rtx_insn *> (first_set);
+ return first_set;
}
/* Return true if we should avoid inserting code between INSN and preceding