[committed] ix86_expand_call: convert return type to rtx_insn *

Message ID 1528294862-58164-1-git-send-email-dmalcolm@redhat.com
State New
Headers show
Series
  • [committed] ix86_expand_call: convert return type to rtx_insn *
Related show

Commit Message

David Malcolm June 6, 2018, 2:21 p.m.
Eliminate an "as_a <rtx_insn *>()" cast.

Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu.

I'm treating this as pre-approved, under the pre-approval on
rtx -> rtx_insn * cleanups here:
  https://gcc.gnu.org/ml/gcc-patches/2014-08/msg01310.html

Committed to trunk as r261233.

gcc/ChangeLog:
	* config/i386/i386-protos.h (ix86_expand_call): Strengthen return
	type from "rtx" to "rtx_insn *".
	* config/i386/i386.c (ix86_expand_split_stack_prologue): Likewise
	for local "call_insn", removing cast.
	(ix86_expand_call): Likewise, introducing a "call_insn" local.
---
 gcc/config/i386/i386-protos.h |  2 +-
 gcc/config/i386/i386.c        | 13 +++++++------
 2 files changed, 8 insertions(+), 7 deletions(-)

-- 
1.8.5.3

Patch

diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h
index 40756f5..02991a5 100644
--- a/gcc/config/i386/i386-protos.h
+++ b/gcc/config/i386/i386-protos.h
@@ -139,7 +139,7 @@  extern bool ix86_expand_fp_vec_cmp (rtx[]);
 extern void ix86_expand_sse_movcc (rtx, rtx, rtx, rtx);
 extern void ix86_expand_sse_unpack (rtx, rtx, bool, bool);
 extern bool ix86_expand_int_addcc (rtx[]);
-extern rtx ix86_expand_call (rtx, rtx, rtx, rtx, rtx, bool);
+extern rtx_insn *ix86_expand_call (rtx, rtx, rtx, rtx, rtx, bool);
 extern void ix86_split_call_vzeroupper (rtx, rtx);
 extern void x86_initialize_trampoline (rtx, rtx, rtx);
 extern rtx ix86_zero_extend_to_Pmode (rtx);
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 637c105..9568d25 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -15064,7 +15064,8 @@  ix86_expand_split_stack_prologue (void)
   HOST_WIDE_INT allocate;
   unsigned HOST_WIDE_INT args_size;
   rtx_code_label *label;
-  rtx limit, current, allocate_rtx, call_insn, call_fusage;
+  rtx limit, current, allocate_rtx, call_fusage;
+  rtx_insn *call_insn;
   rtx scratch_reg = NULL_RTX;
   rtx_code_label *varargs_label = NULL;
   rtx fn;
@@ -15234,7 +15235,7 @@  ix86_expand_split_stack_prologue (void)
   if (!TARGET_64BIT)
     add_reg_note (call_insn, REG_ARGS_SIZE, GEN_INT (0));
   /* Indicate that this function can't jump to non-local gotos.  */
-  make_reg_eh_region_note_nothrow_nononlocal (as_a <rtx_insn *> (call_insn));
+  make_reg_eh_region_note_nothrow_nononlocal (call_insn);
 
   /* In order to make call/return prediction work right, we now need
      to execute a return instruction.  See
@@ -28466,7 +28467,7 @@  construct_plt_address (rtx symbol)
   return tmp;
 }
 
-rtx
+rtx_insn *
 ix86_expand_call (rtx retval, rtx fnaddr, rtx callarg1,
 		  rtx callarg2,
 		  rtx pop, bool sibcall)
@@ -28681,11 +28682,11 @@  ix86_expand_call (rtx retval, rtx fnaddr, rtx callarg1,
 
   if (vec_len > 1)
     call = gen_rtx_PARALLEL (VOIDmode, gen_rtvec_v (vec_len, vec));
-  call = emit_call_insn (call);
+  rtx_insn *call_insn = emit_call_insn (call);
   if (use)
-    CALL_INSN_FUNCTION_USAGE (call) = use;
+    CALL_INSN_FUNCTION_USAGE (call_insn) = use;
 
-  return call;
+  return call_insn;
 }
 
 /* Return true if the function being called was marked with attribute