[Mesa-dev] Partial loop unrolling support
Timothy Arceri
tarceri at itsqueeze.com
Mon Nov 19 23:31:02 UTC 2018
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.
>
> --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
>
More information about the mesa-dev
mailing list