Minor haifa buglet

Jeffrey A Law law@cygnus.com
Thu Nov 4 05:38:00 GMT 1999


Apparently we haven't been doing any cross-block motions of insns with
SCHED_GROUP_P set, because, well, it didn't work :-)
[ Makes sense, we don't have a lot of SCHED_GROUP_P insns, and the ports
  where they're most likely to be used typically don't have sched1 enabled. ]

Basically the loop to walk backwards through the SCHED_GROUP_P insns had
the wrong exit test and we'd walk back beyond the start of the function
and drop core.

The v850 port is happy again.


	* haifa-sched.c (schedule_block): Fix thinko.

Index: haifa-sched.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/haifa-sched.c,v
retrieving revision 1.126
diff -c -3 -p -r1.126 haifa-sched.c
*** haifa-sched.c	1999/11/03 22:44:10	1.126
--- haifa-sched.c	1999/11/04 13:36:06
*************** schedule_block (bb, rgn_n_insns)
*** 5994,6000 ****
  		 still intact.  */
  
  	      temp = insn;
! 	      while (SCHED_GROUP_P (insn))
  		temp = PREV_INSN (temp);
  
  	      /* Update source block boundaries.   */
--- 5994,6000 ----
  		 still intact.  */
  
  	      temp = insn;
! 	      while (SCHED_GROUP_P (temp))
  		temp = PREV_INSN (temp);
  
  	      /* Update source block boundaries.   */









More information about the Gcc-patches mailing list