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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev