This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Transformations to increase parallelism (peepholes?)
- From: <tm_gccmail at mail dot kloo dot net>
- To: Jan Hoogerbrugge <hoogerbrugge at hotmail dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 1 Aug 2003 13:22:02 -0700 (PDT)
- Subject: Re: Transformations to increase parallelism (peepholes?)
On Wed, 23 Jul 2003, Jan Hoogerbrugge wrote:
> >GCC really needs a pass to preprocess the instructions before sched1 to
> >give the scheduler more scheduling freedom, especially on many-issue
> >processors.
>
>
> Would it be possible to do (some of) these transformations by means of
> peepholes in the .md file? If so, could somebody tell me how a peephole
> should look like for
>
> reg1 = reg2 + const1
> reg3 = reg1 + const2
>
> to
>
> reg1 = reg2 + const1
> reg3 = reg2 + (const1 + const2)
>
> where const1 + const2 has to be within certain bounds. It tried to write a
> peephole for this but without success. Who helps?
>
> Cheers,
> Jan
I was thinking about both this and my idea for a prescheduler to remove
autodec/autoinc, and realized it's not a similar transformation; it's the
same transformation. They are both transformations which reduce the
height of a dependency tree by increasing the width to improve ILP
opportunities.
Are there good papers on this subject?
Toshi