PR bootstrap/53913
authorschwab <schwab@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 Jul 2012 11:48:00 +0000 (11:48 +0000)
committerschwab <schwab@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 Jul 2012 11:48:00 +0000 (11:48 +0000)
* config/m68k/m68k.c (m68k_epilogue_uses): New.
* config/m68k/m68k.h (EPILOGUE_USES): Use it.
* config/m68k/m68k-protos.h (m68k_epilogue_uses): Add prototype.

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

gcc/ChangeLog
gcc/config/m68k/m68k-protos.h
gcc/config/m68k/m68k.c
gcc/config/m68k/m68k.h

index 8d05847..c5ebfd5 100644 (file)
@@ -1,3 +1,10 @@
+2012-07-10  Andreas Schwab  <schwab@linux-m68k.org>
+
+       PR bootstrap/53913
+       * config/m68k/m68k.c (m68k_epilogue_uses): New.
+       * config/m68k/m68k.h (EPILOGUE_USES): Use it.
+       * config/m68k/m68k-protos.h (m68k_epilogue_uses): Add prototype.
+
 2012-07-10  Richard Henderson  <rth@redhat.com>
 
        * target.def (builtin_mul_widen_even, builtin_mul_widen_odd): Remove.
index c779588..a6b5dee 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions of target machine for GNU compiler.  Sun 68000/68020 version.
-   Copyright (C) 2000, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+   Copyright (C) 2000, 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012
    Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -68,6 +68,7 @@ extern int emit_move_sequence (rtx *, enum machine_mode, rtx);
 extern bool m68k_movem_pattern_p (rtx, rtx, HOST_WIDE_INT, bool);
 extern const char *m68k_output_movem (rtx *, rtx, HOST_WIDE_INT, bool);
 extern void m68k_final_prescan_insn (rtx, rtx *, int);
+extern bool m68k_epilogue_uses (int);
 
 /* Functions from m68k.c used in constraints.md.  */
 extern rtx m68k_unwrap_symbol (rtx, bool);
index df70560..0e55e1c 100644 (file)
@@ -6506,4 +6506,14 @@ m68k_init_sync_libfuncs (void)
   init_sync_libfuncs (UNITS_PER_WORD);
 }
 
+/* Implements EPILOGUE_USES.  All registers are live on exit from an
+   interrupt routine.  */
+bool
+m68k_epilogue_uses (int regno ATTRIBUTE_UNUSED)
+{
+  return (reload_completed
+         && (m68k_get_function_kind (current_function_decl)
+             == m68k_fk_interrupt_handler));
+}
+
 #include "gt-m68k.h"
index b8d8d9c..8be0879 100644 (file)
@@ -802,11 +802,7 @@ do { if (cc_prev_status.flags & CC_IN_68881)                       \
 /* Before the prologue, the top of the frame is at 4(%sp).  */
 #define INCOMING_FRAME_SP_OFFSET 4
 
-/* All registers are live on exit from an interrupt routine.  */
-#define EPILOGUE_USES(REGNO)                                   \
-  (reload_completed                                            \
-   && (m68k_get_function_kind (current_function_decl)  \
-       == m68k_fk_interrupt_handler))
+#define EPILOGUE_USES(REGNO) m68k_epilogue_uses (REGNO)
 
 /* Describe how we implement __builtin_eh_return.  */
 #define EH_RETURN_DATA_REGNO(N) \