Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net> Thanks for figuring this out. This probably explains some of the hurt I was seeing with my series as well.
--Jason On Tue, Oct 30, 2018 at 9:17 PM Timothy Arceri <tarc...@itsqueeze.com> wrote: > From: Timothy Arceri <tarceri@localhost.localdomain> > > We need to update the cursor before we check if the alu use is > dominated by the if condition. Previously we were checking if > the current location of the alu instruction was dominated by > the if condition which would miss some optimisation opportunities. > > Fixes: a3b4cb34589e ("nir/opt_if: Rework condition propagation") > --- > src/compiler/nir/nir_opt_if.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/src/compiler/nir/nir_opt_if.c b/src/compiler/nir/nir_opt_if.c > index 1f2e1f21130..1fe95e53766 100644 > --- a/src/compiler/nir/nir_opt_if.c > +++ b/src/compiler/nir/nir_opt_if.c > @@ -444,11 +444,10 @@ propagate_condition_eval(nir_builder *b, nir_if > *nif, nir_src *use_src, > bool is_if_condition) > { > bool bool_value; > + b->cursor = nir_before_src(alu_use, is_if_condition); > if (!evaluate_if_condition(nif, b->cursor, &bool_value)) > return false; > > - b->cursor = nir_before_src(alu_use, is_if_condition); > - > nir_ssa_def *def[2] = {0}; > for (unsigned i = 0; i < nir_op_infos[alu->op].num_inputs; i++) { > if (alu->src[i].src.ssa == use_src->ssa) { > -- > 2.17.2 > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev