This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Simple commit_edge_insertions fix



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;
  	}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]