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]

x86 bootstrap fix



I bootstrapped my flow changes on the PA, not the x86 :-)

reg-stacking uses insert_insn_on_edge, but does not maintain the
basic_block_for_insn structures.  So a NULL basic_block_for_insn
is expected.  The obvious fix is to verify it is non-NULL before
calling set_block_for_insn.

	* flow.c (split_edge): Do not call set_block_for_insn if we
	do not have a basic_block_for_insn structure.

Index: flow.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/flow.c,v
retrieving revision 1.203
diff -c -3 -p -r1.203 flow.c
*** flow.c	2000/01/13 05:41:44	1.203
--- flow.c	2000/01/14 11:17:39
*************** split_edge (edge_in)
*** 1387,1393 ****
  	  pos = emit_jump_insn_after (gen_jump (old_succ->head),
  				      jump_block->end);
  	  jump_block->end = pos;
! 	  set_block_for_insn (pos, jump_block);
  	  emit_barrier_after (pos);
  
  	  /* ... let jump know that label is in use, ...  */
--- 1387,1394 ----
  	  pos = emit_jump_insn_after (gen_jump (old_succ->head),
  				      jump_block->end);
  	  jump_block->end = pos;
! 	  if (basic_block_for_insn)
! 	    set_block_for_insn (pos, jump_block);
  	  emit_barrier_after (pos);
  
  	  /* ... let jump know that label is in use, ...  */






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