aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <richard@codesourcery.com>2007-01-18 19:51:47 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2007-01-18 19:51:47 +0000
commit413ac1b28d3047fca4931f002ffa5a5dded32a2c (patch)
treedcab30f27c351d477449ab94aff6e8067c573cbf
parenta2bda628bf32b60322b88d214da6a43fe666ffc7 (diff)
downloadgcc-413ac1b28d3047fca4931f002ffa5a5dded32a2c.zip
gcc-413ac1b28d3047fca4931f002ffa5a5dded32a2c.tar.gz
gcc-413ac1b28d3047fca4931f002ffa5a5dded32a2c.tar.bz2
m68k.c (m68k_use_return_insn): Update comments before function.
gcc/ * config/m68k/m68k.c (m68k_use_return_insn): Update comments before function. Extend register save check to include all registers, not just integer ones. From-SVN: r120927
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/m68k/m68k.c7
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bea01b0..f7d4ef0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2007-01-18 Richard Sandiford <richard@codesourcery.com>
+
+ * config/m68k/m68k.c (m68k_use_return_insn): Update comments
+ before function. Extend register save check to include all
+ registers, not just integer ones.
+
2007-01-18 Kazu Hirata <kazu@codesourcery.com>
* config/m68k/m68k-protos.h (use_return_insn): Rename to...
diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c
index 1bfa686..a2f9f01 100644
--- a/gcc/config/m68k/m68k.c
+++ b/gcc/config/m68k/m68k.c
@@ -1019,7 +1019,8 @@ m68k_output_function_prologue (FILE *stream,
}
}
-/* Return true if this function's epilogue can be output as RTL. */
+/* Return true if a simple (return) instruction is sufficient for this
+ instruction (i.e. if no epilogue is needed). */
bool
m68k_use_return_insn (void)
@@ -1027,10 +1028,8 @@ m68k_use_return_insn (void)
if (!reload_completed || frame_pointer_needed || get_frame_size () != 0)
return false;
- /* We can output the epilogue as RTL only if no registers need to be
- restored. */
m68k_compute_frame_layout ();
- return current_frame.reg_no ? false : true;
+ return current_frame.offset == 0;
}
/* This function generates the assembly code for function exit,