[Mesa-dev] [PATCH 0/7] NIR dead control flow, take two
Connor Abbott
cwabbott0 at gmail.com
Tue Jul 21 21:56:36 PDT 2015
On Tue, Jul 21, 2015 at 9:53 PM, Connor Abbott <cwabbott0 at gmail.com> wrote:
> This is another spin of my dead control flow elimination series, this
> time based on the control flow modification series I sent out earlier.
> It's much shorter, since it now uses the much-more-reusable modification
> API, rather than a few ad-hoc functions to do what it needs to do. The
> changes themselves were relatively minor, however.
>
> Like before, the last patch is for testing purposes only; it lobotomizes
> the GLSL IR pass that does roughly the equivalent thing, so that the NIR
> version gets more exposure. It causes one extra piglit failure, but
> that's expected and not due to the NIR pass. The constant folding test
> expects the compiler to optimize away a function call before link time,
> but after disabling the optimization, that no longer happens. Jenkins
> reports that piglit.spec.arb_shader_atomic_counters.semantics also
> fails, but only on one platform and I couldn't reproduce it so it seems
> like a spurious failure. Other than that, there are no piglit
> regressions.
Oh, and I forgot... the series is also available at
git://people.freedesktop.org/~cwabbott0/mesa nir-dead-cf-v5
>
> Connor Abbott (7):
> nir: add an optimization for removing dead control flow
> nir/dead_cf: delete code that's unreachable due to jumps
> nir: add nir_block_get_following_loop() helper
> nir: add a helper for iterating over blocks in a cf node
> nir/dead_cf: add support for removing useless loops
> i965/fs/nir: enable the dead control flow optimization
> XXX disable opt_if_simplification
>
> src/glsl/Makefile.sources | 1 +
> src/glsl/glsl_parser_extras.cpp | 2 +-
> src/glsl/nir/nir.c | 23 +++
> src/glsl/nir/nir.h | 6 +
> src/glsl/nir/nir_opt_dead_cf.c | 359 ++++++++++++++++++++++++++++++++++++
> src/mesa/drivers/dri/i965/brw_nir.c | 2 +
> 6 files changed, 392 insertions(+), 1 deletion(-)
> create mode 100644 src/glsl/nir/nir_opt_dead_cf.c
>
> --
> 2.4.3
>
More information about the mesa-dev
mailing list