From df51464cacb1ab37b84215dd66530fc9eab2c971 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Tue, 6 Jun 2023 16:51:54 -0400 Subject: [PATCH] nir: Remove handling for non-scoped barriers Nothing generates them so this is all dead. Signed-off-by: Alyssa Rosenzweig Reviewed-by: Jesse Natalie Part-of: --- src/compiler/nir/nir_gather_info.c | 14 ------- src/compiler/nir/nir_lower_atomics_to_ssbo.c | 11 ------ src/compiler/nir/nir_opt_combine_stores.c | 22 ----------- src/compiler/nir/nir_opt_copy_prop_vars.c | 38 ------------------- src/compiler/nir/nir_opt_dead_write_vars.c | 23 ----------- .../nir/nir_opt_load_store_vectorize.c | 11 ------ src/compiler/nir/nir_schedule.c | 13 ------- 7 files changed, 132 deletions(-) diff --git a/src/compiler/nir/nir_gather_info.c b/src/compiler/nir/nir_gather_info.c index 3efba5794bc..a20e8255d96 100644 --- a/src/compiler/nir/nir_gather_info.c +++ b/src/compiler/nir/nir_gather_info.c @@ -763,10 +763,6 @@ gather_intrinsic_info(nir_intrinsic_instr *instr, nir_shader *shader, break; - case nir_intrinsic_control_barrier: - shader->info.uses_control_barrier = true; - break; - case nir_intrinsic_scoped_barrier: shader->info.uses_control_barrier |= nir_intrinsic_execution_scope(instr) != NIR_SCOPE_NONE; @@ -775,16 +771,6 @@ gather_intrinsic_info(nir_intrinsic_instr *instr, nir_shader *shader, nir_intrinsic_memory_scope(instr) != NIR_SCOPE_NONE; break; - case nir_intrinsic_memory_barrier: - case nir_intrinsic_group_memory_barrier: - case nir_intrinsic_memory_barrier_atomic_counter: - case nir_intrinsic_memory_barrier_buffer: - case nir_intrinsic_memory_barrier_image: - case nir_intrinsic_memory_barrier_shared: - case nir_intrinsic_memory_barrier_tcs_patch: - shader->info.uses_memory_barrier = true; - break; - case nir_intrinsic_store_zs_agx: shader->info.outputs_written |= BITFIELD64_BIT(FRAG_RESULT_DEPTH) | BITFIELD64_BIT(FRAG_RESULT_STENCIL); diff --git a/src/compiler/nir/nir_lower_atomics_to_ssbo.c b/src/compiler/nir/nir_lower_atomics_to_ssbo.c index c2367017f43..b15d077f7e0 100644 --- a/src/compiler/nir/nir_lower_atomics_to_ssbo.c +++ b/src/compiler/nir/nir_lower_atomics_to_ssbo.c @@ -55,17 +55,6 @@ lower_instr(nir_intrinsic_instr *instr, unsigned ssbo_offset, nir_builder *b, un b->cursor = nir_before_instr(&instr->instr); switch (instr->intrinsic) { - case nir_intrinsic_memory_barrier_atomic_counter: - /* Atomic counters are now SSBOs so memoryBarrierAtomicCounter() is now - * memoryBarrierBuffer(). - */ - instr->intrinsic = nir_intrinsic_scoped_barrier; - nir_intrinsic_set_execution_scope(instr, NIR_SCOPE_NONE); - nir_intrinsic_set_memory_scope(instr, NIR_SCOPE_DEVICE); - nir_intrinsic_set_memory_semantics(instr, NIR_MEMORY_ACQ_REL); - nir_intrinsic_set_memory_modes(instr, nir_var_mem_ssbo); - return true; - case nir_intrinsic_atomic_counter_inc: case nir_intrinsic_atomic_counter_add: case nir_intrinsic_atomic_counter_pre_dec: diff --git a/src/compiler/nir/nir_opt_combine_stores.c b/src/compiler/nir/nir_opt_combine_stores.c index 3473f2f88eb..e849f5420ad 100644 --- a/src/compiler/nir/nir_opt_combine_stores.c +++ b/src/compiler/nir/nir_opt_combine_stores.c @@ -314,28 +314,6 @@ combine_stores_block(struct combine_stores_state *state, nir_block *block) } break; - case nir_intrinsic_control_barrier: - case nir_intrinsic_group_memory_barrier: - case nir_intrinsic_memory_barrier: - combine_stores_with_modes(state, nir_var_shader_out | - nir_var_mem_ssbo | - nir_var_mem_shared | - nir_var_mem_global); - break; - - case nir_intrinsic_memory_barrier_buffer: - combine_stores_with_modes(state, nir_var_mem_ssbo | - nir_var_mem_global); - break; - - case nir_intrinsic_memory_barrier_shared: - combine_stores_with_modes(state, nir_var_mem_shared); - break; - - case nir_intrinsic_memory_barrier_tcs_patch: - combine_stores_with_modes(state, nir_var_shader_out); - break; - case nir_intrinsic_scoped_barrier: if (nir_intrinsic_memory_semantics(intrin) & NIR_MEMORY_RELEASE) { combine_stores_with_modes(state, diff --git a/src/compiler/nir/nir_opt_copy_prop_vars.c b/src/compiler/nir/nir_opt_copy_prop_vars.c index 9bcee846b60..3e79e210cd5 100644 --- a/src/compiler/nir/nir_opt_copy_prop_vars.c +++ b/src/compiler/nir/nir_opt_copy_prop_vars.c @@ -186,15 +186,6 @@ gather_vars_written(struct copy_prop_var_state *state, nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr); switch (intrin->intrinsic) { - case nir_intrinsic_control_barrier: - case nir_intrinsic_group_memory_barrier: - case nir_intrinsic_memory_barrier: - written->modes |= nir_var_shader_out | - nir_var_mem_ssbo | - nir_var_mem_shared | - nir_var_mem_global; - break; - case nir_intrinsic_scoped_barrier: if (nir_intrinsic_memory_semantics(intrin) & NIR_MEMORY_ACQUIRE) written->modes |= nir_intrinsic_memory_modes(intrin); @@ -998,35 +989,6 @@ copy_prop_vars_block(struct copy_prop_var_state *state, nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr); switch (intrin->intrinsic) { - case nir_intrinsic_control_barrier: - case nir_intrinsic_memory_barrier: - if (debug) dump_instr(instr); - - apply_barrier_for_modes(copies, nir_var_shader_out | - nir_var_mem_ssbo | - nir_var_mem_shared | - nir_var_mem_global); - break; - - case nir_intrinsic_memory_barrier_buffer: - if (debug) dump_instr(instr); - - apply_barrier_for_modes(copies, nir_var_mem_ssbo | - nir_var_mem_global); - break; - - case nir_intrinsic_memory_barrier_shared: - if (debug) dump_instr(instr); - - apply_barrier_for_modes(copies, nir_var_mem_shared); - break; - - case nir_intrinsic_memory_barrier_tcs_patch: - if (debug) dump_instr(instr); - - apply_barrier_for_modes(copies, nir_var_shader_out); - break; - case nir_intrinsic_scoped_barrier: if (debug) dump_instr(instr); diff --git a/src/compiler/nir/nir_opt_dead_write_vars.c b/src/compiler/nir/nir_opt_dead_write_vars.c index bd87b39118a..a42b754170a 100644 --- a/src/compiler/nir/nir_opt_dead_write_vars.c +++ b/src/compiler/nir/nir_opt_dead_write_vars.c @@ -132,29 +132,6 @@ remove_dead_write_vars_local(void *mem_ctx, nir_shader *shader, nir_block *block nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr); switch (intrin->intrinsic) { - case nir_intrinsic_control_barrier: - case nir_intrinsic_group_memory_barrier: - case nir_intrinsic_memory_barrier: { - clear_unused_for_modes(&unused_writes, nir_var_shader_out | - nir_var_mem_ssbo | - nir_var_mem_shared | - nir_var_mem_global); - break; - } - - case nir_intrinsic_memory_barrier_buffer: - clear_unused_for_modes(&unused_writes, nir_var_mem_ssbo | - nir_var_mem_global); - break; - - case nir_intrinsic_memory_barrier_shared: - clear_unused_for_modes(&unused_writes, nir_var_mem_shared); - break; - - case nir_intrinsic_memory_barrier_tcs_patch: - clear_unused_for_modes(&unused_writes, nir_var_shader_out); - break; - case nir_intrinsic_scoped_barrier: { if (nir_intrinsic_memory_semantics(intrin) & NIR_MEMORY_RELEASE) { clear_unused_for_modes(&unused_writes, diff --git a/src/compiler/nir/nir_opt_load_store_vectorize.c b/src/compiler/nir/nir_opt_load_store_vectorize.c index 130058caf3f..fed19b45c9d 100644 --- a/src/compiler/nir/nir_opt_load_store_vectorize.c +++ b/src/compiler/nir/nir_opt_load_store_vectorize.c @@ -1306,11 +1306,6 @@ handle_barrier(struct vectorize_ctx *ctx, bool *progress, nir_function_impl *imp if (instr->type == nir_instr_type_intrinsic) { nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr); switch (intrin->intrinsic) { - case nir_intrinsic_group_memory_barrier: - case nir_intrinsic_memory_barrier: - modes = nir_var_mem_ssbo | nir_var_mem_shared | nir_var_mem_global | - nir_var_mem_task_payload; - break; /* prevent speculative loads/stores */ case nir_intrinsic_discard_if: case nir_intrinsic_discard: @@ -1324,12 +1319,6 @@ handle_barrier(struct vectorize_ctx *ctx, bool *progress, nir_function_impl *imp acquire = false; modes = nir_var_all; break; - case nir_intrinsic_memory_barrier_buffer: - modes = nir_var_mem_ssbo | nir_var_mem_global; - break; - case nir_intrinsic_memory_barrier_shared: - modes = nir_var_mem_shared | nir_var_mem_task_payload; - break; case nir_intrinsic_scoped_barrier: if (nir_intrinsic_memory_scope(intrin) == NIR_SCOPE_NONE) break; diff --git a/src/compiler/nir/nir_schedule.c b/src/compiler/nir/nir_schedule.c index d789b606605..a3838d400ca 100644 --- a/src/compiler/nir/nir_schedule.c +++ b/src/compiler/nir/nir_schedule.c @@ -403,19 +403,6 @@ nir_schedule_intrinsic_deps(nir_deps_state *state, add_write_dep(state, &state->store_shared, n); break; - case nir_intrinsic_control_barrier: - case nir_intrinsic_memory_barrier_shared: - case nir_intrinsic_group_memory_barrier: - /* A generic memory barrier can be emitted when multiple synchronization - * semantics are involved, including shared memory. - */ - case nir_intrinsic_memory_barrier: - add_write_dep(state, &state->store_shared, n); - - /* Serialize against ssbos/atomics/etc. */ - add_write_dep(state, &state->unknown_intrinsic, n); - break; - case nir_intrinsic_scoped_barrier: { const nir_variable_mode modes = nir_intrinsic_memory_modes(instr);