X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbecopyilp_t.h;h=362c5db025cc5cf9b34ae86dbaabbd797d65b19c;hb=8c2710b8f28f31447e12055651725a7cf53714bc;hp=0bd2894d79a2c1c5a5102f1586e510c59acc247a;hpb=d6768d8d4427959eb045aafb1d15bd189beaa5dd;p=libfirm diff --git a/ir/be/becopyilp_t.h b/ir/be/becopyilp_t.h index 0bd2894d7..362c5db02 100644 --- a/ir/be/becopyilp_t.h +++ b/ir/be/becopyilp_t.h @@ -1,20 +1,6 @@ /* - * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. - * * This file is part of libFirm. - * - * This file may be distributed and/or modified under the terms of the - * GNU General Public License version 2 as published by the Free Software - * Foundation and appearing in the file LICENSE.GPL included in the - * packaging of this file. - * - * Licensees holding valid libFirm Professional Edition licenses may use - * this file in accordance with the libFirm Commercial License. - * Agreement provided with the Software. - * - * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE - * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE. + * Copyright (C) 2012 University of Karlsruhe. */ /** @@ -22,14 +8,11 @@ * @brief Common stuff used by all ILP formulations. * @author Daniel Grund * @date 28.02.2006 - * @version $Id$ */ #ifndef FIRM_BE_BECOPYILP_T_H #define FIRM_BE_BECOPYILP_T_H -#include "firm_config.h" - -#include "irnode.h" +#include "firm_types.h" #include "pset.h" #include "becopyopt_t.h" @@ -43,14 +26,14 @@ *****************************************************************************/ -typedef struct _coloring_suffix_t coloring_suffix_t; +typedef struct coloring_suffix_t coloring_suffix_t; -struct _coloring_suffix_t { +struct coloring_suffix_t { coloring_suffix_t *next; ir_node *irn; }; -typedef struct _size_red_t { +typedef struct size_red_t { copy_opt_t *co; pset *all_removed; /**< All nodes removed during problem size reduction */ coloring_suffix_t *col_suff; /**< Coloring suffix. Reverse would be a PEO prefix */ @@ -65,7 +48,7 @@ size_red_t *new_size_red(copy_opt_t *co); /** * Checks if a node has already been removed */ -#define sr_is_removed(sr, irn) pset_find_ptr((sr)->all_removed, irn) +#define sr_is_removed(sr, irn) pset_find_ptr((sr)->all_removed, irn) /** * Virtually remove all nodes not related to the problem @@ -88,9 +71,8 @@ void free_size_red(size_red_t *sr); * units (ou's) args could be merged and weights are accumulated. * Is this necessary? */ -static INLINE int co_ilp_get_costs(copy_opt_t *co, ir_node *root, ir_node *arg) { - int i; - unit_t *curr; +static inline int co_ilp_get_costs(copy_opt_t *co, ir_node *root, ir_node *arg) { + int i; /* search optimization unit for phi */ list_for_each_entry(unit_t, curr, &co->units, units) @@ -117,24 +99,16 @@ static INLINE int co_ilp_get_costs(copy_opt_t *co, ir_node *root, ir_node *arg) *****************************************************************************/ -#ifdef WITH_ILP -#include - -#define LPP_SOLVE_NET - -#ifdef LPP_SOLVE_NET -# include -#else -# include -#endif +#include "lpp.h" +#include "lpp_net.h" #define EPSILON 0.00001 -typedef struct _ilp_env_t ilp_env_t; +typedef struct ilp_env_t ilp_env_t; typedef void(*ilp_callback)(ilp_env_t*); -struct _ilp_env_t { +struct ilp_env_t { const copy_opt_t *co; /**< the copy opt problem */ size_red_t *sr; /**< problem size reduction. removes simple nodes */ lpp_t *lp; /**< the linear programming problem */ @@ -149,13 +123,4 @@ lpp_sol_state_t ilp_go(ilp_env_t *ienv); void free_ilp_env(ilp_env_t *ienv); - -#define name_cdd(buf, char1, int1, int2) \ - (snprintf(buf, sizeof(buf), "%c_%d_%d", char1, int1, int2), buf) - -#define name_cdd_sorted(buf, char1, int1, int2) \ - name_cdd(buf, char1, MIN(int1, int2), MAX(int1, int2)) - -#endif /* WITH_ILP */ - -#endif /* FIRM_BE_BECOPYILP_T_H */ +#endif