diff options
author | Doug Evans <dje@gnu.org> | 1997-10-10 22:33:24 +0000 |
---|---|---|
committer | Doug Evans <dje@gnu.org> | 1997-10-10 22:33:24 +0000 |
commit | d60bee3a82d91935630f767527c3214aa8f2a496 (patch) | |
tree | 84317fdbe10ad1012277bf1793d929c14cb0a1a8 /gcc | |
parent | 992b2778ced88ffc32ad652c20cce54dd2c61ff2 (diff) | |
download | gcc-d60bee3a82d91935630f767527c3214aa8f2a496.zip gcc-d60bee3a82d91935630f767527c3214aa8f2a496.tar.gz gcc-d60bee3a82d91935630f767527c3214aa8f2a496.tar.bz2 |
(INCOMING_RETURN_ADDR_RTX,INCOMING_FRAME_SP_OFFSET): Move definitions
to a more sane place.
From-SVN: r15891
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/sparc/sparc.h | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h index b4b12b1..46e83b1 100644 --- a/gcc/config/sparc/sparc.h +++ b/gcc/config/sparc/sparc.h @@ -2213,6 +2213,18 @@ extern struct rtx_def *sparc_builtin_saveregs (); : gen_rtx (MEM, Pmode, \ memory_address (Pmode, plus_constant (frame, 15 * UNITS_PER_WORD)))) +/* Before the prologue, the return address is %o7 + 8. OK, sometimes it's + +12, but always using +8 is close enough for frame unwind purposes. + Actually, just using %o7 is close enough for unwinding, but %o7+8 + is something you can return to. */ +#define INCOMING_RETURN_ADDR_RTX \ + gen_rtx (PLUS, word_mode, gen_rtx (REG, word_mode, 15), GEN_INT (8)) + +/* The offset from the incoming value of %sp to the top of the stack frame + for the current function. On sparc64, we have to account for the stack + bias if present. */ +#define INCOMING_FRAME_SP_OFFSET SPARC_STACK_BIAS + #define DOESNT_NEED_UNWINDER (! TARGET_FLAT) /* Addressing modes, and classification of registers for them. */ @@ -3187,16 +3199,3 @@ extern char *output_return (); /* Defined in flags.h, but insn-emit.c does not include flags.h. */ extern int flag_pic; - -/* Before the prologue, the return address is %o7 + 8. OK, sometimes it's - +12, but always using +8 is close enough for frame unwind purposes. - Actually, just using %o7 is close enough for unwinding, but %o7+8 - is something you can return to. */ -#define INCOMING_RETURN_ADDR_RTX \ - gen_rtx (PLUS, word_mode, gen_rtx (REG, word_mode, 15), GEN_INT (8)) - -/* The offset from the incoming value of %sp to the top of the stack frame - for the current function. On sparc64, we have to account for the stack - bias if present. */ - -#define INCOMING_FRAME_SP_OFFSET SPARC_STACK_BIAS |