X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbecopyilp2.c;h=3dbc92387dd590b579961ed0705a45f3e703ddf3;hb=157db987d55561de571b55677d56ab20c787ea90;hp=f1703fb7d555a024832140b89913209f3834d314;hpb=87d3e7eba011a02e25e216fc299dd41f82d6e30d;p=libfirm diff --git a/ir/be/becopyilp2.c b/ir/be/becopyilp2.c index f1703fb7d..3dbc92387 100644 --- a/ir/be/becopyilp2.c +++ b/ir/be/becopyilp2.c @@ -30,8 +30,6 @@ #include "config.h" #endif /* HAVE_CONFIG_H */ -#ifdef WITH_ILP - #include #include "pdeq.h" @@ -142,6 +140,12 @@ static void build_interference_cstr(ilp_env_t *ienv) { } } + +/** + * TODO: Remove the dependency of the opt-units data structure + * by walking over all affinity edges. Graph structure + * does not provide this walker, yet. + */ static void build_affinity_cstr(ilp_env_t *ienv) { unit_t *curr; int n_colors = arch_register_class_n_regs(ienv->co->cls); @@ -249,7 +253,7 @@ static INLINE void remove_edge(set *edges, ir_node *n1, ir_node *n2, int *counte * At most 1 node of the clique can be colored equally with the external node. */ static void build_clique_star_cstr(ilp_env_t *ienv) { - affinity_t *aff; + affinity_node_t *aff; /* for each node with affinity edges */ co_gs_foreach_aff_node(ienv->co, aff) { @@ -358,7 +362,7 @@ static void extend_path(ilp_env_t *ienv, pdeq *path, ir_node *irn) { be_ifg_t *ifg = ienv->co->cenv->ifg; int i, len; ir_node **curr_path; - affinity_t *aff; + affinity_node_t *aff; neighb_t *nbr; /* do not walk backwards or in circles */ @@ -423,7 +427,7 @@ end: * Then at least one of these affinity edges must break. */ static void build_path_cstr(ilp_env_t *ienv) { - affinity_t *aff_info; + affinity_node_t *aff_info; /* for each node with affinity edges */ co_gs_foreach_aff_node(ienv->co, aff_info) { @@ -500,11 +504,14 @@ int co_solve_ilp2(copy_opt_t *co, double time_limit) { ilp_env_t *ienv; local_env_t my; + ASSERT_OU_AVAIL(co); //See build_clique_st + ASSERT_GS_AVAIL(co); + my.time_limit = time_limit; my.first_x_var = -1; my.last_x_var = -1; my.nr_2_irn = pmap_create(); - my.dbg = firm_dbg_register("ir.be.coilp2"); + FIRM_DBG_REGISTER(my.dbg, "ir.be.coilp2"); firm_dbg_set_mask(my.dbg, DEBUG_LVL); ienv = new_ilp_env(co, ilp2_build, ilp2_apply, &my); @@ -516,10 +523,3 @@ int co_solve_ilp2(copy_opt_t *co, double time_limit) { return sol_state == lpp_optimal; } - -#else /* WITH_ILP */ - -static void only_that_you_can_compile_without_WITH_ILP_defined(void) { -} - -#endif /* WITH_ILP */