Re: [Mesa-dev] [PATCH] nir: Fix copy_prop_src when src is an indirect access on a reg.
Rb On Jun 25, 2016 9:30 PM, "Eric Anholt"wrote: > The intent was to continue down the indirect chain, not to call ourselves > with unchanged input arguments. Found by code inspection, and comparison > to copy_prop_alu_src(). > > We haven't hit this because callers of NIR's copy prop are doing so in > SSA, before indirect variable dereferences have been lowered to registers. > --- > src/compiler/nir/nir_opt_copy_propagate.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/compiler/nir/nir_opt_copy_propagate.c > b/src/compiler/nir/nir_opt_copy_propagate.c > index adca7fa6eff2..c26e07fda712 100644 > --- a/src/compiler/nir/nir_opt_copy_propagate.c > +++ b/src/compiler/nir/nir_opt_copy_propagate.c > @@ -103,7 +103,7 @@ copy_prop_src(nir_src *src, nir_instr *parent_instr, > nir_if *parent_if) > { > if (!src->is_ssa) { >if (src->reg.indirect) > - return copy_prop_src(src, parent_instr, parent_if); > + return copy_prop_src(src->reg.indirect, parent_instr, parent_if); >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
Re: [Mesa-dev] [PATCH] nir: Fix copy_prop_src when src is an indirect access on a reg.
On Sat, Jun 25, 2016 at 8:54 PM, Eric Anholtwrote: > The intent was to continue down the indirect chain, not to call ourselves > with unchanged input arguments. Found by code inspection, and comparison > to copy_prop_alu_src(). > > We haven't hit this because callers of NIR's copy prop are doing so in > SSA, before indirect variable dereferences have been lowered to registers. Reviewed-by: Rob Clark > --- > src/compiler/nir/nir_opt_copy_propagate.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/compiler/nir/nir_opt_copy_propagate.c > b/src/compiler/nir/nir_opt_copy_propagate.c > index adca7fa6eff2..c26e07fda712 100644 > --- a/src/compiler/nir/nir_opt_copy_propagate.c > +++ b/src/compiler/nir/nir_opt_copy_propagate.c > @@ -103,7 +103,7 @@ copy_prop_src(nir_src *src, nir_instr *parent_instr, > nir_if *parent_if) > { > if (!src->is_ssa) { >if (src->reg.indirect) > - return copy_prop_src(src, parent_instr, parent_if); > + return copy_prop_src(src->reg.indirect, parent_instr, parent_if); >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
[Mesa-dev] [PATCH] nir: Fix copy_prop_src when src is an indirect access on a reg.
The intent was to continue down the indirect chain, not to call ourselves with unchanged input arguments. Found by code inspection, and comparison to copy_prop_alu_src(). We haven't hit this because callers of NIR's copy prop are doing so in SSA, before indirect variable dereferences have been lowered to registers. --- src/compiler/nir/nir_opt_copy_propagate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/nir/nir_opt_copy_propagate.c b/src/compiler/nir/nir_opt_copy_propagate.c index adca7fa6eff2..c26e07fda712 100644 --- a/src/compiler/nir/nir_opt_copy_propagate.c +++ b/src/compiler/nir/nir_opt_copy_propagate.c @@ -103,7 +103,7 @@ copy_prop_src(nir_src *src, nir_instr *parent_instr, nir_if *parent_if) { if (!src->is_ssa) { if (src->reg.indirect) - return copy_prop_src(src, parent_instr, parent_if); + return copy_prop_src(src->reg.indirect, parent_instr, parent_if); return false; } -- 2.8.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev