[Mesa-dev] [PATCH 00/11] nir: Add a pass management framework

Kenneth Graunke kenneth at whitecape.org
Wed Oct 28 18:45:38 PDT 2015


On Wednesday, October 28, 2015 02:58:07 PM Kristian Høgsberg wrote:
> On Wed, Oct 28, 2015 at 2:34 PM, Jason Ekstrand <jason at jlekstrand.net> wrote:
> > On Wed, Oct 28, 2015 at 2:32 PM, Jason Ekstrand <jason at jlekstrand.net> wrote:
> >> This series adds a nir_pass datastructure and some helpers for managing
> >> optimization and lowering passes.  I've been meaning to get around to this
> >> for some time.  There are a couple of primary benifits to this:
> >>
> >> First, this gives us a central place to put things such as validating the
> >> shader, printing it if it changes, etc.  Right now, the i965 backend calls
> >> nir_validate_shader after each pass.  We would also like to add something
> >> like we have in the i965 backend where it can be set to dump the IR to a
> >> file after every pass that changess it.
> >>
> >> Mor importantly, though, it moves metadata out of the passes them selves
> >> and into the runner.  In the process of putting this series together, I
> >> found at least 3 or 4 optimization passes that don't properly invalidate
> >> metadata.  By putting a metadata_preserved field in nir_pass and handling
> >> metadata in the pass runner, we make it much less likely that a pass will
> >> get this wrong.  LLVM has a similar optimization pass architecture for
> >> precicely this reason.
> >>
> >> As a nice little side-benifit, we no longer have to iterate over all of the
> >> overloads with non-NULL impl pointers in each pass.
> >
> > Once again, git-send-email failed to send the last patch for whatever
> > reason.  The entire series can be found here:
> >
> > http://cgit.freedesktop.org/~jekstrand/mesa/log/?h=wip/nir-pass
> 
> Nice. Series,
> 
> Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>

I plan to review this as well, so please hold off on pushing it for a
little while.  Thanks!

--Ken
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20151028/acf564f9/attachment.sig>


More information about the mesa-dev mailing list