diff options
author | steven <steven@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-03-15 20:08:29 +0000 |
---|---|---|
committer | steven <steven@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-03-15 20:08:29 +0000 |
commit | 4aaec1807f556b5b8de98cbda59cb17bdea008c4 (patch) | |
tree | 9b1ab29c213a2680b9ef2b4f06ef1795ab842e8d /gcc/cfglayout.c | |
parent | 855ed7a1964539ba000c4d9b368581ad30021236 (diff) | |
download | gcc-4aaec1807f556b5b8de98cbda59cb17bdea008c4.tar.gz |
* cfglayout.c (fixup_reorder_chain): Postpone deleting dead
jump tables, move the call to delete_dead_jumptables from here...
(cfg_layout_finalize): ...to here. But rebuild jump labels first.
* cfgrtl.c (cfg_layout_can_merge_blocks_p): When not optimizing,
don't allow merging of blocks that try_redirect_by_replacing_jump
also does not handle when not optimizing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122957 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfglayout.c')
-rw-r--r-- | gcc/cfglayout.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/cfglayout.c b/gcc/cfglayout.c index 545cc5d77fc..ef085fcf6d4 100644 --- a/gcc/cfglayout.c +++ b/gcc/cfglayout.c @@ -697,7 +697,6 @@ fixup_reorder_chain (void) #ifdef ENABLE_CHECKING verify_insn_chain (); #endif - delete_dead_jumptables (); /* Now add jumps and labels as needed to match the blocks new outgoing edges. */ @@ -1193,6 +1192,9 @@ cfg_layout_finalize (void) fixup_fallthru_exit_predecessor (); fixup_reorder_chain (); + rebuild_jump_labels (get_insns ()); + delete_dead_jumptables (); + #ifdef ENABLE_CHECKING verify_insn_chain (); #endif |