From dd85b50d182a2bd1c67d9a8f858d93fc4dded91c Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Mon, 24 Jun 2024 11:50:23 -0400 Subject: [PATCH] treewide: use nir_break_if MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Via Coccinelle patch and some manual hunk editing: @@ expression b, E; @@ -nir_push_if(b, E); -{ -nir_jump(b, nir_jump_break); -} -nir_pop_if(b, NULL); +nir_break_if(b, E); Signed-off-by: Alyssa Rosenzweig Reviewed-by: Daniel Schürmann Part-of: --- src/amd/vulkan/meta/radv_meta.c | 4 +-- src/amd/vulkan/nir/radv_nir_rt_shader.c | 12 ++------ .../vulkan/radv_device_generated_commands.c | 30 ++++--------------- src/compiler/nir/nir_lower_goto_ifs.c | 4 +-- src/compiler/spirv/vtn_structured_cfg.c | 4 +-- src/gallium/drivers/zink/zink_compiler.c | 6 ++-- .../lavapipe/lvp_ray_tracing_pipeline.c | 8 ++--- src/microsoft/compiler/dxil_nir_tess.c | 4 +-- src/nouveau/compiler/nak_nir.c | 6 +--- src/nouveau/vulkan/nvk_query_pool.c | 6 +--- 10 files changed, 17 insertions(+), 67 deletions(-) diff --git a/src/amd/vulkan/meta/radv_meta.c b/src/amd/vulkan/meta/radv_meta.c index 7d60fa1400c..e5b70b60cc6 100644 --- a/src/amd/vulkan/meta/radv_meta.c +++ b/src/amd/vulkan/meta/radv_meta.c @@ -715,9 +715,7 @@ radv_break_on_count(nir_builder *b, nir_variable *var, nir_def *count) { nir_def *counter = nir_load_var(b, var); - nir_push_if(b, nir_uge(b, counter, count)); - nir_jump(b, nir_jump_break); - nir_pop_if(b, NULL); + nir_break_if(b, nir_uge(b, counter, count)); counter = nir_iadd_imm(b, counter, 1); nir_store_var(b, var, counter, 0x1); diff --git a/src/amd/vulkan/nir/radv_nir_rt_shader.c b/src/amd/vulkan/nir/radv_nir_rt_shader.c index 0e6f7b659d6..b5a09842ddf 100644 --- a/src/amd/vulkan/nir/radv_nir_rt_shader.c +++ b/src/amd/vulkan/nir/radv_nir_rt_shader.c @@ -1461,11 +1461,7 @@ handle_candidate_triangle(nir_builder *b, struct radv_triangle_intersection *int nir_store_var(b, data->trav_vars->hit, nir_imm_true(b), 1); nir_def *ray_terminated = nir_load_var(b, data->vars->ahit_terminate); - nir_push_if(b, nir_ior(b, ray_flags->terminate_on_first_hit, ray_terminated)); - { - nir_jump(b, nir_jump_break); - } - nir_pop_if(b, NULL); + nir_break_if(b, nir_ior(b, ray_flags->terminate_on_first_hit, ray_terminated)); } static void @@ -1525,11 +1521,7 @@ handle_candidate_aabb(nir_builder *b, struct radv_leaf_intersection *intersectio nir_def *terminate_on_first_hit = nir_test_mask(b, args->flags, SpvRayFlagsTerminateOnFirstHitKHRMask); nir_def *ray_terminated = nir_load_var(b, data->vars->ahit_terminate); - nir_push_if(b, nir_ior(b, terminate_on_first_hit, ray_terminated)); - { - nir_jump(b, nir_jump_break); - } - nir_pop_if(b, NULL); + nir_break_if(b, nir_ior(b, terminate_on_first_hit, ray_terminated)); } nir_pop_if(b, NULL); } diff --git a/src/amd/vulkan/radv_device_generated_commands.c b/src/amd/vulkan/radv_device_generated_commands.c index 2a4a4955ea9..d7b2d937b46 100644 --- a/src/amd/vulkan/radv_device_generated_commands.c +++ b/src/amd/vulkan/radv_device_generated_commands.c @@ -754,11 +754,7 @@ build_dgc_buffer_tail(nir_builder *b, nir_def *sequence_count, const struct radv nir_def *curr_offset = nir_load_var(b, offset); const unsigned MAX_PACKET_WORDS = 0x3FFC; - nir_push_if(b, nir_ieq(b, curr_offset, cmd_buf_size)); - { - nir_jump(b, nir_jump_break); - } - nir_pop_if(b, NULL); + nir_break_if(b, nir_ieq(b, curr_offset, cmd_buf_size)); nir_def *packet, *packet_size; @@ -1098,11 +1094,7 @@ dgc_emit_push_constant(struct dgc_cmdbuf *cs, nir_def *stream_addr, nir_def *pus nir_push_loop(b); { nir_def *cur_idx = nir_load_var(b, idx); - nir_push_if(b, nir_uge(b, cur_idx, const_copy_words)); - { - nir_jump(b, nir_jump_break); - } - nir_pop_if(b, NULL); + nir_break_if(b, nir_uge(b, cur_idx, const_copy_words)); nir_variable *data = nir_variable_create(b->shader, nir_var_shader_temp, glsl_uint_type(), "copy_data"); @@ -1141,11 +1133,7 @@ dgc_emit_push_constant(struct dgc_cmdbuf *cs, nir_def *stream_addr, nir_def *pus nir_push_loop(b); { nir_def *cur_shader_idx = nir_load_var(b, shader_idx); - nir_push_if(b, nir_uge(b, cur_shader_idx, shader_cnt)); - { - nir_jump(b, nir_jump_break); - } - nir_pop_if(b, NULL); + nir_break_if(b, nir_uge(b, cur_shader_idx, shader_cnt)); nir_def *upload_sgpr = dgc_get_upload_sgpr(b, stream_addr, param_buf, param_offset, cur_shader_idx); nir_def *inline_sgpr = dgc_get_inline_sgpr(b, stream_addr, param_buf, param_offset, cur_shader_idx); @@ -1171,11 +1159,7 @@ dgc_emit_push_constant(struct dgc_cmdbuf *cs, nir_def *stream_addr, nir_def *pus nir_push_loop(b); { nir_def *cur_idx = nir_load_var(b, idx); - nir_push_if(b, nir_uge_imm(b, cur_idx, 64 /* bits in inline_mask */)); - { - nir_jump(b, nir_jump_break); - } - nir_pop_if(b, NULL); + nir_break_if(b, nir_uge_imm(b, cur_idx, 64 /* bits in inline_mask */)); nir_def *l = nir_ishl(b, nir_imm_int64(b, 1), cur_idx); nir_push_if(b, nir_ieq_imm(b, nir_iand(b, l, inline_mask), 0)); @@ -1256,11 +1240,7 @@ dgc_emit_vertex_buffer(struct dgc_cmdbuf *cs, nir_def *stream_addr, nir_def *vbo nir_push_loop(b); { - nir_push_if(b, nir_uge(b, nir_load_var(b, vbo_idx), vbo_cnt)); - { - nir_jump(b, nir_jump_break); - } - nir_pop_if(b, NULL); + nir_break_if(b, nir_uge(b, nir_load_var(b, vbo_idx), vbo_cnt)); nir_def *vbo_offset = nir_imul_imm(b, nir_load_var(b, vbo_idx), 16); nir_variable *vbo_data = nir_variable_create(b->shader, nir_var_shader_temp, glsl_uvec4_type(), "vbo_data"); diff --git a/src/compiler/nir/nir_lower_goto_ifs.c b/src/compiler/nir/nir_lower_goto_ifs.c index 26737b1e795..cb32d34405f 100644 --- a/src/compiler/nir/nir_lower_goto_ifs.c +++ b/src/compiler/nir/nir_lower_goto_ifs.c @@ -389,9 +389,7 @@ loop_routing_end(struct routes *routing, nir_builder *b) routing_backup->brk.reachable) { assert(!(routing->brk.fork->is_var && strcmp(routing->brk.fork->path_var->name, "path_break"))); - nir_push_if(b, fork_condition(b, routing->brk.fork)); - nir_jump(b, nir_jump_break); - nir_pop_if(b, NULL); + nir_break_if(b, fork_condition(b, routing->brk.fork)); routing->brk = routing->brk.fork->paths[0]; } assert(routing->brk.fork == routing_backup->regular.fork); diff --git a/src/compiler/spirv/vtn_structured_cfg.c b/src/compiler/spirv/vtn_structured_cfg.c index 08ba4aa1f91..cbd2676e46a 100644 --- a/src/compiler/spirv/vtn_structured_cfg.c +++ b/src/compiler/spirv/vtn_structured_cfg.c @@ -1510,9 +1510,7 @@ vtn_emit_control_flow_propagation(struct vtn_builder *b, if (top->needs_break_propagation) { vtn_assert(parent_with_nloop->break_var); - nir_push_if(&b->nb, nir_load_var(&b->nb, parent_with_nloop->break_var)); - nir_jump(&b->nb, nir_jump_break); - nir_pop_if(&b->nb, NULL); + nir_break_if(&b->nb, nir_load_var(&b->nb, parent_with_nloop->break_var)); } } diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index c5963b27b7b..f0803987e1c 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -452,10 +452,8 @@ lower_pv_mode_gs_end_primitive(nir_builder *b, nir_push_loop(b); { nir_def *out_pos_counter = nir_load_var(b, state->out_pos_counter); - nir_push_if(b, nir_ilt(b, nir_isub(b, pos_counter, out_pos_counter), - nir_imm_int(b, state->primitive_vert_count))); - nir_jump(b, nir_jump_break); - nir_pop_if(b, NULL); + nir_break_if(b, nir_ilt(b, nir_isub(b, pos_counter, out_pos_counter), + nir_imm_int(b, state->primitive_vert_count))); lower_pv_mode_emit_rotated_prim(b, state, out_pos_counter); nir_end_primitive(b); diff --git a/src/gallium/frontends/lavapipe/lvp_ray_tracing_pipeline.c b/src/gallium/frontends/lavapipe/lvp_ray_tracing_pipeline.c index 6cf46c83741..c4f563bee01 100644 --- a/src/gallium/frontends/lavapipe/lvp_ray_tracing_pipeline.c +++ b/src/gallium/frontends/lavapipe/lvp_ray_tracing_pipeline.c @@ -608,9 +608,7 @@ lvp_handle_aabb_intersection(nir_builder *b, struct lvp_leaf_intersection *inter nir_store_var(b, state->sbt_index, sbt_index, 0x1); nir_store_var(b, state->traversal.hit, nir_imm_true(b), 0x1); - nir_push_if(b, nir_load_var(b, state->terminate)); - nir_jump(b, nir_jump_break); - nir_pop_if(b, NULL); + nir_break_if(b, nir_load_var(b, state->terminate)); } nir_push_else(b, NULL); { @@ -686,9 +684,7 @@ lvp_handle_triangle_intersection(nir_builder *b, nir_store_var(b, state->sbt_index, sbt_index, 0x1); nir_store_var(b, state->traversal.hit, nir_imm_true(b), 0x1); - nir_push_if(b, nir_load_var(b, state->terminate)); - nir_jump(b, nir_jump_break); - nir_pop_if(b, NULL); + nir_break_if(b, nir_load_var(b, state->terminate)); } nir_push_else(b, NULL); { diff --git a/src/microsoft/compiler/dxil_nir_tess.c b/src/microsoft/compiler/dxil_nir_tess.c index af52517192f..fff365d52a3 100644 --- a/src/microsoft/compiler/dxil_nir_tess.c +++ b/src/microsoft/compiler/dxil_nir_tess.c @@ -142,9 +142,7 @@ start_tcs_loop(nir_builder *b, struct tcs_patch_loop_state *state, nir_deref_ins nir_store_deref(b, loop_var_deref, nir_imm_int(b, 0), 1); state->loop = nir_push_loop(b); state->count = nir_load_deref(b, loop_var_deref); - nir_push_if(b, nir_ige_imm(b, state->count, b->impl->function->shader->info.tess.tcs_vertices_out)); - nir_jump(b, nir_jump_break); - nir_pop_if(b, NULL); + nir_break_if(b, nir_ige_imm(b, state->count, b->impl->function->shader->info.tess.tcs_vertices_out)); state->insert_cursor = b->cursor; nir_store_deref(b, loop_var_deref, nir_iadd_imm(b, state->count, 1), 1); nir_pop_loop(b, state->loop); diff --git a/src/nouveau/compiler/nak_nir.c b/src/nouveau/compiler/nak_nir.c index 278cbbae6ed..d25ac9cd384 100644 --- a/src/nouveau/compiler/nak_nir.c +++ b/src/nouveau/compiler/nak_nir.c @@ -598,11 +598,7 @@ nak_nir_lower_system_value_intrin(nir_builder *b, nir_intrinsic_instr *intrin, nir_store_var(b, clock, nir_vec2(b, clock_lo, clock_hi), 0x3); - nir_push_if(b, nir_ieq(b, clock_hi, nir_channel(b, last_clock, 1))); - { - nir_jump(b, nir_jump_break); - } - nir_pop_if(b, NULL); + nir_break_if(b, nir_ieq(b, clock_hi, nir_channel(b, last_clock, 1))); } nir_pop_loop(b, NULL); diff --git a/src/nouveau/vulkan/nvk_query_pool.c b/src/nouveau/vulkan/nvk_query_pool.c index 3b86682eba6..acacfa1e9ed 100644 --- a/src/nouveau/vulkan/nvk_query_pool.c +++ b/src/nouveau/vulkan/nvk_query_pool.c @@ -823,11 +823,7 @@ nvk_nir_copy_query(nir_builder *b, nir_variable *push, nir_def *i) nir_push_loop(b); { - nir_push_if(b, nir_ige(b, nir_load_var(b, r), num_reports)); - { - nir_jump(b, nir_jump_break); - } - nir_pop_if(b, NULL); + nir_break_if(b, nir_ige(b, nir_load_var(b, r), num_reports)); nir_get_query_delta(b, nir_iadd(b, dst_addr, dst_offset), report_addr, nir_load_var(b, r), flags);