This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Simple commit_edge_insertions fix
- To: egcs-patches at egcs dot cygnus dot com, rth at cygnus dot com
- Subject: Simple commit_edge_insertions fix
- From: Jan Hubicka <jh at suse dot cz>
- Date: Sun, 14 May 2000 22:14:56 +0200
Hi
Commit edge insertions crashes when asked to emit insn on sibling call edge.
This can be handled in same way as jump instructions.
Mon May 8 10:12:26 CEST 2000 Jan Hubicka <jh@suse.cz>
* flow.c (commit_one_edge_insertion): Do not crash for sibling calls edges.
*** flow.c.old Sun May 7 21:49:53 2000
--- flow.c Mon May 8 10:10:48 2000
*************** commit_one_edge_insertion (e)
*** 1625,1631 ****
We know this block has a single successor, so we can just emit
the queued insns before the jump. */
! if (GET_CODE (bb->end) == JUMP_INSN)
{
before = bb->end;
}
--- 1627,1634 ----
We know this block has a single successor, so we can just emit
the queued insns before the jump. */
! if (GET_CODE (bb->end) == JUMP_INSN
! || (GET_CODE (bb->end) == CALL_INSN && SIBLING_CALL_P (bb->end)))
{
before = bb->end;
}