diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2001-02-07 17:39:47 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2001-02-07 17:39:47 +0000 |
commit | 09d84e04ef40c67fae280df651cfdec81096a4c6 (patch) | |
tree | fb9e3beecd853f5ca41d3df28587720e76b7b5bb /gcc | |
parent | bdc624db340879ff381a999439861b210916e3bf (diff) | |
download | gcc-09d84e04ef40c67fae280df651cfdec81096a4c6.zip gcc-09d84e04ef40c67fae280df651cfdec81096a4c6.tar.gz gcc-09d84e04ef40c67fae280df651cfdec81096a4c6.tar.bz2 |
lcm.c (optimize_mode_switching): Emit mode_set before the JUMP_INSN of an abnormal edge.
* lcm.c (optimize_mode_switching): Emit mode_set before the
JUMP_INSN of an abnormal edge.
From-SVN: r39518
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/lcm.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a5aaf89..bbfc2fe 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +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 @@ -1227,7 +1227,10 @@ optimize_mode_switching (file) 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); } |