This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: How will scheduler take care of modulo scheduling?
- From: Vladimir Makarov <vmakarov at redhat dot com>
- To: Ritu Sabharwal <ritu at csa dot iisc dot ernet dot in>
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 10 Dec 2002 10:48:52 -0500
- Subject: Re: How will scheduler take care of modulo scheduling?
- References: <Pine.LNX.4.44.0212101147040.15363-100000@opal.csa.iisc.ernet.in>
Ritu Sabharwal wrote:
>
> Hi,
> We have done the modulo scheduling and rotating register allocation for
> GCC C compiler for IA64. But we don't know how will gcc'c scheduler and
> register allocator take care of this modulo scheduling and register
> allocation. Do we need to modify the existing scheduler and register
> allocator or need to write our own which considers the modulo scheduling
> and rotating register allocation? If modification is to done, what are
> those modifications and if new scheduler and allocator is to be written,
> what is the scheme of doing that?
>
Writing insn scheduler and register allocator is a bigger work than
modulo scheduling. So I'd not advice to write own ones especially if
you are novices for gcc. Because they should work for all gcc
platforms.
So the simplest approach is to modify them. It could be done in the
same way as for RCSP (which is not in the public repository yet). RCSP
puts notes about start and finish of each software pipelining loop. The
insn scheduler looks at such notes and do nothing for code between the
notes.
The same idea (it was actually Richard Henderson's idea) could be used
for register allocator. You could transfer information about registers
used in pipelined loops through notes or in other ways, the register
allocation could not use them for the register allocation.
Vlad