mir_register_t * mir_add_register(mir_t *mir, const char *name, uint32_t size)
Add a new register declaration for the specified MIR.
void mir_bitfield_spec_close(mir_bitfield_spec_t *spec)
Closes the given bitfield spec.
mir_register_t * mir_get_register(mir_t *mir, const char *name)
Get a register declaration from the specified MIR.
void mir_instruction_close(mir_inst_t *inst)
Closes the given instruction.
void mir_bitfield_close(mir_bitfield_t *bitfield)
Closes the given bitfield.
mir_inst_t * mir_add_instruction(mir_t *mir, const char *name, uint32_t size)
Add a new instruction declaration to MIR.
void mir_close(mir_t *mir)
Closes the given MIR instruction.
mir_bitfield_t * mir_get_bitfield(mir_t *mir, const char *name)
Get the bitfield declaration with the given name.
mir_bitfield_spec_t * mir_bitfield_spec_get_field(mir_bitfield_spec_t *spec, const char *name)
Get a bitfield spec's field from the given bitfield spec.
mir_bitfield_spec_t * mir_bitfield_spec_set_spec(mir_bitfield_spec_t *spec, const char *name, mir_bitfield_spec_type_t type)
Set the bitfield spec's sub bitfield spec.
mir_bitfield_spec_t * mir_bitfield_spec_add_field(mir_bitfield_spec_t *spec, const char *name, mir_bitfield_spec_type_t type)
Add a new bitfield spec's field to the given bitfield spec.
void mir_register_close(mir_register_t *reg)
Closes the given register.
mir_inst_t * mir_get_instruction(mir_t *mir, const char *name)
Get an instruction declaration.
void mir_init(mir_t *mir)
Initializes a MIR struct.
mir_bitfield_field_t * mir_bitfield_add_field(mir_bitfield_t *bitfield, const char *name, uint32_t size)
Add a new field to a bitfield declaration.
mir_inst_param_t * mir_instruction_add_param(mir_inst_t *inst, const char *name, mir_type_t type, uint32_t size)
Add a new parameter specification to an instruction.
mir_bitfield_spec_t * mir_instruction_add_field(mir_inst_t *inst, const char *name, mir_bitfield_spec_type_t type)
Add a new body field to the given instruction.
mir_bitfield_t * mir_add_bitfield(mir_t *mir, const char *name, uint32_t size)
Add a new bitfield declaration.
mir_inst_param_t * mir_instruction_get_param(mir_inst_t *inst, const char *name)
Get a parameter from an instruction declaration.
mir_bitfield_spec_t * mir_instruction_get_field(mir_inst_t *inst, const char *name)
Get the body field from the instruction.
mir_bitfield_field_t * mir_bitfield_get_field(mir_bitfield_t *bitfield, const char *name)
Get the field with the given name from the bitfield declaration.
Mya in-memory intermediate representation.
struct mir_register mir_register_t
Register declaration.
struct mir_bitfield_field mir_bitfield_field_t
A bitfield's field declaration.
enum mir_bitfield_spec_type mir_bitfield_spec_type_t
A bitfield spec type.
struct mir_inst_param mir_inst_param_t
An instruction's parameter.
struct mir_bitfield mir_bitfield_t
A bitfield declaration.
struct mir_bitfield_spec mir_bitfield_spec_t
A bitfield or bitfield's field declaration.
struct mir_inst mir_inst_t
Instruction declaration.
struct mir mir_t
Mya in-memory intermediate representation.