This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: SMS scheduling
- From: Mostafa Hagog <MUSTAFA at il dot ibm dot com>
- To: Canqun Yang <canqun at nudt dot edu dot cn>
- Cc: gcc at gcc dot gnu dot org
- Date: Thu, 30 Sep 2004 08:58:20 +0200
- Subject: Re: SMS scheduling
BTW, there are several improvement to SMS that
are postponed to post-gcc4.0, these enhancement include:
1. Use of loop-info structure to detect loops.
2. Use of alias sets to remove memory dependencies.
3. Remove register anti-dependencies.
Patches for these improvements are ready.
We are also working on using the register pressure utility
in SMS.
Mostafa.
Mostafa Hagog wrote on 29/09/2004 15:12:26:
>
> Canqun Yang <canqun@nudt.edu.cn> wrote on 28/09/2004 11:06:29:
>
> > Hi, all
> >
> > I tested the Swing Modulo Scheduling of GCC. For
> > simple program, the numerical caculation of PI, it
> > achieves significant speedup on IA64. But, for little
> > bit complex programs, the SMS can hardly work out a
> > successful schedule.
> >
> > The algorithms implemented by Ayal and Mostafa are
> > correct. It seems that the SMS itself is wrong. The
> > schedule priority order calculated by SMS is much
> > different from normal MinDist algorithm.
>
> SMS prioritizes the nodes using critical patch based
> heuristic - the main idea is that instructions that are
> on the critical path are less flexible in means of
> scheduling.
> Why do you think that the priority order should be
> according to MinDist algorithm (what is the minimum
> distance in this case)? Can you provide an example
> that supports this?
>
> > Besides this,
> > SMS is not sensitive to II. Is SMS really wrong?
>
> The node ordering step in SMS is not sensitive to II
> (as mentioned before it is based on critical path
> heuristic). However, the scheduling step is sensitive
> to II - failing to schedule the nodes of a loop within
> II cycles will lead to try scheduling the nodes again
> within II + 1 cycles.
>
>
> Mostafa.
>
>
>
>
>