aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2009-09-22 08:13:24 -0700
committerRichard Henderson <rth@gcc.gnu.org>2009-09-22 08:13:24 -0700
commit229fbccbab7b8ad59558f34bce92311dbd48c2b4 (patch)
treea332b354b3665dc1c044716611c7164ba48dc9d4 /gcc
parentf4a33d37279965f2ac958547862e9c46841bf223 (diff)
downloadgcc-229fbccbab7b8ad59558f34bce92311dbd48c2b4.zip
gcc-229fbccbab7b8ad59558f34bce92311dbd48c2b4.tar.gz
gcc-229fbccbab7b8ad59558f34bce92311dbd48c2b4.tar.bz2
m32c-protos.h (m32c_initialize_trampoline): Remove.
* config/m32c/m32c-protos.h (m32c_initialize_trampoline): Remove. * config/m32c/m32c.c (TARGET_TRAMPOLINE_INIT): New. (m32c_trampoline_init): Rename from m32c_initialize_trampoline; adjust for hook parameters. * config/m32c/m32c.h (INITIALIZE_TRAMPOLINE): Remove. From-SVN: r151996
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/m32c/m32c-protos.h1
-rw-r--r--gcc/config/m32c/m32c.c13
-rw-r--r--gcc/config/m32c/m32c.h1
4 files changed, 15 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6add783..43ca740 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -124,6 +124,12 @@
(TRAMPOLINE_SIZE): Use it.
(TRAMPOLINE_ALIGNMENT): Follow Pmode.
+ * config/m32c/m32c-protos.h (m32c_initialize_trampoline): Remove.
+ * config/m32c/m32c.c (TARGET_TRAMPOLINE_INIT): New.
+ (m32c_trampoline_init): Rename from m32c_initialize_trampoline;
+ adjust for hook parameters.
+ * config/m32c/m32c.h (INITIALIZE_TRAMPOLINE): Remove.
+
2009-09-22 Jakub Jelinek <jakub@redhat.com>
* config/rs6000/rs6000.c (bdesc_2arg): Fix CODE_FOR_vector_gt* codes
diff --git a/gcc/config/m32c/m32c-protos.h b/gcc/config/m32c/m32c-protos.h
index d332475..e571fe9 100644
--- a/gcc/config/m32c/m32c-protos.h
+++ b/gcc/config/m32c/m32c-protos.h
@@ -73,7 +73,6 @@ int m32c_hard_regno_ok (int, MM);
bool m32c_illegal_subreg_p (rtx);
bool m32c_immd_dbl_mov (rtx *, MM);
rtx m32c_incoming_return_addr_rtx (void);
-void m32c_initialize_trampoline (rtx, rtx, rtx);
int m32c_legitimate_constant_p (rtx);
int m32c_legitimize_reload_address (rtx *, MM, int, int, int);
rtx m32c_libcall_value (MM);
diff --git a/gcc/config/m32c/m32c.c b/gcc/config/m32c/m32c.c
index 1bf3d1b..a068949 100644
--- a/gcc/config/m32c/m32c.c
+++ b/gcc/config/m32c/m32c.c
@@ -1717,11 +1717,16 @@ m32c_trampoline_alignment (void)
return 2;
}
-/* Implements INITIALIZE_TRAMPOLINE. */
-void
-m32c_initialize_trampoline (rtx tramp, rtx function, rtx chainval)
+/* Implements TARGET_TRAMPOLINE_INIT. */
+
+#undef TARGET_TRAMPOLINE_INIT
+#define TARGET_TRAMPOLINE_INIT m32c_trampoline_init
+static void
+m32c_trampoline_init (rtx m_tramp, tree fndecl, rtx chainval)
{
-#define A0(m,i) gen_rtx_MEM (m, plus_constant (tramp, i))
+ rtx function = XEXP (DECL_RTL (fndecl), 0);
+
+#define A0(m,i) adjust_address (m_tramp, m, i)
if (TARGET_A16)
{
/* Note: we subtract a "word" because the moves want signed
diff --git a/gcc/config/m32c/m32c.h b/gcc/config/m32c/m32c.h
index ee092a5..48e669b 100644
--- a/gcc/config/m32c/m32c.h
+++ b/gcc/config/m32c/m32c.h
@@ -555,7 +555,6 @@ typedef struct m32c_cumulative_args
#define TRAMPOLINE_SIZE m32c_trampoline_size ()
#define TRAMPOLINE_ALIGNMENT m32c_trampoline_alignment ()
-#define INITIALIZE_TRAMPOLINE(a,fn,sc) m32c_initialize_trampoline (a, fn, sc)
/* Addressing Modes */