treewide: use nir_def_replace sometimes

Two Coccinelle patches here. Didn't catch nearly as much as I would've liked but
it's a start.

Coccinelle patch:

    @@
    expression intr, repl;
    @@

    -nir_def_rewrite_uses(&intr->def, repl);
    -nir_instr_remove(&intr->instr);
    +nir_def_replace(&intr->def, repl);

Coccinelle patch:

    @@
    identifier intr;
    expression instr, repl;
    @@

    nir_intrinsic_instr *intr = nir_instr_as_intrinsic(instr);
    ...
    -nir_def_rewrite_uses(&intr->def, repl);
    -nir_instr_remove(instr);
    +nir_def_replace(&intr->def, repl);

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Juan A. Suarez Romero <jasuarez@igalia.com> [broadcom]
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com> [lima]
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com> [etna]
Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com> [r300]
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29817>
This commit is contained in:
Alyssa Rosenzweig
2024-06-20 12:07:26 -04:00
committed by Marge Bot
parent bbdd34b4ad
commit da752ed7c1
101 changed files with 180 additions and 416 deletions
@@ -705,8 +705,7 @@ lower_load_accel_struct_desc(nir_builder *b,
assert(load_desc->def.bit_size == 64);
assert(load_desc->def.num_components == 1);
nir_def_rewrite_uses(&load_desc->def, desc);
nir_instr_remove(&load_desc->instr);
nir_def_replace(&load_desc->def, desc);
return true;
}
@@ -755,8 +754,7 @@ lower_res_index_intrinsic(nir_builder *b, nir_intrinsic_instr *intrin,
assert(intrin->def.bit_size == index->bit_size);
assert(intrin->def.num_components == index->num_components);
nir_def_rewrite_uses(&intrin->def, index);
nir_instr_remove(&intrin->instr);
nir_def_replace(&intrin->def, index);
return true;
}
@@ -777,8 +775,7 @@ lower_res_reindex_intrinsic(nir_builder *b, nir_intrinsic_instr *intrin,
assert(intrin->def.bit_size == index->bit_size);
assert(intrin->def.num_components == index->num_components);
nir_def_rewrite_uses(&intrin->def, index);
nir_instr_remove(&intrin->instr);
nir_def_replace(&intrin->def, index);
return true;
}
@@ -798,8 +795,7 @@ lower_load_vulkan_descriptor(nir_builder *b, nir_intrinsic_instr *intrin,
assert(intrin->def.bit_size == desc->bit_size);
assert(intrin->def.num_components == desc->num_components);
nir_def_rewrite_uses(&intrin->def, desc);
nir_instr_remove(&intrin->instr);
nir_def_replace(&intrin->def, desc);
return true;
}
@@ -824,8 +820,7 @@ lower_get_ssbo_size(nir_builder *b, nir_intrinsic_instr *intrin,
case nir_address_format_64bit_global_32bit_offset:
case nir_address_format_64bit_bounded_global: {
nir_def *size = nir_channel(b, desc, 2);
nir_def_rewrite_uses(&intrin->def, size);
nir_instr_remove(&intrin->instr);
nir_def_replace(&intrin->def, size);
break;
}
@@ -250,13 +250,11 @@ anv_nir_lower_multiview(nir_shader *shader, uint32_t view_mask)
switch (load->intrinsic) {
case nir_intrinsic_load_instance_id:
if (&load->def != state.instance_id_with_views) {
nir_def_rewrite_uses(&load->def, build_instance_id(&state));
nir_instr_remove(&load->instr);
nir_def_replace(&load->def, build_instance_id(&state));
}
break;
case nir_intrinsic_load_view_index:
nir_def_rewrite_uses(&load->def, view_index);
nir_instr_remove(&load->instr);
nir_def_replace(&load->def, view_index);
break;
case nir_intrinsic_emit_vertex_with_counter:
/* In geometry shaders, outputs become undefined after every
@@ -105,8 +105,7 @@ lower_ubo_load_instr(nir_builder *b, nir_intrinsic_instr *load,
}
}
nir_def_rewrite_uses(&load->def, val);
nir_instr_remove(&load->instr);
nir_def_replace(&load->def, val);
return true;
}
@@ -327,8 +327,7 @@ anv_nir_lower_ycbcr_textures_instr(nir_builder *builder,
swizzled_bpcs);
}
nir_def_rewrite_uses(&tex->def, result);
nir_instr_remove(&tex->instr);
nir_def_replace(&tex->def, result);
return true;
}