mep.h (INITIALIZE_TRAMPOLINE): Remove.
authorRichard Henderson <rth@redhat.com>
Tue, 22 Sep 2009 15:14:04 +0000 (08:14 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 22 Sep 2009 15:14:04 +0000 (08:14 -0700)
* config/mep/mep.h (INITIALIZE_TRAMPOLINE): Remove.
* config/mep/mep.c (TARGET_TRAMPOLINE_INIT): New.
(mep_trampoline_init): Rename from mep_init_trampoline; make static;
update for hook parameters.
* config/mep/mep-protos.h (mep_init_trampoline): Remove.

From-SVN: r152000

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

index db118ae..14de92a 100644 (file)
        to mcore_asm_trampoline_template.
        (INITIALIZE_TRAMPOLINE): Move code to mcore_trampoline_init.
 
+       * config/mep/mep.h (INITIALIZE_TRAMPOLINE): Remove.
+       * config/mep/mep.c (TARGET_TRAMPOLINE_INIT): New.
+       (mep_trampoline_init): Rename from mep_init_trampoline; make static;
+       update for hook parameters.
+       * config/mep/mep-protos.h (mep_init_trampoline): Remove.
+
 2009-09-22  Jakub Jelinek  <jakub@redhat.com>
 
        * config/rs6000/rs6000.c (bdesc_2arg): Fix CODE_FOR_vector_gt* codes
index e53ca79..82be465 100644 (file)
@@ -89,7 +89,6 @@ extern void mep_file_cleanups (void);
 extern const char *mep_strip_name_encoding (const char *);
 extern void mep_output_aligned_common (FILE *, tree, const char *,
                                       int, int, int);
-extern void mep_init_trampoline (rtx, rtx, rtx);
 extern void mep_emit_doloop (rtx *, int);
 extern bool mep_vliw_function_p (tree);
 extern bool mep_store_data_bypass_p (rtx, rtx);
index 4c37d38..dcf5362 100644 (file)
@@ -229,6 +229,7 @@ static tree mep_build_builtin_va_list (void);
 static void mep_expand_va_start (tree, rtx);
 static tree mep_gimplify_va_arg_expr (tree, tree, tree *, tree *);
 static bool mep_can_eliminate (const int, const int);
+static void mep_trampoline_init (rtx, tree, rtx);
 \f
 /* Initialize the GCC target structure.  */
 
@@ -300,8 +301,10 @@ static bool mep_can_eliminate (const int, const int);
 #define TARGET_EXPAND_BUILTIN_VA_START mep_expand_va_start
 #undef TARGET_GIMPLIFY_VA_ARG_EXPR
 #define        TARGET_GIMPLIFY_VA_ARG_EXPR     mep_gimplify_va_arg_expr
-#undef TARGET_CAN_ELIMINATE
+#undef  TARGET_CAN_ELIMINATE
 #define TARGET_CAN_ELIMINATE            mep_can_eliminate
+#undef  TARGET_TRAMPOLINE_INIT
+#define TARGET_TRAMPOLINE_INIT         mep_trampoline_init
 
 struct gcc_target targetm = TARGET_INITIALIZER;
 \f
@@ -4922,9 +4925,12 @@ mep_output_aligned_common (FILE *stream, tree decl, const char *name,
 
 /* Trampolines.  */
 
-void
-mep_init_trampoline (rtx addr, rtx fnaddr, rtx static_chain)
+static void
+mep_trampoline_init (rtx m_tramp, tree fndecl, rtx static_chain)
 {
+  rtx addr = XEXP (m_tramp, 0);
+  rtx fnaddr = XEXP (DECL_RTL (fndecl), 0);
+
   emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "__mep_trampoline_helper"),
                     LCT_NORMAL, VOIDmode, 3,
                     addr, Pmode,
index fff7962..8b00a44 100644 (file)
@@ -565,10 +565,6 @@ typedef struct
    run-time also.  */
 
 #define TRAMPOLINE_SIZE 20
-
-#define INITIALIZE_TRAMPOLINE(ADDR, FNADDR, STATIC_CHAIN) \
-       mep_init_trampoline (ADDR, FNADDR, STATIC_CHAIN)
-
 \f
 
 #define CONSTANT_ADDRESS_P(X) CONSTANT_P (X)