X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbecopyilp.c;h=1dca9e65f37dad41a656c06a4126d806d94d81fc;hb=3516aec5685de4fd54436edb5fa3467e67c76776;hp=883ce50c0292247fb46fa42fae4b9996b0ecea07;hpb=c65b13d98017c671496ff61e970790bba264f375;p=libfirm diff --git a/ir/be/becopyilp.c b/ir/be/becopyilp.c index 883ce50c0..1dca9e65f 100644 --- a/ir/be/becopyilp.c +++ b/ir/be/becopyilp.c @@ -11,8 +11,13 @@ #include "config.h" #endif /* HAVE_CONFIG_H */ +#include "irtools.h" +#include "irprintf.h" + #include "bestatevent.h" #include "beirg_t.h" +#include "bemodule.h" +#include "error.h" #ifdef WITH_ILP @@ -45,11 +50,18 @@ static const lc_opt_table_entry_t options[] = { { NULL } }; -void be_co_ilp_register_options(lc_opt_entry_t *grp) +void be_init_copyilp(void) { - lc_opt_entry_t *ilp_grp = lc_opt_get_grp(grp, "ilp"); + lc_opt_entry_t *be_grp = lc_opt_get_grp(firm_opt_get_root(), "be"); + lc_opt_entry_t *ra_grp = lc_opt_get_grp(be_grp, "ra"); + lc_opt_entry_t *chordal_grp = lc_opt_get_grp(ra_grp, "chordal"); + lc_opt_entry_t *co_grp = lc_opt_get_grp(chordal_grp, "co"); + lc_opt_entry_t *ilp_grp = lc_opt_get_grp(co_grp, "ilp"); + lc_opt_add_table(ilp_grp, options); } + +BE_REGISTER_MODULE_CONSTRUCTOR(be_init_copyilp); #endif /* WITH_LIBCORE */ @@ -223,7 +235,15 @@ lpp_sol_state_t ilp_go(ilp_env_t *ienv) { be_stat_ev_dbl("co_ilp_sol_time", ienv->lp->sol_time); if(dump_flags & DUMP_ILP) { - FILE *f = be_chordal_open(ienv->co->cenv, "", "-co.ilp"); + char buf[128]; + FILE *f; + + ir_snprintf(buf, sizeof(buf), "%F_%s-co.ilp", ienv->co->cenv->irg, + ienv->co->cenv->cls->name); + f = fopen(buf, "wt"); + if(f == NULL) { + panic("Couldn't open '%s' for writing", buf); + } lpp_dump_plain(ienv->lp, f); fclose(f); }