aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2018-06-06 13:33:08 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2018-06-06 13:33:08 +0000
commit2a559b8c77152cfa27d6b804c1d8392a5a651049 (patch)
tree2abd0370867ba79cb7018333ea2e1554629ff60e
parent31a5d8c53883cd6ed31cd9d3320a5e0185a214b8 (diff)
downloadgcc-2a559b8c77152cfa27d6b804c1d8392a5a651049.zip
gcc-2a559b8c77152cfa27d6b804c1d8392a5a651049.tar.gz
gcc-2a559b8c77152cfa27d6b804c1d8392a5a651049.tar.bz2
ix86_expand_call: convert return type to rtx_insn *
Eliminate an "as_a <rtx_insn *>()" cast. 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. From-SVN: r261233
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/i386/i386-protos.h2
-rw-r--r--gcc/config/i386/i386.c13
3 files changed, 16 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bda6ed4..2374b9e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2018-06-06 David Malcolm <dmalcolm@redhat.com>
+
+ * 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.
+
2018-06-06 Eric Botcazou <ebotcazou@adacore.com>
PR tree-optimization/86066
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