nir: Add some new helpers for working with const sources

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
This commit is contained in:
Jason Ekstrand
2018-10-20 08:36:21 -05:00
parent e0c267c752
commit bca5c2c688
2 changed files with 108 additions and 0 deletions

View File

@@ -700,6 +700,22 @@ nir_src_num_components(nir_src src)
return src.is_ssa ? src.ssa->num_components : src.reg.reg->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;
}
int64_t nir_src_as_int(nir_src src);
uint64_t nir_src_as_uint(nir_src src);
bool nir_src_as_bool(nir_src src);
double nir_src_as_float(nir_src src);
int64_t nir_src_comp_as_int(nir_src src, unsigned component);
uint64_t nir_src_comp_as_uint(nir_src src, unsigned component);
bool nir_src_comp_as_bool(nir_src src, unsigned component);
double nir_src_comp_as_float(nir_src src, unsigned component);
static inline unsigned
nir_dest_bit_size(nir_dest dest)
{