On Aug 1, 2016 12:41 PM, "Eric Anholt" <e...@anholt.net> wrote: > > nir_opt_peephole_select has the job of removing IF statements with no side > effects. However, if the IF statement's successor didn't have any > instructions in it, we were skipping it, which occurred in mupen64 on > vc4 with glsl_to_nir enabled:
Ugh... This makes sense. I do keep thinking that, one day, this should be rolled into dead_cf... Oh well Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net> > instructions in affected programs: 6134 -> 4120 (-32.83%) > total uniforms in shared programs: 38268 -> 38219 (-0.13%) > > No changes on Haswell shader-db. > --- > > The comment abou the end block is concerning, but I think actually the > end block doesn't get iterated over. I would be surprised if HSW > shader-db didn't crash if the end block was actually visited. As of recent block iteration changes, we no longer hit the end block using nir_foreach_block so it should be ok. > src/compiler/nir/nir_opt_peephole_select.c | 7 ------- > 1 file changed, 7 deletions(-) > > diff --git a/src/compiler/nir/nir_opt_peephole_select.c b/src/compiler/nir/nir_opt_peephole_select.c > index 7fcc71ea9d76..633e9f486c08 100644 > --- a/src/compiler/nir/nir_opt_peephole_select.c > +++ b/src/compiler/nir/nir_opt_peephole_select.c > @@ -127,13 +127,6 @@ block_check_for_allowed_instrs(nir_block *block) > static bool > nir_opt_peephole_select_block(nir_block *block, void *mem_ctx) > { > - /* If the block is empty, then it certainly doesn't have any phi nodes, > - * so we can skip it. This also ensures that we do an early skip on the > - * end block of the function which isn't actually attached to the CFG. > - */ > - if (exec_list_is_empty(&block->instr_list)) > - return false; > - > if (nir_cf_node_is_first(&block->cf_node)) > return false; > > -- > 2.8.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev