summaryrefslogtreecommitdiff
path: root/gcc/final.c
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2017-08-21 14:51:52 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2017-08-21 14:51:52 +0000
commit718e6d56fb04f242a13f8122ae5f7660dc46d454 (patch)
treec3877024ed5bc29701e2274ee5c15ed2a72cca79 /gcc/final.c
parent654ba22c41f2123cd3a44fb63399abc04926a696 (diff)
downloadgcc-718e6d56fb04f242a13f8122ae5f7660dc46d454.tar.gz
Remove the frame size argument from function_prologue/epilogue
Later patches will add support for frame sizes that are a run-time invariant but not a compile-time constant. This then raised the question of whether the frame size argument to the function_prologue/ epilogue hooks should be updated accordingly. It turned out that only two targets actually used this argument, and even they got other frame-related information from the cached machine structure. This patch therefore removes the argument and makes the two targets use get_frame_size () instead. 2017-08-21 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * target.def (function_prologue): Remove frame size argument. (function_epilogue): Likewise. * doc/tm.texi: Regenerate. * final.c (final_start_function): Update call to function_prologue. (final_end_function): Update call to function_epilogue. (default_function_pro_epilogue): Remove frame size argument. * output.h (default_function_pro_epilogue): Likewise. * config/arm/arm.c (arm_output_function_epilogue): Likewise. (arm_output_function_prologue): Likewise. * config/frv/frv.c (frv_function_prologue): Likewise. (frv_function_epilogue): Likewise. * config/i386/i386.c (ix86_output_function_epilogue): Likewise. * config/ia64/ia64.c (ia64_output_function_prologue): Likewise. (ia64_output_function_epilogue): Likewise. * config/m32r/m32r.c (m32r_output_function_prologue): Likewise. (m32r_output_function_epilogue): Likewise. * config/microblaze/microblaze.c (microblaze_function_prologue) (microblaze_function_epilogue): Likewise. * config/mips/mips.c (mips_output_function_prologue): Likewise. (mips_output_function_epilogue): Likewise. * config/mmix/mmix.c (mmix_target_asm_function_prologue): Likewise. (mmix_target_asm_function_epilogue): Likewise. * config/msp430/msp430.c (msp430_start_function): Likewise. * config/nds32/nds32.c (nds32_asm_function_prologue): Likewise. (nds32_asm_function_epilogue): Likewise. * config/nios2/nios2.c (nios2_asm_function_prologue): Likewise. * config/pa/pa.c (pa_output_function_prologue): Likewise. (pa_output_function_epilogue): Likewise. * config/powerpcspe/powerpcspe.c (rs6000_output_function_prologue) (rs6000_output_function_epilogue): Likewise. * config/rl78/rl78.c (rl78_start_function): Likewise. * config/rs6000/rs6000.c (rs6000_output_function_prologue): Likewise. (rs6000_output_function_epilogue): Likewise. * config/rx/rx.c (rx_output_function_prologue): Likewise. * config/sh/sh.c (sh_output_function_epilogue): Likewise. * config/sparc/sparc.c (sparc_asm_function_prologue): Likewise. (sparc_asm_function_epilogue): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@251232 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/final.c')
-rw-r--r--gcc/final.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/final.c b/gcc/final.c
index ad999f77fdd..5cc0a1ebbc9 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -244,8 +244,7 @@ init_final (const char *filename ATTRIBUTE_UNUSED)
If not overridden for epilogue code, then the function body itself
contains return instructions wherever needed. */
void
-default_function_pro_epilogue (FILE *file ATTRIBUTE_UNUSED,
- HOST_WIDE_INT size ATTRIBUTE_UNUSED)
+default_function_pro_epilogue (FILE *)
{
}
@@ -1845,7 +1844,7 @@ final_start_function (rtx_insn *first, FILE *file,
}
/* First output the function prologue: code to set up the stack frame. */
- targetm.asm_out.function_prologue (file, get_frame_size ());
+ targetm.asm_out.function_prologue (file);
/* If the machine represents the prologue as RTL, the profiling code must
be emitted when NOTE_INSN_PROLOGUE_END is scanned. */
@@ -1918,7 +1917,7 @@ final_end_function (void)
/* Finally, output the function epilogue:
code to restore the stack frame and return to the caller. */
- targetm.asm_out.function_epilogue (asm_out_file, get_frame_size ());
+ targetm.asm_out.function_epilogue (asm_out_file);
/* And debug output. */
if (!DECL_IGNORED_P (current_function_decl))