+2019-09-10 Richard Sandiford <richard.sandiford@arm.com>
+
+ * rtl.h (get_call_rtx_from): Take a const rtx_insn * instead of an rtx.
+ * rtlanal.c (get_call_rtx_from): Likewise.
+ * dwarf2out.c (dwarf2out_var_location): Pass the insn rather
+ than the pattern to get_call_rtx_from.
+ * config/i386/i386-expand.h (ix86_notrack_prefixed_insn_p): Take
+ an rtx_insn * instead of an rtx.
+ * config/i386/i386-expand.c (ix86_notrack_prefixed_insn_p): Likewise.
+
2019-09-10 Martin Liska <mliska@suse.cz>
* common.opt: Use newly added WarnRemoved.
should be encoded with notrack prefix. */
bool
-ix86_notrack_prefixed_insn_p (rtx insn)
+ix86_notrack_prefixed_insn_p (rtx_insn *insn)
{
if (!insn || !((flag_cf_protection & CF_BRANCH)))
return false;
machine_mode mode, int ignore);
bool ix86_vectorize_vec_perm_const (machine_mode vmode, rtx target, rtx op0,
rtx op1, const vec_perm_indices &sel);
-bool ix86_notrack_prefixed_insn_p (rtx insn);
+bool ix86_notrack_prefixed_insn_p (rtx_insn *);
machine_mode ix86_split_reduction (machine_mode mode);
void ix86_expand_divmod_libfunc (rtx libfunc, machine_mode mode, rtx op0,
rtx op1, rtx *quot_p, rtx *rem_p);
ca_loc->tail_call_p = SIBLING_CALL_P (prev);
/* Look for a SYMBOL_REF in the "prev" instruction. */
- rtx x = get_call_rtx_from (PATTERN (prev));
+ rtx x = get_call_rtx_from (prev);
if (x)
{
/* Try to get the call symbol, if any. */
extern int rtx_unstable_p (const_rtx);
extern bool rtx_varies_p (const_rtx, bool);
extern bool rtx_addr_varies_p (const_rtx, bool);
-extern rtx get_call_rtx_from (rtx);
+extern rtx get_call_rtx_from (const rtx_insn *);
extern HOST_WIDE_INT get_integer_term (const_rtx);
extern rtx get_related_value (const_rtx);
extern bool offset_within_block_p (const_rtx, HOST_WIDE_INT);
/* Return the CALL in X if there is one. */
rtx
-get_call_rtx_from (rtx x)
+get_call_rtx_from (const rtx_insn *insn)
{
- if (INSN_P (x))
- x = PATTERN (x);
+ rtx x = PATTERN (insn);
if (GET_CODE (x) == PARALLEL)
x = XVECEXP (x, 0, 0);
if (GET_CODE (x) == SET)