[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