This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Scheduling an early complete loop unrolling pass?
- From: Richard Guenther <rguenther at suse dot de>
- To: Dorit Nuzman <DORIT at il dot ibm dot com>
- Cc: Ira Rosen <IRAR at il dot ibm dot com>, gcc at gcc dot gnu dot org, Paolo Bonzini <paolo dot bonzini at lu dot unisi dot ch>, Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- Date: Tue, 6 Feb 2007 11:06:20 +0100 (CET)
- Subject: Re: Scheduling an early complete loop unrolling pass?
- References: <OF82FB61A0.EC87E773-ONC225727A.003638E1-C225727A.003682D3@il.ibm.com>
On Tue, 6 Feb 2007, Dorit Nuzman wrote:
> Ira Rosen/Haifa/IBM wrote on 06/02/2007 11:49:17:
>
> > Dorit Nuzman/Haifa/IBM wrote on 05/02/2007 21:13:40:
> >
> > > Richard Guenther <rguenther@suse.de> wrote on 05/02/2007 17:59:00:
> > >
> ...
> > >
> > > That's going to change once this project goes in: "(3.2) Straight-
> > > line code vectorization" from http://gcc.gnu.
> > > org/wiki/AutovectBranchOptimizations. In fact, I think in autovect-
> > > branch, if you unroll the above loop it should get vectorized
> > > already. Ira - is that really the case?
> >
> > The completely unrolled loop will not get vectorized because the
> > code will not be inside any loop (and our SLP implementation will
> > focus, at least as a first step, on loops).
>
> Ah, right... I wonder if we can keep the loop structure in place, even
> after completely unrolling the loop - I mean the 'struct loop' in
> 'current_loops' (not the actual CFG), so that the "SLP in loops" would have
> a chance to at least consider vectorizing this "loop". Zdenek - what do you
> say?
Well, usually if it's not inside another loop it can't be performance
critical ;) At least if there would be a setup cost for the vectorized
variant.
I don't think we need to worry about this case until a real testcase
for this comes along.
Richard.
--
Richard Guenther <rguenther@suse.de>
Novell / SUSE Labs