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: Thu, 24 Jul 2003 12:45:59 -0700 (PDT)
- Subject: Re: Transformations to increase parallelism (peepholes?)
On Wed, 23 Jul 2003, Jan Hoogerbrugge wrote:
> 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
You can't treat GCC like a black box and expect this to work.
You need to use GDB and debug the peephole optimizer and figure out why
your pattern isn't matching. You can use the "call" command and use it
with debug_rtx() to debug the peephole optimizer.
You probably don't want to do this with the peephole optimizer, since it
runs after both instruction scheduling passes. You probably want to use
peephole2 instead.
Toshi