diff options
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/m68k/m68k.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c index 9dfc4e6dbaf..f3682fc087a 100644 --- a/gcc/config/m68k/m68k.c +++ b/gcc/config/m68k/m68k.c @@ -1115,7 +1115,8 @@ m68k_expand_prologue (void) } } -/* 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) @@ -1123,10 +1124,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; + m68k_compute_frame_layout (); + return current_frame.offset == 0; } /* Emit RTL for the "epilogue" define_expand. |