summaryrefslogtreecommitdiff
path: root/gcc/config/sparc
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-03 16:25:00 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-03 16:25:00 +0000
commit3a69c60cf233ff3a2e04b2abf30e69317e895903 (patch)
tree7524af2493029b414c53a5f841468ff3297a46a7 /gcc/config/sparc
parent4bd32627b412930d04d449c85d045b64b898b8b9 (diff)
downloadgcc-3a69c60cf233ff3a2e04b2abf30e69317e895903.tar.gz
* builtins.c (expand_builtin_return_addr): Deal with FRAME_ADDR_RTX.
* doc/tm.texi (Basic Stack Layout): Document FRAME_ADDR_RTX. * config/sparc/sparc.h (FRAME_ADDR_RTX): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117403 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/sparc')
-rw-r--r--gcc/config/sparc/sparc.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index 1d595bc395b..8a2121cf27c 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -1701,6 +1701,10 @@ do { \
#define DYNAMIC_CHAIN_ADDRESS(frame) \
plus_constant (frame, 14 * UNITS_PER_WORD + SPARC_STACK_BIAS)
+/* Given an rtx for the frame pointer,
+ return an rtx for the address of the frame. */
+#define FRAME_ADDR_RTX(frame) plus_constant (frame, SPARC_STACK_BIAS)
+
/* The return address isn't on the stack, it is in a register, so we can't
access it from the current frame pointer. We can access it from the
previous frame pointer though by reading a value from the register window