This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Variable Expansion Optimization
- From: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- To: Ayal Zaks <ZAKS at il dot ibm dot com>
- Cc: Giovanni Bajo <giovannibajo at libero dot it>,Mark Mitchell <mark at codesourcery dot com>, gcc at gcc dot gnu dot org,Mostafa Hagog <MUSTAFA at il dot ibm dot com>
- Date: Mon, 23 Aug 2004 09:11:36 +0200
- Subject: Re: Variable Expansion Optimization
- References: <OF7C475887.DF8DD5FD-ONC2256EF8.007BA8FC-C2256EF8.007CA4A0@il.ibm.com>
Hello,
> >1) The loop unrolling as a separate optimization should be done on
> > rtl level, to avoid unnecessary compile-time overheads (optimizing
> > the unrolled loop bodies separately is rarely useful and usually
> > just a waste of time). For reasons mentioned by Sebastian (possible
> > loss of information during unrolling, mostly), I believe the right
> > place for the unrolling optimization would be after the loop-aware
> > scheduling passes (SMS), and before rest of scheduling passes and
> > register allocation.
>
> Well, SMS could overlap more insns if the loop is unrolled before SMS.
as I understood, unrolling is a part of SMS; why this should be the
case?
Zdenek
> OTOH, SMS generates register-moves (in the absence of rotating registers),
> which could be eliminated by further unrolling - after or as a final step
> of SMS.