diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-10-20 14:04:12 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-10-20 14:04:12 +0000 |
commit | def930986a1bcf6152e7a76483b87c2b2574f32b (patch) | |
tree | 861e406256a60c2c63e3e1c6624c268ca1f60944 /gcc/basic-block.h | |
parent | d3b95fd70872ea49c54e076cc0c11ab5f8683b40 (diff) | |
download | gcc-def930986a1bcf6152e7a76483b87c2b2574f32b.tar.gz |
* basic-block.h (PROP_*): Move constants from ...
* flow.c: ... here.
(compute_bb_for_insn): Free the array before reallocating.
(update_life_info): New arg PROP_FLAGS; pass on to propagate_block.
(allocate_reg_life_data): Reset all reg variables collected by
propagate_block.
(get_block_head_tail): Don't convert from bb to block.
(get_bb_head_tail): New. Update all callers of get_block_head_tail.
(find_insn_reg_weight): Take block not bb.
(schedule_block): Don't set block num for moved insns.
(schedule_region): Don't update_life_info or find_insn_reg_weight.
(schedule_insns): Do it here instead.
* combine.c (combine_instructions): Invoke compute_bb_for_insn
before update_life_info.
* recog.c (split_all_insns, peephole2_optimize): Update for
new arg to update_life_info.
* rtlanal.c (remove_note): Cope with NULL note.
* toplev.c (rest_of_compilation): Don't invoke recompute_reg_usage
if we did sched1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30103 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/basic-block.h')
-rw-r--r-- | gcc/basic-block.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h index ad2d15c9398..a311a3aac37 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -300,6 +300,7 @@ extern void compute_dominators PROTO ((sbitmap *, sbitmap *, extern void compute_flow_dominators PROTO ((sbitmap *, sbitmap *)); extern void compute_immediate_dominators PROTO ((int *, sbitmap *)); + enum update_life_extent { UPDATE_LIFE_LOCAL = 0, @@ -307,7 +308,18 @@ enum update_life_extent UPDATE_LIFE_GLOBAL_RM_NOTES = 2, }; -extern void update_life_info PROTO ((sbitmap, enum update_life_extent)); +/* Flags for life_analysis and update_life_info. */ + +#define PROP_DEATH_NOTES 1 /* Create DEAD and UNUSED notes. */ +#define PROP_LOG_LINKS 2 /* Create LOG_LINKS. */ +#define PROP_REG_INFO 4 /* Update regs_ever_live et al. */ +#define PROP_KILL_DEAD_CODE 8 /* Remove dead code. */ +#define PROP_SCAN_DEAD_CODE 16 /* Scan for dead code. */ +#define PROP_AUTOINC 32 /* Create autoinc mem references. */ +#define PROP_FINAL 63 /* All of the above. */ + +extern void update_life_info PROTO ((sbitmap, enum update_life_extent, + int)); extern int count_or_remove_death_notes PROTO ((sbitmap, int)); /* In lcm.c */ |