]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
sh.c (sh_function_ok_for_sibcall): Return 0 if the current function is an interrupt...
authorJ"orn Rennecke <joern.rennecke@superh.com>
Thu, 3 Apr 2003 17:01:34 +0000 (17:01 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Thu, 3 Apr 2003 17:01:34 +0000 (18:01 +0100)
* sh.c (sh_function_ok_for_sibcall): Return 0 if the current
function is an interrupt handler.

From-SVN: r65204

gcc/ChangeLog
gcc/config/sh/sh.c

index 286ac09ab25a1b6243590d03e37e8eb40c46a162..0c4afa976884d7d906f10a31d84b8f705908f33b 100644 (file)
@@ -1,8 +1,11 @@
-Thu Apr  3 17:08:09 2003  J"orn Rennecke <joern.rennecke@superh.com>
+Thu Apr  3 17:57:59 2003  J"orn Rennecke <joern.rennecke@superh.com>
 
-       * Avoid clash of temp register for restoring target registers
-       with EH_RETURN_STACKADJ_RTX; use multiple registers in round-robin
-       fashion.
+       * sh.c (sh_function_ok_for_sibcall): Return 0 if the current
+       function is an interrupt handler.
+
+       * sh.c (sh_expand_epilogue): Avoid clash of temp register for
+       restoring target registers with EH_RETURN_STACKADJ_RTX; use
+       multiple registers in round-robin fashion.
 
 2003-04-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
index d81a82acc5fe71858605847a2fa0406e785465b7..e4a55de1accaa73f495c59687b86d5b5cf8c0a35 100644 (file)
@@ -7934,7 +7934,8 @@ sh_function_ok_for_sibcall (decl, exp)
 {
   return (decl 
          && (! TARGET_SHCOMPACT
-             || current_function_args_info.stack_regs == 0));
+             || current_function_args_info.stack_regs == 0)
+         && ! sh_cfun_interrupt_handler_p ());
 }
 \f
 /* Machine specific built-in functions.  */