summaryrefslogtreecommitdiff
path: root/gcc/basic-block.h
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-20 14:04:12 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-20 14:04:12 +0000
commitdef930986a1bcf6152e7a76483b87c2b2574f32b (patch)
tree861e406256a60c2c63e3e1c6624c268ca1f60944 /gcc/basic-block.h
parentd3b95fd70872ea49c54e076cc0c11ab5f8683b40 (diff)
downloadgcc-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.h14
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 */