OSDN Git Service

* sh.c (sh_function_ok_for_sibcall): Return 0 if the current
authoramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 3 Apr 2003 17:01:34 +0000 (17:01 +0000)
committeramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 3 Apr 2003 17:01:34 +0000 (17:01 +0000)
function is an interrupt handler.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65204 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 286ac09..0c4afa9 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 d81a82a..e4a55de 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.  */