From b09448931ae541a7a60fd1cf0ebac14b627fba69 Mon Sep 17 00:00:00 2001 From: kan Date: Fri, 7 Nov 2003 02:43:04 +0000 Subject: Gcc 3.3.3 20031106. --- contrib/gcc/cse.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'contrib/gcc/cse.c') diff --git a/contrib/gcc/cse.c b/contrib/gcc/cse.c index 1ace412..9566865 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; } -- cgit v1.1