This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Fw: Scheduling an early complete loop unrolling pass?
- From: Ayal Zaks <ZAKS at il dot ibm dot com>
- 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>, Richard Guenther <rguenther at suse dot de>, Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>, bergner at vnet dot ibm dot com
- Date: Wed, 7 Feb 2007 23:17:54 +0200
- Subject: Fw: Scheduling an early complete loop unrolling pass?
...
>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".
Having a "loop" structure for a piece of CFG that is not a loop, was used
in some other compiler we worked with - the notion of 'region' was such
that it corresponded to loops, and in addition the entire function belonged
to a "universal" region (Peter - please correct if I'm wrong). But I think
you were looking for some marking of a basic block saying "this used to be
a loop but got completely unrolled". I wonder how much such a "dummy" loop
structure can really help the vectorizer, except for (convenience of)
keeping intact the driver that traverses all such structures or the hanging
of additional data off of them.
Ayal.