aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload.h
diff options
context:
space:
mode:
authorJ"orn Rennecke <amylaar@cygnus.co.uk>1999-12-15 14:57:29 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>1999-12-15 14:57:29 +0000
commit285f3cf09acda794f6e7bba9cb6d5163c94b5af4 (patch)
tree004232333d701e94fd104742dbd3de8db91043a0 /gcc/reload.h
parent4940cd6041eaa51d8a9bb245d7be26ac0b68187d (diff)
downloadgcc-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.h9
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;