X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbespillbelady.c;h=7424d3da39498a840d207a4c6e570dd1b9d3463a;hb=5474a1c188c9d59eea2c915515980cd9cbab58d8;hp=28ee0823d5fdfb5615907d6d6dd55e05014de369;hpb=15ad7ccd8dff64e1808e1d093d4a8d7cda5af33e;p=libfirm diff --git a/ir/be/bespillbelady.c b/ir/be/bespillbelady.c index 28ee0823d..7424d3da3 100644 --- a/ir/be/bespillbelady.c +++ b/ir/be/bespillbelady.c @@ -22,7 +22,6 @@ * @brief Beladys spillalgorithm. * @author Daniel Grund, Matthias Braun * @date 20.09.2005 - * @version $Id$ */ #include "config.h" @@ -39,6 +38,8 @@ #include "ircons_t.h" #include "irprintf.h" #include "irnodeset.h" +#include "irtools.h" +#include "util.h" #include "beutil.h" #include "bearch.h" @@ -293,7 +294,7 @@ static unsigned get_distance(ir_node *from, const ir_node *def, int skip_from_us return USES_INFINITY; /* We have to keep nonspillable nodes in the workingset */ - if (arch_irn_get_flags(skip_Proj_const(def)) & arch_irn_flags_dont_spill) + if (arch_get_irn_flags(skip_Proj_const(def)) & arch_irn_flags_dont_spill) return 0; /* give some bonus to rematerialisable nodes */ @@ -479,7 +480,7 @@ static loc_t to_take_or_not_to_take(ir_node* first, ir_node *node, } /* We have to keep nonspillable nodes in the workingset */ - if (arch_irn_get_flags(skip_Proj_const(node)) & arch_irn_flags_dont_spill) { + if (arch_get_irn_flags(skip_Proj_const(node)) & arch_irn_flags_dont_spill) { loc.time = 0; DB((dbg, DBG_START, " %+F taken (dontspill node)\n", node, loc.time)); return loc; @@ -945,13 +946,10 @@ static void be_spill_belady(ir_graph *irg, const arch_register_class_t *rcls) { int i; - be_liveness_assure_sets(be_assure_liveness(irg)); + be_assure_live_sets(irg); stat_ev_tim_push(); - /* construct control flow loop tree */ - if (! (get_irg_loopinfo_state(irg) & loopinfo_cf_consistent)) { - construct_cf_backedges(irg); - } + assure_loopinfo(irg); stat_ev_tim_pop("belady_time_backedges"); stat_ev_tim_push(); @@ -999,7 +997,7 @@ static void be_spill_belady(ir_graph *irg, const arch_register_class_t *rcls) obstack_free(&obst, NULL); } -BE_REGISTER_MODULE_CONSTRUCTOR(be_init_spillbelady); +BE_REGISTER_MODULE_CONSTRUCTOR(be_init_spillbelady) void be_init_spillbelady(void) { static be_spiller_t belady_spiller = {