After an unconditional trap there should be a barrier. In most cases
one is automatically inserted, but not if the trap is the final insn in
the instruction stream. We need to emit one explicitly.
PR rtl-optimization/78607
* combine.c (try_combine): Emit a barrier after a unconditional trap.
gcc/testsuite/
PR rtl-optimization/78607
* gcc.c-torture/compile/pr78607.c: New testcase.
From-SVN: r243092
+2016-12-01 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/78607
+ * combine.c (try_combine): Emit a barrier after a unconditional trap.
+
2016-11-30 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/78602
basic_block bb = BLOCK_FOR_INSN (i3);
gcc_assert (bb);
remove_edge (split_block (bb, i3));
+ emit_barrier_after_bb (bb);
*new_direct_jump_p = 1;
}
basic_block bb = BLOCK_FOR_INSN (undobuf.other_insn);
gcc_assert (bb);
remove_edge (split_block (bb, undobuf.other_insn));
+ emit_barrier_after_bb (bb);
*new_direct_jump_p = 1;
}
+2016-12-01 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR rtl-optimization/78607
+ * gcc.c-torture/compile/pr78607.c: New testcase.
+
2016-11-30 Martin Sebor <msebor@redhat.com>
PR tree-optimization/78586
--- /dev/null
+/* PR rtl-optimization/78607 */
+
+void
+rc (int cx)
+{
+ int mq;
+
+ if (mq == 0 && (cx / 0) != 0)
+ for (;;)
+ {
+ }
+}