This is the mail archive of the 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: [PATCH] Fix PR18754: add early loop pass, 2nd try

On Fri, 2005-01-21 at 16:04 +0100, Richard Guenther wrote:
> On Fri, 21 Jan 2005, Daniel Berlin wrote:
> >
> >

> > rename_ssa_copies coalesces ssa variables, not renaming.
> > Since you don't have a valid ssa form at that point, it can't possibly
> > work right :)
> >
> > Call rewrite_into_ssa (false);
> Ah ok, yes, that fixes the ICE.  Now I still do not get ivopts
> to optimize the sra'ed stuff, and sra doesn't catch all stuff it
> could. 

Again, the SRA part is something that will be taken care of by the
structure-aliasing stuff (you'll have to rerun "overlap variable"

It will tell the optimizers that each portion of array is really
accessing a different place, and the optimizers will do what they can.

SRA is really an optimization geared towards breaking apart things that
should go into registers. The fact that it happens to help our
optimizers is just a side-effect of this.

As for dom, you can run FRE instead if you are just trying to get
redundancy elimination.
(NEXT_PASS (pass_fre))
It shouldn't destroy data structures.

Also, CCP depends on DCE to kill the dead statements.
With the TCB branch, you should be able to run DCE in the middle of loop
opts (my goal was to be able to run FRE + ccp + DCE after linear loop

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