From 57d6c446c787d1dacd89c5cd504747d6857ad494 Mon Sep 17 00:00:00 2001 From: Steven Bosscher Date: Sun, 24 Nov 2013 19:15:36 +0000 Subject: 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 --- gcc/modulo-sched.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'gcc/modulo-sched.c') diff --git a/gcc/modulo-sched.c b/gcc/modulo-sched.c index f313044..444ffda 100644 --- a/gcc/modulo-sched.c +++ b/gcc/modulo-sched.c @@ -1471,7 +1471,7 @@ sms_schedule (void) continue; } - /* Don't handle BBs with calls or barriers + /* Don't handle BBs with calls or !single_set with the exception of instructions that include count_reg---these instructions are part of the control part that do-loop recognizes. @@ -1481,7 +1481,6 @@ sms_schedule (void) rtx set; if (CALL_P (insn) - || BARRIER_P (insn) || (NONDEBUG_INSN_P (insn) && !JUMP_P (insn) && !single_set (insn) && GET_CODE (PATTERN (insn)) != USE && !reg_mentioned_p (count_reg, insn)) @@ -1496,8 +1495,6 @@ sms_schedule (void) { if (CALL_P (insn)) fprintf (dump_file, "SMS loop-with-call\n"); - else if (BARRIER_P (insn)) - fprintf (dump_file, "SMS loop-with-barrier\n"); else if ((NONDEBUG_INSN_P (insn) && !JUMP_P (insn) && !single_set (insn) && GET_CODE (PATTERN (insn)) != USE)) fprintf (dump_file, "SMS loop-with-not-single-set\n"); -- cgit v1.1