nir: Use getters for nir_src::parent_*
First, we need to give the parent_instr field a unique name to be able to replace with a helper. We have parent_instr fields for both nir_src and nir_def, so let's rename nir_src::parent_instr in preparation for rework. This was done with a combination of sed and manual fix-ups. Then we use semantic patches plus manual fixups: @@ expression s; @@ -s->renamed_parent_instr +nir_src_parent_instr(s) @@ expression s; @@ -s.renamed_parent_instr +nir_src_parent_instr(&s) @@ expression s; @@ -s->parent_if +nir_src_parent_if(s) @@ expression s; @@ -s.renamed_parent_if +nir_src_parent_if(&s) @@ expression s; @@ -s->is_if +nir_src_is_if(s) @@ expression s; @@ -s.is_if +nir_src_is_if(&s) Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24671>
This commit is contained in:
@@ -766,13 +766,13 @@ ntt_try_store_in_tgsi_output_with_use(struct ntt_compile *c,
|
||||
return false;
|
||||
}
|
||||
|
||||
if (src->is_if)
|
||||
if (nir_src_is_if(src))
|
||||
return false;
|
||||
|
||||
if (src->parent_instr->type != nir_instr_type_intrinsic)
|
||||
if (nir_src_parent_instr(src)->type != nir_instr_type_intrinsic)
|
||||
return false;
|
||||
|
||||
nir_intrinsic_instr *intr = nir_instr_as_intrinsic(src->parent_instr);
|
||||
nir_intrinsic_instr *intr = nir_instr_as_intrinsic(nir_src_parent_instr(src));
|
||||
if (intr->intrinsic != nir_intrinsic_store_output ||
|
||||
!nir_src_is_const(intr->src[1])) {
|
||||
return false;
|
||||
@@ -800,7 +800,7 @@ ntt_try_store_reg_in_tgsi_output(struct ntt_compile *c, struct ureg_dst *dst,
|
||||
/* Look for a single use for try_store_in_tgsi_output */
|
||||
nir_src *use = NULL;
|
||||
nir_foreach_reg_load(src, reg_decl) {
|
||||
nir_intrinsic_instr *load = nir_instr_as_intrinsic(src->parent_instr);
|
||||
nir_intrinsic_instr *load = nir_instr_as_intrinsic(nir_src_parent_instr(src));
|
||||
nir_foreach_use_including_if(load_use, &load->def) {
|
||||
/* We can only have one use */
|
||||
if (use != NULL)
|
||||
|
Reference in New Issue
Block a user