* ifcvt.c (noce_process_if_block): If A and B are the same, and no
else block, and X has side-effects, then fail.
From-SVN: r36373
+2000-09-12 Jim Wilson <wilson@cygnus.com>
+
+ * ifcvt.c (noce_process_if_block): If A and B are the same, and no
+ else block, and X has side-effects, then fail.
+
2000-09-12 Greg McGary <greg@mcgary.org>
* config/mips/mips-protos.h
reorder_insns (insn_b, insn_b, PREV_INSN (if_info.cond_earliest));
insn_b = NULL_RTX;
}
+ /* If we have "x = b; if (...) x = a;", and x has side-effects, then
+ x must be executed twice. */
+ else if (insn_b && side_effects_p (orig_x))
+ return FALSE;
+
x = orig_x;
goto success;
}