This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: How will scheduler take care of modulo scheduling?


Hi,
  Please give mne the details of how to modify the existing scheduler to 
incorporate the modulo scheduler. Will thus checking of loop start and 
loop end work fine? Does we nned to consider any timing  constraints for 
this?
  Modulo Scheduler is completed but please tell me the right way of 
integrating this with the insn scheduler.

Best,
Ritu.



On Tue, 10 Dec 2002, Vladimir 
Makarov wrote:

> 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
> 



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]