cleanup_cf_node() is part of the control flow modification code, which we're going to split into its own file, but remove_defs_uses() is an internal function used by nir_instr_remove(). Break the dependency by making cleanup_cf_node() use nir_instr_remove() instead, which simply calls remove_defs_uses() and then removes the instruction from the list. nir_instr_remove() does do extra things for jumps, though, so we avoid calling it on jumps which matches the previous behavior (this will be fixed later in the series).
Signed-off-by: Connor Abbott <connor.w.abb...@intel.com> --- src/glsl/nir/nir.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/glsl/nir/nir.c b/src/glsl/nir/nir.c index 3f1eefb..0821c13 100644 --- a/src/glsl/nir/nir.c +++ b/src/glsl/nir/nir.c @@ -1213,8 +1213,10 @@ cleanup_cf_node(nir_cf_node *node) case nir_cf_node_block: { nir_block *block = nir_cf_node_as_block(node); /* We need to walk the instructions and clean up defs/uses */ - nir_foreach_instr(block, instr) - remove_defs_uses(instr); + nir_foreach_instr(block, instr) { + if (instr->type != nir_instr_type_jump) + nir_instr_remove(instr); + } break; } -- 2.4.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev