static REG *_findRegById(REG_ID id)
{
- REG *r = port_data.regs;
+ REG *r = izt_port->regs;
while (r->size) {
if (r->id == id)
static int _numRegsAvailable(int size)
{
- REG *r = port_data.regs;
+ REG *r = izt_port->regs;
int ret = 0;
while (r->size) {
static REG *_allocateReg(int size)
{
- REG *r = port_data.regs;
+ REG *r = izt_port->regs;
while (r->size) {
if (r->size == size && r->used == 0) {
static void _freeAllRegs(viod)
{
- REG *r = port_data.regs;
+ REG *r = izt_port->regs;
while (r->size) {
r->used = 0;
static void _dumpRegs(void)
{
- REG *r = port_data.regs;
+ REG *r = izt_port->regs;
while (r->size) {
printf("%u\t%u\t%s\t%u\n", r->size, r->id, r->name, r->used);
}
}
-void izt_init(REG *regs)
+void izt_init(IZT_PORT *port)
{
- wassert(regs);
- port_data.regs = regs;
+ wassert(port && port->regs);
+ izt_port = port;
+ izt_initEmitters();
}
/// Lower register pressure by packing iTemps where possible.
}
}
-static void izt_gen(iCode *ic)
-{
- printf("izt_gen\n");
-}
-
static DEFSETFUNC(_deallocStackSpil)
{
symbol *sym = item;