summaryrefslogtreecommitdiff
path: root/gcc/config/vax
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-10-29 07:43:09 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1995-10-29 07:43:09 -0500
commit4f069e1470c4850d37991c0c7406da09e5acc544 (patch)
treef4c61c31ef760d88f95101e657eba8177451b361 /gcc/config/vax
parent139eda626f1994d1f1b0bac849db4e0836850990 (diff)
downloadgcc-4f069e1470c4850d37991c0c7406da09e5acc544.tar.gz
(RETURN_ADDRESS_OFFSET, RETURN_ADDR_RTX): Define.
From-SVN: r10540
Diffstat (limited to 'gcc/config/vax')
-rw-r--r--gcc/config/vax/vax.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/config/vax/vax.h b/gcc/config/vax/vax.h
index 7b37ba024d7..99386c08903 100644
--- a/gcc/config/vax/vax.h
+++ b/gcc/config/vax/vax.h
@@ -551,6 +551,20 @@ gen_rtx (PLUS, Pmode, frame, gen_rtx (CONST_INT, VOIDmode, 12))
emit_move_insn (gen_rtx (MEM, SImode, plus_constant (TRAMP, 11)), \
plus_constant (FNADDR, 2)); \
}
+
+/* Byte offset of return address in a stack frame. The "saved PC" field
+ is in element [4] when treating the frame as an array of longwords. */
+
+#define RETURN_ADDRESS_OFFSET (4 * UNITS_PER_WORD) /* 16 */
+
+/* A C expression whose value is RTL representing the value of the return
+ address for the frame COUNT steps up from the current frame.
+ FRAMEADDR is already the frame pointer of the COUNT frame, so we
+ can ignore COUNT. */
+
+#define RETURN_ADDR_RTX(COUNT, FRAME) \
+ gen_rtx (MEM, Pmode, plus_constant (FRAME, RETURN_ADDRESS_OFFSET))
+
/* Addressing modes, and classification of registers for them. */