From 49c3bb1275fbdde639e778beb5aa5f4c6361a52d Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 20 Oct 1999 07:04:12 -0700 Subject: basic-block.h (PROP_*): Move constants from ... * 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. From-SVN: r30103 --- gcc/basic-block.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'gcc/basic-block.h') diff --git a/gcc/basic-block.h b/gcc/basic-block.h index ad2d15c..a311a3a 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 */ -- cgit v1.1