diff options
author | Alexander Kabaev <kan@FreeBSD.org> | 2003-11-07 02:43:04 +0000 |
---|---|---|
committer | Alexander Kabaev <kan@FreeBSD.org> | 2003-11-07 02:43:04 +0000 |
commit | ea875f6efe3bb8adfb0cd5c46481e92462efd788 (patch) | |
tree | 980c917e2cc50183c4d566d9a0f9a1c818e6a6cd /contrib/gcc/cse.c | |
parent | 006ca56045367264ed55b8bf2cb0594565911208 (diff) |
Gcc 3.3.3 20031106.
Notes
Notes:
svn path=/vendor/gcc/dist/; revision=122180
Diffstat (limited to 'contrib/gcc/cse.c')
-rw-r--r-- | contrib/gcc/cse.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/contrib/gcc/cse.c b/contrib/gcc/cse.c index 1ace41221234..9566865debef 100644 --- a/contrib/gcc/cse.c +++ b/contrib/gcc/cse.c @@ -6844,7 +6844,15 @@ cse_set_around_loop (x, insn, loop_start) abort (); } else - emit_insn_after (move, p); + { + if (control_flow_insn_p (p)) + /* p can cause a control flow transfer so it + is the last insn of a basic block. We can't + therefore use emit_insn_after. */ + emit_insn_before (move, next_nonnote_insn (p)); + else + emit_insn_after (move, p); + } } break; } |