diff options
author | J"orn Rennecke <amylaar@cygnus.co.uk> | 1999-12-15 14:57:29 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 1999-12-15 14:57:29 +0000 |
commit | 285f3cf09acda794f6e7bba9cb6d5163c94b5af4 (patch) | |
tree | 004232333d701e94fd104742dbd3de8db91043a0 /gcc/reload.h | |
parent | 4940cd6041eaa51d8a9bb245d7be26ac0b68187d (diff) | |
download | gcc-285f3cf09acda794f6e7bba9cb6d5163c94b5af4.zip gcc-285f3cf09acda794f6e7bba9cb6d5163c94b5af4.tar.gz gcc-285f3cf09acda794f6e7bba9cb6d5163c94b5af4.tar.bz2 |
caller-save.c (insert_one_insn): Returns struct insn_chain *.
* caller-save.c (insert_one_insn): Returns struct insn_chain *.
Handle live_throughout / dead_or_set instead of live_before /
live_after.
(save_call_clobbered_regs): Get register livenessinformation from
chain->live_throughout.
(add_stored_regs): New function.
(insert_restore, insert_save): Add restored / saved registers to
dead_or_set.
* global.c (reg_dies): New parameter chain.
(reg_becomes_live): Third parameter is regs_set now.
Changed all callers.
(reg_dies): New parameter chain. Changed all callers.
(build_insn_chain): Set live_throughout instead of
live_before / live_after.
* reload.h (struct insn_chain): Replace members live_before /
live_after with live_throughout / dead_or_set.
* reload1.c (new_insn_chain): Handle live_throughout / dead_or_set
instead of live_before / live_after.
(maybe_fix_stack_asms, find_reload_regs, finish_spills): Likewise.
(order_regs_for_reload, find_reg, finish_spills): Likewise.
(choose_reload_regs_init): Likewise.
* stupid.c (current_chain, find_clobbered_regs): Delete.
(stupid_life_analysis): Set chain->live_throughout chain->dead_or_set
instead of chain->live_before / chain->live_after.
(mark_hard_ref): New function.
(stupid_mark_refs): Call mark_hard_ref. Clear chain->live_throughout.
From-SVN: r30957
Diffstat (limited to 'gcc/reload.h')
-rw-r--r-- | gcc/reload.h | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/gcc/reload.h b/gcc/reload.h index 52ede8d..391c047 100644 --- a/gcc/reload.h +++ b/gcc/reload.h @@ -224,12 +224,9 @@ struct insn_chain /* The rtx of the insn. */ rtx insn; /* Register life information: record all live hard registers, and all - live pseudos that have a hard register. - This information is recorded for the point immediately before the insn - (in live_before), and for the point within the insn at which all - outputs have just been written to (in live_after). */ - regset live_before; - regset live_after; + live pseudos that have a hard register. */ + regset live_throughout; + regset dead_or_set; /* Copies of the global variables computed by find_reloads. */ struct reload *rld; |