gcc/
PR rtl-optimization/57662
* sel-sched.c (code_motion_path_driver): Do not mark already not
existing blocks in the visiting bitmap.
testsuite/
PR rtl-optimization/57662
* g++.dg/pr57662.C: New test.
From-SVN: r207421
2014-02-03 Andrey Belevantsev <abel@ispras.ru>
+ PR rtl-optimization/57662
+ * sel-sched.c (code_motion_path_driver): Do not mark already not
+ existing blocks in the visiting bitmap.
+
+2014-02-03 Andrey Belevantsev <abel@ispras.ru>
+
* sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
on the insn being emitted.
the numbering by creating bookkeeping blocks. */
if (removed_last_insn)
insn = PREV_INSN (insn);
- bitmap_set_bit (code_motion_visited_blocks, BLOCK_FOR_INSN (insn)->index);
+
+ /* If we have simplified the control flow and removed the first jump insn,
+ there's no point in marking this block in the visited blocks bitmap. */
+ if (BLOCK_FOR_INSN (insn))
+ bitmap_set_bit (code_motion_visited_blocks, BLOCK_FOR_INSN (insn)->index);
return true;
}
+2014-02-03 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/57662
+ * g++.dg/pr57662.C: New test.
+
2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/vmx/3b-15.c: Remove special handling for little endian.