This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] New regressions as of 2003-11-04
> On Wed, 2003-11-05 at 11:07, Jan Hubicka wrote:
> > > On Wed, 2003-11-05 at 10:35, Jan Hubicka wrote:
> > >
> > > >
> > > > Webizer makes about 0.5% difference on mainline, over 1.5% difference on
> > > > tree-SSA, so we obviously made this worse by unnecesary re-use.
> > >
> > > My analysis of crafty indicated that the use of all these temporaries
> > > causes a lot of uneccesary spilling by the register allocator, and we
> > > were losing a lot of runtime because of that.
> >
> > Yes, this is because our register allocator is broken enought to not
> > being able to reorganize registers to avoid reg-reg copies needed on
> > 2-address machines.
> > My webizer pass is a loss for crafty too, but it pays back elsewhere.
>
> It'll be interesting to see what the webizer does after my changes. with
> the nature of tree-ssa its important to seperate those disjoint changes
> since we generate a lot of them, and I suspect we will continue to in
> some cases. At the very least with user vars its going to happen.
>
> I dont suppose its in the code base now? I would say this is something
> we are going to need for the SSA path always. Or at least have it
> available via an option.
>
> Right now the webizer *just* breaks up this disjoint ranges? or does it
> do something else too?
It just breaks disjoint ranges. The stuff to break may however come
from user variables, tree-ssa shared temporaries or reuse implied by RTL
expansion, so it is not perfect estimate.
It is in the mainline and branch. All you need is to call
rest_of_handle_webizer somewhere before CSE1 pass.
Honza
>
> Andrew
>