From 67237b6f1ba8d919833c19baa83be334f042d7d7 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Fri, 27 Jun 2025 10:57:37 -0400 Subject: [PATCH] treewide: use nir_break_if Via Coccinelle patch: @@ expression builder, condition; @@ -nir_push_if(builder, condition); -{ -nir_jump(builder, nir_jump_break); -} -nir_pop_if(builder, NULL); +nir_break_if(builder, condition); Signed-off-by: Alyssa Rosenzweig Reviewed-by: Jesse Natalie Reviewed-by: Mel Henning Reviewed-by: Samuel Pitoiset Part-of: --- .../instruction_selection/aco_isel_setup.cpp | 4 +--- src/amd/vulkan/radv_query.c | 6 +----- src/asahi/lib/agx_nir_lower_gs.c | 6 +----- src/asahi/lib/agx_nir_lower_msaa.c | 6 +----- src/compiler/nir/nir_lower_memcpy.c | 6 +----- src/compiler/nir/nir_lower_variable_initializers.c | 12 ++---------- src/gallium/drivers/zink/zink_compiler.c | 4 +--- src/microsoft/vulkan/dzn_nir.c | 4 +--- src/nouveau/vulkan/nvk_cmd_indirect.c | 14 +++----------- 9 files changed, 12 insertions(+), 50 deletions(-) diff --git a/src/amd/compiler/instruction_selection/aco_isel_setup.cpp b/src/amd/compiler/instruction_selection/aco_isel_setup.cpp index 6ca9d7b1b84..2f3ef3270e6 100644 --- a/src/amd/compiler/instruction_selection/aco_isel_setup.cpp +++ b/src/amd/compiler/instruction_selection/aco_isel_setup.cpp @@ -136,9 +136,7 @@ sanitize_cf_list(nir_function_impl* impl, struct exec_list* cf_list) /* We don't use block divergence information, so just this is enough. */ cond->divergent = false; - nir_push_if(&b, cond); - nir_jump(&b, nir_jump_break); - nir_pop_if(&b, NULL); + nir_break_if(&b, cond); progress = true; } diff --git a/src/amd/vulkan/radv_query.c b/src/amd/vulkan/radv_query.c index 280ba165724..98435fafe57 100644 --- a/src/amd/vulkan/radv_query.c +++ b/src/amd/vulkan/radv_query.c @@ -251,11 +251,7 @@ build_occlusion_query_shader(struct radv_device *device) nir_def *load = nir_build_load_global(&b, 1, 32, nir_iadd(&b, src_va, nir_u2u64(&b, load_offset)), .align_mul = 4, .access = ACCESS_COHERENT); - nir_push_if(&b, nir_ige_imm(&b, load, 0x80000000)); - { - nir_jump(&b, nir_jump_break); - } - nir_pop_if(&b, NULL); + nir_break_if(&b, nir_ige_imm(&b, load, 0x80000000)); } nir_pop_loop(&b, NULL); } diff --git a/src/asahi/lib/agx_nir_lower_gs.c b/src/asahi/lib/agx_nir_lower_gs.c index ebe49bf94ae..e706bc18b2c 100644 --- a/src/asahi/lib/agx_nir_lower_gs.c +++ b/src/asahi/lib/agx_nir_lower_gs.c @@ -1003,11 +1003,7 @@ agx_nir_lower_gs_instancing(nir_shader *gs) nir_loop *loop = nir_push_loop(&b); { index = nir_load_var(&b, i); - nir_push_if(&b, nir_uge_imm(&b, index, nr_invocations)); - { - nir_jump(&b, nir_jump_break); - } - nir_pop_if(&b, NULL); + nir_break_if(&b, nir_uge_imm(&b, index, nr_invocations)); b.cursor = nir_cf_reinsert(&list, b.cursor); nir_store_var(&b, i, nir_iadd_imm(&b, index, 1), ~0); diff --git a/src/asahi/lib/agx_nir_lower_msaa.c b/src/asahi/lib/agx_nir_lower_msaa.c index 888e5d729dd..d5acc852857 100644 --- a/src/asahi/lib/agx_nir_lower_msaa.c +++ b/src/asahi/lib/agx_nir_lower_msaa.c @@ -94,11 +94,7 @@ agx_nir_wrap_per_sample_loop(nir_shader *shader, uint8_t nr_samples) nir_loop *loop = nir_push_loop(&b); { bit = nir_load_var(&b, i); - nir_push_if(&b, nir_uge(&b, bit, end_bit)); - { - nir_jump(&b, nir_jump_break); - } - nir_pop_if(&b, NULL); + nir_break_if(&b, nir_uge(&b, bit, end_bit)); b.cursor = nir_cf_reinsert(&list, b.cursor); nir_store_var(&b, i, nir_ishl_imm(&b, bit, 1), ~0); diff --git a/src/compiler/nir/nir_lower_memcpy.c b/src/compiler/nir/nir_lower_memcpy.c index fc34a606bdf..6e4cefd8dcd 100644 --- a/src/compiler/nir/nir_lower_memcpy.c +++ b/src/compiler/nir/nir_lower_memcpy.c @@ -159,11 +159,7 @@ lower_memcpy_impl(nir_function_impl *impl) nir_push_loop(&b); { nir_def *index = nir_load_var(&b, i); - nir_push_if(&b, nir_uge(&b, index, size)); - { - nir_jump(&b, nir_jump_break); - } - nir_pop_if(&b, NULL); + nir_break_if(&b, nir_uge(&b, index, size)); nir_def *value = memcpy_load_deref_elem(&b, copy_src, index); diff --git a/src/compiler/nir/nir_lower_variable_initializers.c b/src/compiler/nir/nir_lower_variable_initializers.c index 9eabd0c726a..a05d16f8f96 100644 --- a/src/compiler/nir/nir_lower_variable_initializers.c +++ b/src/compiler/nir/nir_lower_variable_initializers.c @@ -177,11 +177,7 @@ nir_zero_initialize_shared_memory(nir_shader *shader, { nir_def *offset = nir_load_var(&b, it); - nir_push_if(&b, nir_uge_imm(&b, offset, shared_size)); - { - nir_jump(&b, nir_jump_break); - } - nir_pop_if(&b, NULL); + nir_break_if(&b, nir_uge_imm(&b, offset, shared_size)); nir_store_shared(&b, nir_imm_zero(&b, chunk_comps, 32), offset, .align_mul = chunk_size, @@ -270,11 +266,7 @@ nir_clear_shared_memory(nir_shader *shader, { nir_def *offset = &offset_phi->def; - nir_push_if(&b, nir_uge_imm(&b, offset, shared_size)); - { - nir_jump(&b, nir_jump_break); - } - nir_pop_if(&b, NULL); + nir_break_if(&b, nir_uge_imm(&b, offset, shared_size)); nir_store_shared(&b, value, offset, .align_mul = chunk_size, .write_mask = ((1 << chunk_comps) - 1)); diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 46bd429712a..bb577bf4f94 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -707,9 +707,7 @@ lower_line_stipple_fs(nir_shader *shader) nir_def *index_mask = nir_ishl(&b, nir_imm_int(&b, 1), index); nir_def *new_value = nir_ixor(&b, value, index_mask); nir_store_var(&b, v, new_value, 1); - nir_push_if(&b, nir_ieq_imm(&b, value, 0)); - nir_jump(&b, nir_jump_break); - nir_pop_if(&b, NULL); + nir_break_if(&b, nir_ieq_imm(&b, value, 0)); nir_def *stipple_pos = nir_interp_deref_at_sample(&b, 1, 32, diff --git a/src/microsoft/vulkan/dzn_nir.c b/src/microsoft/vulkan/dzn_nir.c index 0d1fea2976f..9b0f31a81b6 100644 --- a/src/microsoft/vulkan/dzn_nir.c +++ b/src/microsoft/vulkan/dzn_nir.c @@ -384,9 +384,7 @@ dzn_nir_triangle_fan_prim_restart_rewrite_index_shader(uint8_t old_index_size) nir_def *read_index_count = nir_bcsel(&b, nir_ieq(&b, index0, prim_restart_val), nir_imm_int(&b, 3), nir_imm_int(&b, 2)); - nir_push_if(&b, nir_ult(&b, old_index_count, nir_iadd(&b, old_index_ptr, read_index_count))); - nir_jump(&b, nir_jump_break); - nir_pop_if(&b, NULL); + nir_break_if(&b, nir_ult(&b, old_index_count, nir_iadd(&b, old_index_ptr, read_index_count))); nir_def *old_index_offset = nir_imul_imm(&b, old_index_ptr, old_index_size); diff --git a/src/nouveau/vulkan/nvk_cmd_indirect.c b/src/nouveau/vulkan/nvk_cmd_indirect.c index 1b6a64b7b8d..de29b566270 100644 --- a/src/nouveau/vulkan/nvk_cmd_indirect.c +++ b/src/nouveau/vulkan/nvk_cmd_indirect.c @@ -181,11 +181,7 @@ nvk_nir_push_copy_dws(nir_builder *b, struct nvk_nir_push *p, nir_push_loop(b); { - nir_push_if(b, nir_uge(b, nir_load_var(b, i), dw_count)); - { - nir_jump(b, nir_jump_break); - } - nir_pop_if(b, NULL); + nir_break_if(b, nir_uge(b, nir_load_var(b, i), dw_count)); nir_def *dw = load_global_dw(b, nir_load_var(b, src_dw_addr), 0); store_global_dw(b, nir_load_var(b, p->addr), 0, dw); @@ -215,12 +211,8 @@ nvk_nir_build_pad_NOP(nir_builder *b, struct nvk_nir_push *p, uint32_t nop) { nir_push_loop(b); { - nir_push_if(b, nir_uge_imm(b, nir_load_var(b, p->dw_count), - p->max_dw_count)); - { - nir_jump(b, nir_jump_break); - } - nir_pop_if(b, NULL); + nir_break_if(b, nir_uge_imm(b, nir_load_var(b, p->dw_count), + p->max_dw_count)); store_global_dw(b, nir_load_var(b, p->addr), 0, nir_imm_int(b, nop)); nir_iadd_to_var_imm(b, p->addr, 4);