*
* x_nc, y_ij \in N, w_ij \in R^+
*/
-#ifdef HAVE_CONFIG_H
#include "config.h"
-#endif /* HAVE_CONFIG_H */
-
-#include "firm_config.h"
#ifdef WITH_ILP
pmap_insert(lenv->nr_2_irn, INT_TO_PTR(node_nr), irn);
- req = arch_get_register_req(irn, -1);
+ req = arch_get_register_req_out(irn);
bitset_clear_all(colors);
}
}
-static void build_interference_cstr(ilp_env_t *ienv) {
- lpp_t *lpp = ienv->lp;
- local_env_t *lenv = ienv->env;
- be_ifg_t *ifg = ienv->co->cenv->ifg;
- int n_colors = lenv->n_colors;
- int i, col;
-
- void *iter = be_ifg_cliques_iter_alloca(ifg);
- ir_node **clique = alloca(sizeof(*clique) * n_colors);
- int size;
+static void build_interference_cstr(ilp_env_t *ienv)
+{
+ lpp_t *lpp = ienv->lp;
+ local_env_t *lenv = ienv->env;
+ be_ifg_t *ifg = ienv->co->cenv->ifg;
+ int n_colors = lenv->n_colors;
+ void *iter = be_ifg_cliques_iter_alloca(ifg);
+ ir_node **clique = ALLOCAN(ir_node*, n_colors);
+ int size;
+ int col;
+ int i;
char buf[16];
#define HASH_EDGE(e) (hash_irn((e)->n1) ^ hash_irn((e)->n2))
-static INLINE edge_t *add_edge(set *edges, ir_node *n1, ir_node *n2, int *counter) {
+static inline edge_t *add_edge(set *edges, ir_node *n1, ir_node *n2, int *counter) {
edge_t new_edge;
if (PTR_TO_INT(n1) < PTR_TO_INT(n2)) {
return set_insert(edges, &new_edge, sizeof(new_edge), HASH_EDGE(&new_edge));
}
-static INLINE edge_t *find_edge(set *edges, ir_node *n1, ir_node *n2) {
+static inline edge_t *find_edge(set *edges, ir_node *n1, ir_node *n2) {
edge_t new_edge;
if (PTR_TO_INT(n1) < PTR_TO_INT(n2)) {
return set_find(edges, &new_edge, sizeof(new_edge), HASH_EDGE(&new_edge));
}
-static INLINE void remove_edge(set *edges, ir_node *n1, ir_node *n2, int *counter) {
+static inline void remove_edge(set *edges, ir_node *n1, ir_node *n2, int *counter) {
edge_t new_edge, *e;
if (PTR_TO_INT(n1) < PTR_TO_INT(n2)) {
set *edges;
int i, o, n_nodes, n_edges;
- if (arch_irn_is(ienv->co->aenv, aff->irn, ignore))
+ if (arch_irn_is_ignore(aff->irn))
continue;
obstack_init(&ob);
/* get all affinity neighbours */
n_nodes = 0;
co_gs_foreach_neighb(aff, nbr) {
- if (!arch_irn_is(ienv->co->aenv, nbr->irn, ignore)) {
+ if (!arch_irn_is_ignore(nbr->irn)) {
obstack_ptr_grow(&ob, nbr->irn);
++n_nodes;
}
if (pdeq_contains(path, irn))
return;
- if (arch_irn_is(ienv->co->aenv, irn, ignore))
+ if (arch_irn_is_ignore(irn))
return;
/* insert the new irn */
/* check for forbidden interferences */
- len = pdeq_len(path);
- curr_path = alloca(len * sizeof(*curr_path));
+ len = pdeq_len(path);
+ curr_path = ALLOCAN(ir_node*, len);
pdeq_copyl(path, (const void **)curr_path);
for (i=1; i<len; ++i)
#else /* WITH_ILP */
-static INLINE void only_that_you_can_compile_without_WITH_ILP_defined(void) {
+static inline void only_that_you_can_compile_without_WITH_ILP_defined(void) {
}
#endif /* WITH_ILP */