nir: Collapse some SSA checks

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24432>
This commit is contained in:
Alyssa Rosenzweig 2023-08-01 11:29:43 -04:00 committed by Marge Bot
parent 5fead24365
commit 042a3eca00
2 changed files with 11 additions and 14 deletions

View file

@ -1110,51 +1110,49 @@ nir_src_for_ssa(nir_ssa_def *def)
static inline unsigned
nir_src_bit_size(nir_src src)
{
return src.is_ssa ? src.ssa->bit_size : src.reg.reg->bit_size;
return src.ssa->bit_size;
}
static inline unsigned
nir_src_num_components(nir_src src)
{
return src.is_ssa ? src.ssa->num_components : src.reg.reg->num_components;
return src.ssa->num_components;
}
static inline bool
nir_src_is_const(nir_src src)
{
return src.is_ssa &&
src.ssa->parent_instr->type == nir_instr_type_load_const;
return src.ssa->parent_instr->type == nir_instr_type_load_const;
}
static inline bool
nir_src_is_undef(nir_src src)
{
return src.is_ssa &&
src.ssa->parent_instr->type == nir_instr_type_ssa_undef;
return src.ssa->parent_instr->type == nir_instr_type_ssa_undef;
}
static inline bool
nir_src_is_divergent(nir_src src)
{
return src.is_ssa ? src.ssa->divergent : src.reg.reg->divergent;
return src.ssa->divergent;
}
static inline unsigned
nir_dest_bit_size(nir_dest dest)
{
return dest.is_ssa ? dest.ssa.bit_size : dest.reg.reg->bit_size;
return dest.ssa.bit_size;
}
static inline unsigned
nir_dest_num_components(nir_dest dest)
{
return dest.is_ssa ? dest.ssa.num_components : dest.reg.reg->num_components;
return dest.ssa.num_components;
}
static inline bool
nir_dest_is_divergent(nir_dest dest)
{
return dest.is_ssa ? dest.ssa.divergent : dest.reg.reg->divergent;
return dest.ssa.divergent;
}
/* Are all components the same, ie. .xxxx */
@ -4489,7 +4487,7 @@ nir_const_value *nir_src_as_const_value(nir_src src);
static inline c_type * \
nir_src_as_ ## name (nir_src src) \
{ \
return src.is_ssa && src.ssa->parent_instr->type == type_enum \
return src.ssa->parent_instr->type == type_enum \
? cast_macro(src.ssa->parent_instr) : NULL; \
}
@ -4505,7 +4503,7 @@ bool nir_instrs_equal(const nir_instr *instr1, const nir_instr *instr2);
static inline void
nir_src_rewrite_ssa(nir_src *src, nir_ssa_def *new_ssa)
{
assert(src->is_ssa && src->ssa);
assert(src->ssa);
assert(src->is_if ? (src->parent_if != NULL) : (src->parent_instr != NULL));
list_del(&src->use_link);
src->ssa = new_ssa;

View file

@ -1150,8 +1150,7 @@ split_64bit_subgroup_op(nir_builder *b, const nir_intrinsic_instr *intrin)
nir_unpack_64_2x32_split_y(b, intrin->src[0].ssa),
};
assert(info->has_dest && intrin->dest.is_ssa &&
intrin->dest.ssa.bit_size == 64);
assert(info->has_dest && intrin->dest.ssa.bit_size == 64);
nir_ssa_def *res[2];
for (unsigned i = 0; i < 2; i++) {