aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-10-03 11:50:33 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-10-03 11:50:33 -0400
commit5b6faa7080f2a761933bf6f01816b33bf454705c (patch)
treeb6609a7c3ceead541d1d3629f7f9a8d73bc1cf50 /gcc
parentf09d4c33098a3172b5816f63694479e10fd1a234 (diff)
downloadgcc-5b6faa7080f2a761933bf6f01816b33bf454705c.zip
gcc-5b6faa7080f2a761933bf6f01816b33bf454705c.tar.gz
gcc-5b6faa7080f2a761933bf6f01816b33bf454705c.tar.bz2
(RETURN_ADDR_RTX): Remove call to copy_to_reg.
From-SVN: r10420
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/sparc/sparc.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index eb9be07..aada4ae 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -1698,6 +1698,10 @@ extern struct rtx_def *sparc_builtin_saveregs ();
save area. */
#define RETURN_ADDR_IN_PREVIOUS_FRAME
+/* This is the offset of the return address to the true next instruction to be
+ executed for normal void functions. */
+#define NORMAL_RETURN_ADDR_OFFSET (8)
+
/* The current return address is in %i7. The return address of anything
farther back is in the register window save area at [%fp+60]. */
/* ??? This ignores the fact that the actual return address is +8 for normal
@@ -1705,8 +1709,8 @@ extern struct rtx_def *sparc_builtin_saveregs ();
#define RETURN_ADDR_RTX(count, frame) \
((count == -1) \
? gen_rtx (REG, Pmode, 31) \
- : copy_to_reg (gen_rtx (MEM, Pmode, \
- memory_address (Pmode, plus_constant (frame, 15 * UNITS_PER_WORD)))))
+ : gen_rtx (MEM, Pmode, \
+ memory_address (Pmode, plus_constant (frame, 15 * UNITS_PER_WORD))))
/* Addressing modes, and classification of registers for them. */