This is the mail archive of the gcc@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: vrp?


> On Wed, Feb 12, 2003 at 02:51:09PM -0500, David Edelsohn wrote:
> > 	CSE is the only pass which uses address_cost to try to compute the
> > best address forms, so be careful what you consider disabling.
> 
> Only the bits that attempt to propagate data between blocks.
> 
> I'd hoped that Roger Sayle's recent gcse patch would make the
> cse code completely redundant, but (as obvious from the first
> post in this thread) it's not quite there.

Unforutnately CSE propagates quite a lot over the superblocks.  This is
dead end...  There is no way to save it without rewriting and there is
no way to rewrite it as it does too many things at once...

Rewriting inidividual subpases is tedious as it usually bring just
small speedup relative to quite strong but never perfect CSE and it
brings often slowdowns to the compiler.

Perhaps we can try to put together some plan how to atack this.  I was
thinking about slowly replacing the things that are actually not CSE (or
GVM) out.   There seems to be many things we have inside CSE that are
usually done spearately.

We already do have good replacement for constant folding, I hope, except
for the hard registers.

Next we have things like replacing divisions by constants, generating
addressing modes.  These two things can be probably dealt with kind of
un-CSE pass that do use the RTX_COST...
We also have some register pressure things there, backward copy propagation.

What else?
Where it would be easiest to start with?
I think it can be good to discuss this in some detail so we can do it in
next-generation-rtlopt-branch (or whatever)

Honza
> 
> 
> r~


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