aboutsummaryrefslogtreecommitdiff
path: root/gcc/ira.c
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2013-11-24 19:15:36 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2013-11-24 19:15:36 +0000
commit57d6c446c787d1dacd89c5cd504747d6857ad494 (patch)
treef5db0208687505d3114934ff0a9f353f86b4947f /gcc/ira.c
parent58b07297511c491cdd3feab39fcb0d84713f736e (diff)
downloadgcc-57d6c446c787d1dacd89c5cd504747d6857ad494.zip
gcc-57d6c446c787d1dacd89c5cd504747d6857ad494.tar.gz
gcc-57d6c446c787d1dacd89c5cd504747d6857ad494.tar.bz2
jump.c (reset_insn_reg_label_operand_notes): New function, split out from ...
* jump.c (reset_insn_reg_label_operand_notes): New function, split out from ... (init_label_info): ... here. Reset LABEL_NUSES in cfglayout mode. * cfgcleanup.c (delete_dead_jump_tables_between): New function, split out from ... (delete_dead_jumptables): ... here. Handle cfglayout mode. (cleanup_cfg): Delete dead jump tables in cfglayout mode if an expensive CFG cleanup is called for. * cfgrtl.c (fixup_reorder_chain): Remove BARRIERs from fallthru paths. (cfg_layout_finalize): Delete dead jump tables before re-building the insns chain. * ira.c (ira): Rebuild jump labels *after* deleting unreachable basic blocks, not before. * loop-init.c (rtl_loop_done): Call for an expensive CFG cleanup. * modulo-sched.c (sms_schedule): Do not look for BARRIERs in the insns chain of a scheduling extended basic block, they cannot appear there in cfglayout mode. From-SVN: r205337
Diffstat (limited to 'gcc/ira.c')
-rw-r--r--gcc/ira.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/ira.c b/gcc/ira.c
index 2902ebe..43f98d4 100644
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -5273,9 +5273,9 @@ ira (FILE *f)
if (optimize && rebuild_p)
{
timevar_push (TV_JUMP);
- rebuild_jump_labels (get_insns ());
if (purge_all_dead_edges ())
delete_unreachable_blocks ();
+ rebuild_jump_labels (get_insns ());
timevar_pop (TV_JUMP);
}