From 6571ac6e6dfb5f0953c9f7f7c55d448f609d099b Mon Sep 17 00:00:00 2001
From: rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Thu, 18 Jan 2007 19:51:47 +0000
Subject: [PATCH] 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120927 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/ChangeLog          | 6 ++++++
 gcc/config/m68k/m68k.c | 7 +++----
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bea01b052976..f7d4ef0aa562 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 1bfa6867cd50..a2f9f015c879 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,
-- 
GitLab