[committed] Make get_call_rtx_from take a const rtx_insn *
diff mbox series

Message ID mptk1ag3yyb.fsf@arm.com
State New
Headers show
Series
  • [committed] Make get_call_rtx_from take a const rtx_insn *
Related show

Commit Message

Richard Sandiford Sept. 10, 2019, 4:20 p.m. UTC
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.

Tested on aarch64-linux-gnu and x86_64-linux-gnu, applied as obvious.

Richard


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.

Patch
diff mbox series

Index: gcc/rtl.h
===================================================================
--- gcc/rtl.h	2019-09-09 18:58:51.476270683 +0100
+++ gcc/rtl.h	2019-09-10 17:18:51.156043937 +0100
@@ -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);
Index: gcc/rtlanal.c
===================================================================
--- gcc/rtlanal.c	2019-09-09 18:59:15.996097565 +0100
+++ gcc/rtlanal.c	2019-09-10 17:18:51.164043880 +0100
@@ -811,10 +811,9 @@  rtx_addr_varies_p (const_rtx x, bool for
 /* 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)
Index: gcc/dwarf2out.c
===================================================================
--- gcc/dwarf2out.c	2019-09-10 17:18:39.852122587 +0100
+++ gcc/dwarf2out.c	2019-09-10 17:18:51.156043937 +0100
@@ -27505,7 +27505,7 @@  dwarf2out_var_location (rtx_insn *loc_no
       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.  */
Index: gcc/config/i386/i386-expand.h
===================================================================
--- gcc/config/i386/i386-expand.h	2019-05-12 12:25:17.450265496 +0100
+++ gcc/config/i386/i386-expand.h	2019-09-10 17:18:51.152043965 +0100
@@ -50,7 +50,7 @@  rtx ix86_expand_builtin (tree exp, rtx t
 			 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);
Index: gcc/config/i386/i386-expand.c
===================================================================
--- gcc/config/i386/i386-expand.c	2019-09-05 08:49:30.985738504 +0100
+++ gcc/config/i386/i386-expand.c	2019-09-10 17:18:51.152043965 +0100
@@ -19969,7 +19969,7 @@  ix86_expand_sse2_mulvxdi3 (rtx op0, rtx
    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;