- del_set(si.irn_use_heads);
- del_set(si.live_ranges);
- free_lpp(si.lpp);
- obstack_free(&obst, NULL);
+ writeback_results(&si);
+
+#ifdef DUMP_STATS
+ {
+ char buf[256];
+ FILE *f;
+
+ ir_snprintf(buf, sizeof(buf), "%s-spill.stat", problem_name);
+ if((f = fopen(buf, "wt")) != NULL) {
+ fprintf(f, "%20s: %d\n", "nodes", set_count(si.irn_use_heads));
+ fprintf(f, "%20s: %d\n", "vars", si.lpp->var_next);
+ fprintf(f, "%20s: %d\n", "csts", si.lpp->cst_next);
+ fprintf(f, "%20s: %f\n", "sol time", si.lpp->sol_time);
+ fprintf(f, "%20s: %d\n", "spills", si.stats.n_spills);
+ fprintf(f, "%20s: %d\n", "reloads", si.stats.n_reloads);
+ fprintf(f, "%20s: %d\n", "remats", si.stats.n_remat);
+ fclose(f);
+ }
+ }
+#endif
+
+ del_set(si.irn_use_heads);
+ del_set(si.live_ranges);
+ free_lpp(si.lpp);
+ obstack_free(&obst, NULL);