diff options
author | Jeff Law <law@gcc.gnu.org> | 1998-01-17 17:01:22 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-01-17 17:01:22 -0700 |
commit | ffc3503d9f3b98e5a5ab72132389282e3f040de5 (patch) | |
tree | 2950d6a5efdf63220fcc170f66901456a73c2987 /gcc/emit-rtl.c | |
parent | a0372c94de45537222a342228a5c22e30fe5c3a6 (diff) | |
download | gcc-ffc3503d9f3b98e5a5ab72132389282e3f040de5.zip gcc-ffc3503d9f3b98e5a5ab72132389282e3f040de5.tar.gz gcc-ffc3503d9f3b98e5a5ab72132389282e3f040de5.tar.bz2 |
emit_rtl.c (init_emit_once): Ensure that potential aliasing between frame_pointer_rtx...
* emit_rtl.c (init_emit_once): Ensure that potential aliasing
between frame_pointer_rtx, hard_frame_pointer_rtx, and
arg_pointer_rtx is respected in initialization.
(init_emit_once): Use gen_rtx_raw_REG() to create
return_address_pointer_rtx.
* rtl.h: Fix typo.
From-SVN: r17409
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index ef85c41..ad66124 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -3425,10 +3425,14 @@ init_emit_once (line_numbers) PUT_MODE (stack_pointer_rtx, Pmode); REGNO (frame_pointer_rtx) = FRAME_POINTER_REGNUM; PUT_MODE (frame_pointer_rtx, Pmode); +#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM REGNO (hard_frame_pointer_rtx) = HARD_FRAME_POINTER_REGNUM; PUT_MODE (hard_frame_pointer_rtx, Pmode); +#endif +#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM && HARD_FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM REGNO (arg_pointer_rtx) = ARG_POINTER_REGNUM; PUT_MODE (arg_pointer_rtx, Pmode); +#endif REGNO (virtual_incoming_args_rtx) = VIRTUAL_INCOMING_ARGS_REGNUM; PUT_MODE (virtual_incoming_args_rtx, Pmode); @@ -3440,8 +3444,8 @@ init_emit_once (line_numbers) PUT_MODE (virtual_outgoing_args_rtx, Pmode); #ifdef RETURN_ADDRESS_POINTER_REGNUM - return_address_pointer_rtx = gen_rtx_REG (Pmode, - RETURN_ADDRESS_POINTER_REGNUM); + return_address_pointer_rtx + = gen_rtx_raw_REG (Pmode, RETURN_ADDRESS_POINTER_REGNUM); #endif #ifdef STRUCT_VALUE |