* lcm.c (optimize_mode_switching): Emit mode_set before the
JUMP_INSN of an abnormal edge.
From-SVN: r39518
+2001-02-07 Alexandre Oliva <aoliva@redhat.com>
+
+ * lcm.c (optimize_mode_switching): Emit mode_set before the
+ JUMP_INSN of an abnormal edge.
+
2001-02-07 Bernd Schmidt <bernds@redhat.com>
* builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
previous block. */
if (eg->flags & EDGE_ABNORMAL)
{
- src_bb->end = emit_insn_after (mode_set, src_bb->end);
+ if (GET_CODE (src_bb->end) == JUMP_INSN)
+ emit_insn_before (mode_set, src_bb->end);
+ else
+ src_bb->end = emit_insn_after (mode_set, src_bb->end);
bb_info[j][src_bb->index].computing = mode;
RESET_BIT (transp[src_bb->index], j);
}