]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/rtlanal.c
cfgrtl.c (delete_insn_and_edges, [...]): New.
authorJan Hubicka <jh@suse.cz>
Wed, 6 Mar 2002 10:17:23 +0000 (11:17 +0100)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 6 Mar 2002 10:17:23 +0000 (10:17 +0000)
commit3dec4024284c5108d43f436b4696edc0f40db749
tree1a7be85532d6be381af338d07dbdca5f8fd08db0
parent9533dec17344558707c2338385daeab4474305d0
cfgrtl.c (delete_insn_and_edges, [...]): New.

* 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.

From-SVN: r50355
14 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/basic-block.h
gcc/cfganal.c
gcc/cfgcleanup.c
gcc/cfgrtl.c
gcc/cse.c
gcc/emit-rtl.c
gcc/flow.c
gcc/profile.c
gcc/rtl.h
gcc/rtlanal.c
gcc/timevar.def
gcc/toplev.c