mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 15:20:10 +01:00
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:
parent
5fead24365
commit
042a3eca00
2 changed files with 11 additions and 14 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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++) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue