diff options
author | dj <dj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-06-22 17:38:20 +0000 |
---|---|---|
committer | dj <dj@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-06-22 17:38:20 +0000 |
commit | 01d088335cf0543b46b2517eb9e458489d3aff5e (patch) | |
tree | aa3cca8c99ec42939790c778ddf000a1210b5983 /gcc/config/d30v | |
parent | 17a8121649b62d1893a5c942bdf0719e766894ed (diff) | |
download | gcc-01d088335cf0543b46b2517eb9e458489d3aff5e.tar.gz |
* config/arm/arm.h (struct machine_function): Remove ra_rtx.
* config/arm/arm.c (arm_mark_machine_status): Remove ra_rtx.
(arm_return_addr): Use get_hard_reg_initial_val et al.
* config/d30v/d30v.h (struct machine_function): Remove ra_rtx.
* config/d30v/d30v.c (d30v_mark_machine_status): Remove ra_rtx.
(d30v_return_addr): Use get_hard_reg_initial_val et al.
* config/rs6000/rs6000.h (struct machine_function): Remove ra_rtx.
* config/rs6000/rs6000.c (rs6000_override_options): Don't set
mark_machine_status.
(rs6000_mark_machine_status): Remove.
(rs6000_return_addr): Use get_hard_reg_initial_val.
(rs6000_ra_ever_killed): Use has_hard_reg_initial_val.
* config/v850/v850.h (INIT_EXPANDERS): Delete.
* config/v850/v850.c (struct machine_function): Delete.
(v850_init_machine_status): Delete.
(v850_mark_machine_status): Delete.
(v850_free_machine_status): Delete.
(v850_return_addr): Use get_hard_reg_initial_val.
(v850_init_expanders): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43507 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/d30v')
-rw-r--r-- | gcc/config/d30v/d30v.c | 19 | ||||
-rw-r--r-- | gcc/config/d30v/d30v.h | 2 |
2 files changed, 1 insertions, 20 deletions
diff --git a/gcc/config/d30v/d30v.c b/gcc/config/d30v/d30v.c index b8f30aa7c5f..8f8f6d20280 100644 --- a/gcc/config/d30v/d30v.c +++ b/gcc/config/d30v/d30v.c @@ -3617,7 +3617,6 @@ d30v_mark_machine_status (p) if (p->machine == NULL) return; - ggc_mark_rtx (p->machine->ra_rtx); ggc_mark_rtx (p->machine->eh_epilogue_sp_ofs); } @@ -3655,23 +3654,7 @@ d30v_init_expanders () rtx d30v_return_addr () { - rtx ret; - - ret = cfun->machine->ra_rtx; - - if (ret == NULL) - { - rtx init; - - cfun->machine->ra_rtx = ret = gen_reg_rtx (Pmode); - - init = gen_rtx (SET, VOIDmode, ret, gen_rtx (REG, Pmode, GPR_LINK)); - push_topmost_sequence (); - emit_insn_after (init, get_insns ()); - pop_topmost_sequence (); - } - - return ret; + return get_hard_reg_initial_val (Pmode, GPR_LINK); } /* Called to register all of our global variables with the garbage diff --git a/gcc/config/d30v/d30v.h b/gcc/config/d30v/d30v.h index 7ac16e654c1..ca015b6f4d1 100644 --- a/gcc/config/d30v/d30v.h +++ b/gcc/config/d30v/d30v.h @@ -2870,8 +2870,6 @@ typedef struct machine_function { /* Additionsl stack adjustment in __builtin_eh_throw. */ struct rtx_def * eh_epilogue_sp_ofs; - /* Records __builtin_return address. */ - struct rtx_def * ra_rtx; } machine_function; |