PATCH for scheduler

Mark Mitchell mark@codesourcery.com
Sun Oct 24 18:35:00 GMT 1999


This patch is the one I promised earlier today; it removes a
dependence on whether or not -g is present when scheduling.  Since
LUIDs are used to determine when a region is too big for interblock
scheduling, -O -g was more pessimistic than -O.

--
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com

Sun Oct 24 19:33:24 1999  Mark P. Mitchell  <mark@codesourcery.com>

	* haifa-sched.c (schedule_insns): Don't assign LUIDs differently
 	depending on whether or not line-number notes are present.

Index: haifa-sched.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/haifa-sched.c,v
retrieving revision 1.122
diff -c -p -r1.122 haifa-sched.c
*** haifa-sched.c	1999/10/20 14:04:01	1.122
--- haifa-sched.c	1999/10/25 01:33:01
*************** schedule_insns (dump_file)
*** 6858,6864 ****
    for (b = 0; b < n_basic_blocks; b++)
      for (insn = BLOCK_HEAD (b);; insn = NEXT_INSN (insn))
        {
! 	INSN_LUID (insn) = luid++;
  	if (insn == BLOCK_END (b))
  	  break;
        }
--- 6858,6873 ----
    for (b = 0; b < n_basic_blocks; b++)
      for (insn = BLOCK_HEAD (b);; insn = NEXT_INSN (insn))
        {
! 	INSN_LUID (insn) = luid;
! 
! 	/* Increment the next luid, unless this is a note.  We don't
! 	   really need separate IDs for notes and we don't want to
! 	   schedule differently depending on whether or not there are
! 	   line-number notes, i.e., depending on whether or not we're
! 	   generating debugging information.  */
! 	if (GET_CODE (insn) != NOTE)
! 	  ++luid;
! 
  	if (insn == BLOCK_END (b))
  	  break;
        }


More information about the Gcc-patches mailing list