X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fglsl%2Fnir%2Fnir_lower_vars_to_ssa.c;h=59715072c1505b55ca3441c66e9388225eede84b;hb=aecbc93f2d1ff9de4e03a2b216e86dcb9a4ce414;hp=bb60f46012c13b18afacfd4108c516218f111403;hpb=8b900e74058dd48368511780a488ccb7a645c64f;p=mesa.git diff --git a/src/glsl/nir/nir_lower_vars_to_ssa.c b/src/glsl/nir/nir_lower_vars_to_ssa.c index bb60f46012c..59715072c15 100644 --- a/src/glsl/nir/nir_lower_vars_to_ssa.c +++ b/src/glsl/nir/nir_lower_vars_to_ssa.c @@ -567,10 +567,11 @@ add_phi_sources(nir_block *block, nir_block *pred, nir_phi_src *src = ralloc(phi, nir_phi_src); src->pred = pred; + src->src.parent_instr = &phi->instr; src->src.is_ssa = true; src->src.ssa = get_ssa_def_for_block(node, pred, state); - _mesa_set_add(src->src.ssa->uses, instr); + list_addtail(&src->src.use_link, &src->src.ssa->uses); exec_list_push_tail(&phi->srcs, &src->node); } @@ -624,8 +625,7 @@ rename_variables_block(nir_block *block, struct lower_variables_state *state) nir_instr_remove(&intrin->instr); nir_ssa_def_rewrite_uses(&intrin->dest.ssa, - nir_src_for_ssa(&undef->def), - state->shader); + nir_src_for_ssa(&undef->def)); continue; } @@ -649,8 +649,7 @@ rename_variables_block(nir_block *block, struct lower_variables_state *state) nir_instr_remove(&intrin->instr); nir_ssa_def_rewrite_uses(&intrin->dest.ssa, - nir_src_for_ssa(&mov->dest.dest.ssa), - state->shader); + nir_src_for_ssa(&mov->dest.dest.ssa)); break; } @@ -934,7 +933,7 @@ nir_lower_vars_to_ssa_impl(nir_function_impl *impl) nir_foreach_block(impl, register_variable_uses_block, &state); insert_phi_nodes(&state); - rename_variables_block(impl->start_block, &state); + rename_variables_block(nir_start_block(impl), &state); nir_metadata_preserve(impl, nir_metadata_block_index | nir_metadata_dominance);