flow.c (merge_blocks_move_successor_nojumps): Do not crash when fallthru edge is...
authorJan Hubicka <jh@suse.cz>
Wed, 11 Jul 2001 19:42:35 +0000 (21:42 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 11 Jul 2001 19:42:35 +0000 (19:42 +0000)
commit46fac66482f1cf5cc61f7fef9de8b7593c8357e7
tree60903d3543bd7ef55ab3cdb0ddd8b7aed79a1788
parent669f7a035a384894ac482e00c291d393a21ba2d0
flow.c (merge_blocks_move_successor_nojumps): Do not crash when fallthru edge is present.

* flow.c (merge_blocks_move_successor_nojumps): Do not crash
when fallthru edge is present.
(mege_blocks): Handle case where creation of jump insn
is required.

* basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
CLEANUP_POST_REGSTACK): New constants.
* except.c (finish_eh_generation): Update call of cleanup_cfg,
* jump.c (rtx_renumbered_equal_p): Handle 't' fields.
* output.h (cleanup_cfg): Update prototype.
* reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
* sibcall.c (optimize_sibling_and_tail_recursive_call): Update
cleanup_cfg call; kill missleading comment.
* toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
* flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
parameter; control optimizations performed using it.
(flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
try_crossjump_bb): New functions.

From-SVN: r43950
gcc/ChangeLog
gcc/basic-block.h
gcc/except.c
gcc/flow.c
gcc/jump.c
gcc/output.h
gcc/reg-stack.c
gcc/sibcall.c
gcc/toplev.c