Routines for handling imc_units,
which represent subs.
Moved all register allocation and spill code to reg_alloc.c
- Compiles all imc_units,
and free all memory of instructions and structures afterwards.
- Compiles each unit in IMCC.
This is the main loop of the compiler; it operates on a single compilation unit at a time.
- Cleans up the compiler state in preparation for another compiler invocation.
static IMC_Unit *imc_new_unit
- Creates a new IMC_Unit of the given IMC_Unit_Type
- Creates a new IMC_Unit and "open" it for construction.
This sets the current state of the parser.
You can close the unit later while retaining all the current state.
- Closes a unit from compilation.
This does not destroy the unit,
but leaves it on the list of units.
static void imc_free_unit
- Frees an IMC_Unit and all of its associated memory.