This is the mail archive of the gcc-patches@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: [tree-ssa] Fix problem with loop notes emitted by targets


Hello,

> > > There are some parts of loop.c that rely on presence of LOOP_CONT (such
> > > as dbra code) If we want to save them, we can simply emit LOOP_CONT note
> > > at the beggining of latch basic block (or more aggressivly a superblock).
> > 
> > we currently don't produce these notes at all on tree-ssa branch anyway,
> > so it does not seem to be a big problem; especially since I hope to get
> > rid of the whole loop.c soon.
> That would be best of course :)

we should have mostly everything needed for this (almost) ready; I don't
know much about the state of work on loop optimizater on tree-ssa, but
I guess someone already has the essential things like invariant motion and
strength reduction (IIRC Daniel sent some previews of the code) on tree-ssa;
on rtl level we should then need just a simple invariant motion (a
cleanup for address calculations, mostly), perhaps an addressing modes
aware induction variables optimizations and prefetching; a simplified
versions of rtlopt-branch optimizers should be usable for this.

> I think we ought to start killing loop
> pass slowly now.  What about removing unroller for start?
> 
> I would be curious tought how much of problem not emitting the
> LOOP_CONT notes contribute to the current perfomrance regression
> relative to mainline...

Hard to say.  This state is here for quite a long time -- already when I got to
the work on the branch at the start of August, we already were not producing
any senseful LOOP_CONT notes, since all loops were while (1) ones (in fact
some of the loop optimizations, like duplicating of loop headers, did not
recognize the shape of the loops then).

Zdenek


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