Commit ff9b2389 authored by Matthias Braun's avatar Matthias Braun
Browse files

- new spillslots dump phase

parent d2bbc21a
......@@ -173,16 +173,17 @@ static const lc_opt_enum_int_items_t lower_perm_stat_items[] = {
};
static const lc_opt_enum_int_items_t dump_items[] = {
{ "spill", BE_CH_DUMP_SPILL },
{ "live", BE_CH_DUMP_LIVE },
{ "color", BE_CH_DUMP_COLOR },
{ "copymin", BE_CH_DUMP_COPYMIN },
{ "ssadestr", BE_CH_DUMP_SSADESTR },
{ "tree", BE_CH_DUMP_TREE_INTV },
{ "constr", BE_CH_DUMP_CONSTR },
{ "lower", BE_CH_DUMP_LOWER },
{ "appel", BE_CH_DUMP_APPEL },
{ "all", BE_CH_DUMP_ALL },
{ "spill", BE_CH_DUMP_SPILL },
{ "live", BE_CH_DUMP_LIVE },
{ "color", BE_CH_DUMP_COLOR },
{ "copymin", BE_CH_DUMP_COPYMIN },
{ "ssadestr", BE_CH_DUMP_SSADESTR },
{ "tree", BE_CH_DUMP_TREE_INTV },
{ "constr", BE_CH_DUMP_CONSTR },
{ "lower", BE_CH_DUMP_LOWER },
{ "spillslots", BE_CH_DUMP_SPILLSLOTS },
{ "appel", BE_CH_DUMP_APPEL },
{ "all", BE_CH_DUMP_ALL },
{ NULL, 0 }
};
......@@ -575,6 +576,7 @@ static be_ra_timer_t *be_ra_chordal_main(const be_irg_t *bi)
}
be_coalesce_spillslots(&chordal_env);
dump(BE_CH_DUMP_SPILLSLOTS, irg, NULL, "-spillslots", dump_ir_block_graph_sched);
BE_TIMER_PUSH(ra_timer.t_epilog);
......
......@@ -108,9 +108,10 @@ enum {
BE_CH_DUMP_SSADESTR = (1 << 5),
BE_CH_DUMP_TREE_INTV = (1 << 6),
BE_CH_DUMP_CONSTR = (1 << 7),
BE_CH_DUMP_LOWER = (1 << 8),
BE_CH_DUMP_APPEL = (1 << 9),
BE_CH_DUMP_ALL = 2 * BE_CH_DUMP_LOWER - 1,
BE_CH_DUMP_SPILLSLOTS = (1 << 8),
BE_CH_DUMP_LOWER = (1 << 9),
BE_CH_DUMP_APPEL = (1 << 10),
BE_CH_DUMP_ALL = 2 * BE_CH_DUMP_APPEL - 1,
/* ifg flavor */
BE_CH_IFG_STD = 1,
......
......@@ -1365,6 +1365,25 @@ static int dump_node(ir_node *irn, FILE *f, dump_reason_t reason)
if (a->ent)
fprintf(f, "\ncalling: %s\n", get_entity_name(a->ent));
}
break;
case beo_MemPerm:
{
int i;
be_memperm_attr_t *a = (be_memperm_attr_t*) at;
for(i = 0; i < get_irn_arity(irn); ++i) {
entity *in, *out;
in = be_get_MemPerm_in_entity(irn, i);
out = be_get_MemPerm_out_entity(irn, i);
if(in) {
fprintf(f, "\nin[%d]: %s\n", i, get_entity_name(in));
}
if(out) {
fprintf(f, "\nout[%d]: %s\n", i, get_entity_name(out));
}
}
}
break;
default:
break;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment