allocIntoSeg (sym);
}
- setToNull ((void **) &overlay->syms);
+ setToNull ((void *) &overlay->syms);
}
addSet (&oset, sym);
}
- setToNull ((void **) &overlay->syms);
+ setToNull ((void *) &overlay->syms);
addSet (&ovrSetSets, oset);
}
return;
if (!map->syms)
return;
-
+
for (sym = setFirstItem (map->syms); sym;
sym = setNextItem (map->syms))
{
continue;
if (sym->localof != func)
continue;
- fprintf (of, ";%-25s Allocated to ", sym->name);
+
+ fprintf (of, ";%-25s Allocated ", sym->name);
/* if assigned to registers */
if (!sym->allocreq && sym->reqv)
int i;
sym = OP_SYMBOL (sym->reqv);
- fprintf (of, "registers ");
- for (i = 0; i < 4 && sym->regs[i]; i++)
- fprintf (of, "%s ", port->getRegName (sym->regs[i]));
- fprintf (of, "\n");
- continue;
+ if (!sym->isspilt || sym->remat)
+ {
+ fprintf (of, "to registers ");
+ for (i = 0; i < 4 && sym->regs[i]; i++)
+ fprintf (of, "%s ", port->getRegName (sym->regs[i]));
+ fprintf (of, "\n");
+ continue;
+ }
+ else
+ {
+ sym = sym->usl.spillLoc;
+ }
}
/* if on stack */
if (sym->onStack)
{
- fprintf (of, "stack - offset %d\n", sym->stack);
+ fprintf (of, "to stack - offset %d\n", sym->stack);
continue;
}
/* otherwise give rname */
- fprintf (of, "in memory with name '%s'\n", sym->rname);
+ fprintf (of, "with name '%s'\n", sym->rname);
}
}
if (!of)
of = stdout;
-
+
/* must be called after register allocation is complete */
fprintf (of, ";------------------------------------------------------------\n");
fprintf (of, ";Allocation info for local variables in function '%s'\n", func->name);
printAllocInfoSeg (idata, func, of);
printAllocInfoSeg (sfr, func, of);
printAllocInfoSeg (sfrbit, func, of);
+
+ {
+ set *ovrset;
+ set *tempOverlaySyms = overlay->syms;
+
+ /* search the set of overlay sets for local variables/parameters */
+ for (ovrset = setFirstItem (ovrSetSets); ovrset;
+ ovrset = setNextItem (ovrSetSets))
+ {
+ overlay->syms = ovrset;
+ printAllocInfoSeg (overlay, func, of);
+ }
+ overlay->syms = tempOverlaySyms;
+ }
+
fprintf (of, ";------------------------------------------------------------\n");
}