oprintf("\n");
}
}
+ oprintf("%sliferanges:\n", ind);
+ for (i = 0; i < f->locals_count; ++i) {
+ size_t l;
+ ir_value *v = f->locals[i];
+ oprintf("%s\t%s: ", ind, v->name);
+ for (l = 0; l < v->life_count; ++l) {
+ oprintf("[%i,%i] ", v->life[i].start, v->life[i].end);
+ }
+ oprintf("\n");
+ }
+ for (i = 0; i < f->values_count; ++i) {
+ size_t l;
+ ir_value *v = f->values[i];
+ oprintf("%s\t%s: ", ind, v->name);
+ for (l = 0; l < v->life_count; ++l) {
+ oprintf("[%i,%i] ", v->life[i].start, v->life[i].end);
+ }
+ oprintf("\n");
+ }
if (f->blocks_count)
{
oprintf("%slife passes (check): %i\n", ind, (int)f->run_id);
}
if (in->bops[1])
oprintf("%s[%s]", comma, in->bops[1]->label);
+ if (in->params_count) {
+ oprintf("\tparams: ");
+ for (i = 0; i != in->params_count; ++i) {
+ oprintf("%s, ", in->params[i]->name);
+ }
+ }
oprintf("\n");
ind[strlen(ind)-1] = 0;
}
oprintf("(void)");
break;
case TYPE_FUNCTION:
- oprintf("(function)");
+ oprintf("fn:%s", v->name);
break;
case TYPE_FLOAT:
oprintf("%g", v->constval.vfloat);