Commit 2dd8bc01 by Geoff Keating Committed by Geoffrey Keating

function.c (thread_prologue_and_epilogue_insns): Don't insert a RETURN insn into…

function.c (thread_prologue_and_epilogue_insns): Don't insert a RETURN insn into a block which already ends with a jump.

	* function.c (thread_prologue_and_epilogue_insns): Don't insert
	a RETURN insn into a block which already ends with a jump.

From-SVN: r31928
parent 3db18f59
2000-02-11 Geoff Keating <geoffk@cygnus.com>
* function.c (thread_prologue_and_epilogue_insns): Don't insert
a RETURN insn into a block which already ends with a jump.
2000-02-11 Geoff Keating <geoffk@cygnus.com>
* haifa-sched.c (BUF_LEN): Increase a lot.
2000-02-11 Nick Clifton <nickc@cygnus.com>
......
......@@ -6746,13 +6746,25 @@ thread_prologue_and_epilogue_insns (f)
remove_edge (e);
make_edge (NULL, bb, EXIT_BLOCK_PTR, 0);
}
}
/* Emit a return insn for the exit fallthru block. Whether
this is still reachable will be determined later. */
/* Emit a return insn for the exit fallthru block. Whether
this is still reachable will be determined later. */
emit_barrier_after (last->end);
emit_return_into_block (last);
emit_barrier_after (last->end);
emit_return_into_block (last);
}
else
{
/* The exit block wasn't empty. We have to use insert_insn_on_edge,
as it may be the exit block can go elsewhere as well
as exiting. */
start_sequence ();
emit_jump_insn (gen_return ());
seq = gen_sequence ();
end_sequence ();
insert_insn_on_edge (seq, e);
insertted = 1;
}
goto epilogue_done;
}
#endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment