aboutsummaryrefslogtreecommitdiff
path: root/gcc/reg-stack.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2001-07-11 21:42:35 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2001-07-11 19:42:35 +0000
commit46fac66482f1cf5cc61f7fef9de8b7593c8357e7 (patch)
tree60903d3543bd7ef55ab3cdb0ddd8b7aed79a1788 /gcc/reg-stack.c
parent669f7a035a384894ac482e00c291d393a21ba2d0 (diff)
downloadgcc-46fac66482f1cf5cc61f7fef9de8b7593c8357e7.zip
gcc-46fac66482f1cf5cc61f7fef9de8b7593c8357e7.tar.gz
gcc-46fac66482f1cf5cc61f7fef9de8b7593c8357e7.tar.bz2
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
Diffstat (limited to 'gcc/reg-stack.c')
-rw-r--r--gcc/reg-stack.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c
index c233760..af5453d 100644
--- a/gcc/reg-stack.c
+++ b/gcc/reg-stack.c
@@ -476,10 +476,7 @@ reg_to_stack (first, file)
"stack_regs_mentioned cache");
if (convert_regs (file) && optimize)
- {
- jump_optimize (first, JUMP_CROSS_JUMP_DEATH_MATTERS,
- !JUMP_NOOP_MOVES, !JUMP_AFTER_REGSCAN);
- }
+ cleanup_cfg (CLEANUP_EXPENSIVE | CLEANUP_CROSSJUMP | CLEANUP_POST_REGSTACK);
/* Clean up. */
VARRAY_FREE (stack_regs_mentioned_data);