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



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