[Mesa-dev] Partial loop unrolling support

Jason Ekstrand jason at jlekstrand.net
Mon Nov 19 23:42:57 UTC 2018


On Mon, Nov 19, 2018 at 5:31 PM Timothy Arceri <tarceri at itsqueeze.com>
wrote:

> On 20/11/18 2:46 am, Jason Ekstrand wrote:
> > I also saw a case last week where the induction variable is <=
> > imax(thing, 4) and it'd be nice to unroll those too.
>
> That is an interesting one. It means we could do a simple unroll for the
> first 4 iterations i.e no if statements required, which is a bit of a
> different use case from the new functions introduced in this series but
> shouldn't bee too hard to do.
>

Actually, I think it was imin(thing, 4) so we would do a conditional unroll
of 4 iterations.  Still, it's potentially similar.  Mostly that was to
point out that more creative loop unrolling is a good thing.

--Jason


> >
> > --Jason
> >
> > On Mon, Nov 19, 2018 at 12:18 AM Timothy Arceri <tarceri at itsqueeze.com
> > <mailto:tarceri at itsqueeze.com>> wrote:
> >
> >     This series add support for partial loop unrolling for loops with an
> >     unknown trip count. The new partial_unroll function allows the caller
> >     to specifiy how may times the loop should be unrolled and then the
> >     loop is inserted in the innermost continue branch of the unrolled
> loop.
> >
> >     For now we only do partial unrolling for loops where we can guess the
> >     iteration count based on array access that uses an induction variable
> >     as its index (see patch 7).
> >
> >     Patches 1-6 are tidy-ups/refactors.
> >
> >     Patch 7 adds a method for guessing the trip count for the loop.
> >
> >     Patch 8 adds partial unrolling support and also support for removing
> >     redundant load/stores from the remaining loop when considering if
> >     we would be accessing an array out bounds.
> >
> >
> >     _______________________________________________
> >     mesa-dev mailing list
> >     mesa-dev at lists.freedesktop.org <mailto:
> mesa-dev at lists.freedesktop.org>
> >     https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20181119/3da3cdfd/attachment.html>


More information about the mesa-dev mailing list