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