diff --git a/src/compiler/nir/nir_deref.c b/src/compiler/nir/nir_deref.c index d65f7803f81..397a9a98b34 100644 --- a/src/compiler/nir/nir_deref.c +++ b/src/compiler/nir/nir_deref.c @@ -129,8 +129,7 @@ nir_deref_instr_has_indirect(nir_deref_instr *instr) if (instr->deref_type == nir_deref_type_cast) return true; - if ((instr->deref_type == nir_deref_type_array || - instr->deref_type == nir_deref_type_ptr_as_array) && + if (nir_deref_instr_is_arr(instr) && !nir_src_is_const(instr->arr.index)) return true; diff --git a/src/compiler/nir/nir_opt_gcm.c b/src/compiler/nir/nir_opt_gcm.c index bc9c39e47e1..0a2e1f53414 100644 --- a/src/compiler/nir/nir_opt_gcm.c +++ b/src/compiler/nir/nir_opt_gcm.c @@ -281,8 +281,7 @@ pin_intrinsic(nir_intrinsic_instr *intrin) nir_var_mem_push_const)) { nir_deref_instr *deref = nir_src_as_deref(intrin->src[0]); while (deref->deref_type != nir_deref_type_var) { - if ((deref->deref_type == nir_deref_type_array || - deref->deref_type == nir_deref_type_ptr_as_array) && + if (nir_deref_instr_is_arr(deref) && !nir_src_is_always_uniform(deref->arr.index)) { instr->pass_flags = GCM_INSTR_PINNED; return; diff --git a/src/compiler/nir/nir_opt_loop_unroll.c b/src/compiler/nir/nir_opt_loop_unroll.c index 20c19da8480..8c193721b1c 100644 --- a/src/compiler/nir/nir_opt_loop_unroll.c +++ b/src/compiler/nir/nir_opt_loop_unroll.c @@ -838,8 +838,7 @@ is_indirect_load(nir_instr *instr) if (!nir_deref_mode_may_be(deref, mem_modes)) return false; while (deref) { - if ((deref->deref_type == nir_deref_type_array || - deref->deref_type == nir_deref_type_ptr_as_array) && + if (nir_deref_instr_is_arr(deref) && !nir_src_is_const(deref->arr.index)) { return true; } diff --git a/src/compiler/nir/nir_print.c b/src/compiler/nir/nir_print.c index 3ee7dd23a01..5d958e331bb 100644 --- a/src/compiler/nir/nir_print.c +++ b/src/compiler/nir/nir_print.c @@ -1144,8 +1144,7 @@ print_deref_instr(nir_deref_instr *instr, print_state *state) instr->cast.align_mul, instr->cast.align_offset); } - if (instr->deref_type == nir_deref_type_array || - instr->deref_type == nir_deref_type_ptr_as_array) { + if (nir_deref_instr_is_arr(instr)) { if (instr->arr.in_bounds) fprintf(fp, " (in bounds)"); } diff --git a/src/compiler/nir/nir_serialize.c b/src/compiler/nir/nir_serialize.c index 74ab945eb2e..44c57b921b2 100644 --- a/src/compiler/nir/nir_serialize.c +++ b/src/compiler/nir/nir_serialize.c @@ -915,8 +915,7 @@ write_deref(write_ctx *ctx, const nir_deref_instr *deref) header.deref_var.object_idx = var_idx; } - if (deref->deref_type == nir_deref_type_array || - deref->deref_type == nir_deref_type_ptr_as_array) { + if (nir_deref_instr_is_arr(deref)) { header.deref.packed_src_ssa_16bit = are_object_ids_16bit(ctx); header.deref.in_bounds = deref->arr.in_bounds; diff --git a/src/intel/compiler/brw/brw_nir_rt.c b/src/intel/compiler/brw/brw_nir_rt.c index 76a7f1e5a1f..f9abb0a22a0 100644 --- a/src/intel/compiler/brw/brw_nir_rt.c +++ b/src/intel/compiler/brw/brw_nir_rt.c @@ -36,8 +36,7 @@ resize_deref(nir_builder *b, nir_deref_instr *deref, /* NIR requires array indices have to match the deref bit size */ if (deref->def.bit_size != bit_size && - (deref->deref_type == nir_deref_type_array || - deref->deref_type == nir_deref_type_ptr_as_array)) { + nir_deref_instr_is_arr(deref)) { b->cursor = nir_before_instr(&deref->instr); nir_def *idx; if (nir_src_is_const(deref->arr.index)) {