From d20b89e9281d6d1ccf56a4eb743dc783fce2fc51 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Sat, 25 Jun 2016 17:33:16 -0700 Subject: 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. Reviewed-by: Rob Clark Reviewed-by: Jason Ekstrand --- src/compiler/nir/nir_opt_copy_propagate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/compiler/nir') diff --git a/src/compiler/nir/nir_opt_copy_propagate.c b/src/compiler/nir/nir_opt_copy_propagate.c index adca7fa6eff..c26e07fda71 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; } -- cgit v1.2.3