This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: g77 performance on ALPHA
- To: John Wehle <john@feith.com>
- Subject: Re: g77 performance on ALPHA
- From: Jeffrey A Law <law@cygnus.com>
- Date: Thu, 02 Sep 1999 00:34:11 -0600
- cc: torvalds@transmeta.com, gcc@gcc.gnu.org, toon@moene.indiv.nluug.nl, rth@cygnus.com, martin.kahlert@provi.de
- Reply-To: law@cygnus.com
In message <199909011920.PAA06128@jwlab.FEITH.COM>you write:
> > Linus Torvalds <torvalds@transmeta.com> wrote:
> > >
> > >It looks like the Compaq compiler knows the stores cannot alias the
> > >loads, while g77 thinks (or tells the instruction scheduler) that the
> > >stores could alias and thus they never get moved down.
> >
> > Naah, I didn't notice that the gcc output actually has all the
> > compare-and-branch instructions still in the unrolled body of the loop,
> > and those will obviously be serialization points regardless of any
> > aliases: the reason the loads haven't migrated up and the stores down
> > like they should is all those control dependencies.
>
> Not sure if this is relevant, however attached is a patch I'm playing with
> which eliminates redundant conditional jumps resulting from loop unrolling.
> I'm not aware of any problems with it, though it's still a work in progress
> I would be interested in hearing if it helps.
This looks like something "thread_jumps" is supposed to be handling.
jeff