remove hack in find_basic_blocks_1

Jan Hubicka jh@suse.cz
Sat Jul 7 04:37:00 GMT 2001


Hi,
find_basic_blocks_1 contains hack to emit NOP after call if block
is terminated by it.  It looks like it's time has passed, as compiler
now uses edge lists in all cases dealing with CFG.

The hack only prevents crossjumping from happenning.

Bootstrapped, regtested i686

Fri Jul  6 15:28:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
	* flow.c (find_basic_blocks_1): Do not emit NOP after call.

*** flow.c.new	Mon Jul  2 13:20:22 2001
--- flow.c	Fri Jul  6 15:19:30 2001
*************** find_basic_blocks_1 (f)
*** 849,865 ****
  	     to a barrier or some such, no need to do it again.  */
  	  if (head != NULL_RTX)
  	    {
- 	      /* While we now have edge lists with which other portions of
- 		 the compiler might determine a call ending a basic block
- 		 does not imply an abnormal edge, it will be a bit before
- 		 everything can be updated.  So continue to emit a noop at
- 		 the end of such a block.  */
- 	      if (GET_CODE (end) == CALL_INSN && ! SIBLING_CALL_P (end))
- 		{
- 		  rtx nop = gen_rtx_USE (VOIDmode, const0_rtx);
- 		  end = emit_insn_after (nop, end);
- 		}
- 
  	      create_basic_block (i++, head, end, bb_note);
  	      bb_note = NULL_RTX;
  	    }
--- 851,856 ----
*************** find_basic_blocks_1 (f)
*** 901,917 ****
  	     jump already closed the basic block -- no need to do it again.  */
  	  if (head == NULL_RTX)
  	    break;
- 
- 	  /* While we now have edge lists with which other portions of the
- 	     compiler might determine a call ending a basic block does not
- 	     imply an abnormal edge, it will be a bit before everything can
- 	     be updated.  So continue to emit a noop at the end of such a
- 	     block.  */
- 	  if (GET_CODE (end) == CALL_INSN && ! SIBLING_CALL_P (end))
- 	    {
- 	      rtx nop = gen_rtx_USE (VOIDmode, const0_rtx);
- 	      end = emit_insn_after (nop, end);
- 	    }
  	  goto new_bb_exclusive;
  
  	case CALL_INSN:
--- 892,897 ----



More information about the Gcc-patches mailing list