summaryrefslogtreecommitdiff
path: root/gcc/cfglayout.c
diff options
context:
space:
mode:
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2007-03-15 20:08:29 +0000
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2007-03-15 20:08:29 +0000
commit4aaec1807f556b5b8de98cbda59cb17bdea008c4 (patch)
tree9b1ab29c213a2680b9ef2b4f06ef1795ab842e8d /gcc/cfglayout.c
parent855ed7a1964539ba000c4d9b368581ad30021236 (diff)
downloadgcc-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.c4
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