M32R scheduling patch

Nick Clifton nickc@redhat.com
Wed Jul 28 02:49:00 GMT 2004


Hi Guys,

  I am applying the patch below to fix up a scheduling problem with
  the m32r-elf toolchain.  The final_presence_set declarations were
  preventing any instructions being scheduled in the "s" pipe unless
  there was something in the "o" pipe.  This fails when for example
  the only instructions left to be scheduled all use the "s" pipe.
  (This situation arises compiling libgcc2.c for -D_muldi3 and
  -m32rx).  The correct limitation is to use absence_sets which allows
  the "s" pipe to be scheduled when the "o" pipe is empty.

  The patch also fixes a compile time warning when building m32r.o due
  to a missing prototype for the get_hard_reg_initial_val function.
  
Cheers
    Nick

gcc/ChangeLog
2004-07-27  Nick Clifton  <nickc@redhat.com>

	* config/m32r/m32r.c: Include integrate.h in order to get the
	prototype for get_hard_reg_initial_val().

	* config/m32r/m32r.md (m32rpipeline): Remove unused value "m32r"
	and tidy up indentation.
	(final_presence_set): Use absence_set instead, so that if there is
	nothing in the "o" pipe the "s" pipe can be scheduled.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: m32r.md.patch
Type: text/x-patch
Size: 3066 bytes
Desc: Fix up scheduling for m32r
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20040728/70579682/attachment.bin>


More information about the Gcc-patches mailing list