Do not try to remove a conditional jump if it has side effects.
gcc/
* sel-sched-ir.c (maybe_tidy_empty_bb): Only try to remove a
conditional jump if `onlyjump_p'.
else if (single_succ_p (pred_bb) && any_condjump_p (BB_END (pred_bb)))
{
/* If possible, try to remove the unneeded conditional jump. */
- if (INSN_SCHED_TIMES (BB_END (pred_bb)) == 0
+ if (onlyjump_p (BB_END (pred_bb))
+ && INSN_SCHED_TIMES (BB_END (pred_bb)) == 0
&& !IN_CURRENT_FENCE_P (BB_END (pred_bb)))
{
if (!sel_remove_insn (BB_END (pred_bb), false, false))