diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-06 10:17:23 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-06 10:17:23 +0000 |
commit | fb20d6fadb6929a41e0f2645ba8da6d68c9feff4 (patch) | |
tree | 1a7be85532d6be381af338d07dbdca5f8fd08db0 /gcc/basic-block.h | |
parent | e74146c323db69d660738c3fe6276e25c30c708a (diff) | |
download | gcc-fb20d6fadb6929a41e0f2645ba8da6d68c9feff4.tar.gz |
* cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
* rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
* basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
delete_noop_moves): Return indeger.
* flow.c (ndead): New variable.
(propagate_block_delete_insn): Use delete_insn_and_edges; remove
BB argument; update callers.
(propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
(life_analysis): Do not call purge_all_dead_edges.
(update_life_info): Return number of deleted insns; print statistics.
(update_life_info_in_dirty_blocks): likewise.
(delete_noop_moves): Use delete_insn_and_edges; print statistics;
return number of insns deleted.
* cse.c: Include timevar.h
(delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
iterate until stabilizes; print statistics; return number of killed
insns.
* Makefile.in: (cse.o): Add timevar.h dependency
* rtl.h (delete_trivially_dead_insns): New.
* timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
* toplev.c (rest_of_compilation): Update callers.
* cfgcleanup.c (try_optimize_cfg): Kill blocks.
(try_optimize_cfg): Do not update liveness.
(cleanup-cfg): Loop until try_optimize_cfg and dead code
removal stabilizes; use delete_trivially_dead_insns.
* cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50355 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/basic-block.h')
-rw-r--r-- | gcc/basic-block.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h index 39e24c82760..e615a5dbd5f 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -295,7 +295,10 @@ extern void free_basic_block_vars PARAMS ((int)); extern edge split_block PARAMS ((basic_block, rtx)); extern basic_block split_edge PARAMS ((edge)); extern void insert_insn_on_edge PARAMS ((rtx, edge)); + extern void commit_edge_insertions PARAMS ((void)); +extern void commit_edge_insertions_watch_calls PARAMS ((void)); + extern void remove_fake_edges PARAMS ((void)); extern void add_noreturn_fake_exit_edges PARAMS ((void)); extern void connect_infinite_loops_to_exit PARAMS ((void)); @@ -588,9 +591,9 @@ enum update_life_extent #define LOOP_ALL 31 /* All of the above */ extern void life_analysis PARAMS ((rtx, FILE *, int)); -extern void update_life_info PARAMS ((sbitmap, enum update_life_extent, +extern int update_life_info PARAMS ((sbitmap, enum update_life_extent, int)); -extern void update_life_info_in_dirty_blocks PARAMS ((enum update_life_extent, +extern int update_life_info_in_dirty_blocks PARAMS ((enum update_life_extent, int)); extern int count_or_remove_death_notes PARAMS ((sbitmap, int)); extern int propagate_block PARAMS ((basic_block, regset, regset, regset, @@ -636,7 +639,7 @@ extern void allocate_bb_life_data PARAMS ((void)); extern void expunge_block PARAMS ((basic_block)); extern basic_block alloc_block PARAMS ((void)); extern void find_unreachable_blocks PARAMS ((void)); -extern void delete_noop_moves PARAMS ((rtx)); +extern int delete_noop_moves PARAMS ((rtx)); extern basic_block redirect_edge_and_branch_force PARAMS ((edge, basic_block)); extern basic_block force_nonfallthru PARAMS ((edge)); extern bool redirect_edge_and_branch PARAMS ((edge, basic_block)); |