nir: Add src and dest constructors

Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
This commit is contained in:
Jason Ekstrand
2015-01-21 11:10:11 -08:00
parent 3c3e60e050
commit 7da60eca4f

View File

@@ -482,6 +482,43 @@ typedef struct {
bool is_ssa;
} nir_dest;
static inline nir_src
nir_src_for_ssa(nir_ssa_def *def)
{
nir_src src;
src.is_ssa = true;
src.ssa = def;
return src;
}
static inline nir_src
nir_src_for_reg(nir_register *reg)
{
nir_src src;
src.is_ssa = false;
src.reg.reg = reg;
src.reg.indirect = NULL;
src.reg.base_offset = 0;
return src;
}
static inline nir_dest
nir_dest_for_reg(nir_register *reg)
{
nir_dest dest;
dest.is_ssa = false;
dest.reg.reg = reg;
dest.reg.indirect = NULL;
dest.reg.base_offset = 0;
return dest;
}
nir_src nir_src_copy(nir_src src, void *mem_ctx);
nir_dest nir_dest_copy(nir_dest dest, void *mem_ctx);