aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKazu Hirata <kazu@hxi.com>2001-08-29 16:04:13 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2001-08-29 16:04:13 +0000
commit39fc3cc7785b6e38cad746fdb449cc67a0929a06 (patch)
tree367755e017788d096031ebab2a416304bd5d35f3 /gcc
parentb3a68dbae82fa22528936f7eb25c7acab1eaa6d0 (diff)
downloadgcc-39fc3cc7785b6e38cad746fdb449cc67a0929a06.zip
gcc-39fc3cc7785b6e38cad746fdb449cc67a0929a06.tar.gz
gcc-39fc3cc7785b6e38cad746fdb449cc67a0929a06.tar.bz2
* h8300.h (RETURN_ADDR_RTX): New.
From-SVN: r45262
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/h8300/h8300.h9
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f245fa6..796b208 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2001-08-29 Kazu Hirata <kazu@hxi.com>
+ * h8300.h (RETURN_ADDR_RTX): New.
+
+2001-08-29 Kazu Hirata <kazu@hxi.com>
+
* h8300.md (movsi_h8300hs): Optimize loading of several
special constants.
diff --git a/gcc/config/h8300/h8300.h b/gcc/config/h8300/h8300.h
index dc7a8ac..ea1d3e8 100644
--- a/gcc/config/h8300/h8300.h
+++ b/gcc/config/h8300/h8300.h
@@ -495,6 +495,15 @@ enum reg_class {
#define STARTING_FRAME_OFFSET 0
+/* We do not know if the caller has a frame pointer, so we cannot go
+ beyond level 0. */
+
+#define RETURN_ADDR_RTX(COUNT, FRAME) \
+ ((COUNT) == 0 \
+ ? gen_rtx_MEM (Pmode, \
+ plus_constant (arg_pointer_rtx, -GET_MODE_SIZE (Pmode))) \
+ : 0)
+
/* If we generate an insn to push BYTES bytes,
this says how many the stack pointer really advances by.