Make get_call_rtx_from take a const rtx_insn *

Only one caller (in dwarf2out.c) was preventing get_call_rtx_from
from taking an rtx_insn *.  Since that caller just passes a PATTERN,
it's a trivial change to make.

2019-09-10  Richard Sandiford  <richard.sandiford@arm.com>

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

From-SVN: r275593
This commit is contained in:
Richard Sandiford 2019-09-10 16:19:23 +00:00 committed by Richard Sandiford
parent 68a57628f4
commit e8b0314a58
6 changed files with 16 additions and 7 deletions

View File

@ -1,3 +1,13 @@
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.

View File

@ -19969,7 +19969,7 @@ ix86_expand_sse2_mulvxdi3 (rtx op0, rtx op1, rtx op2)
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;

View File

@ -50,7 +50,7 @@ rtx ix86_expand_builtin (tree exp, rtx target, rtx subtarget,
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);

View File

@ -27505,7 +27505,7 @@ create_label:
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. */

View File

@ -3419,7 +3419,7 @@ extern bool nonzero_address_p (const_rtx);
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);

View File

@ -811,10 +811,9 @@ rtx_addr_varies_p (const_rtx x, bool for_alias)
/* 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)