size_red_t *res = XMALLOC(size_red_t);
res->co = co;
- res->all_removed = pset_new_ptr_default();
+ ir_nodeset_init(&res->all_removed);
res->col_suff = NULL;
obstack_init(&res->ob);
cs->next = sr->col_suff;
sr->col_suff = cs;
- pset_insert_ptr(sr->all_removed, irn);
+ ir_nodeset_insert(&sr->all_removed, irn);
redo = true;
}
assert(free_col < n_regs);
}
set_irn_col(sr->co->cls, irn, free_col);
- pset_remove_ptr(sr->all_removed, irn); /* irn is back in graph again */
+ ir_nodeset_remove(&sr->all_removed, irn); /* irn is back in graph again */
}
}
*/
static void free_size_red(size_red_t *const sr)
{
- del_pset(sr->all_removed);
obstack_free(&sr->ob, NULL);
+ ir_nodeset_destroy(&sr->all_removed);
free(sr);
}
#define FIRM_BE_BECOPYILP_T_H
#include "firm_types.h"
-#include "pset.h"
#include "becopyopt_t.h"
/******************************************************************************
typedef struct size_red_t {
copy_opt_t *co;
- pset *all_removed; /**< All nodes removed during problem size reduction */
+ ir_nodeset_t all_removed; /**< All nodes removed during problem size reduction */
coloring_suffix_t *col_suff; /**< Coloring suffix. Reverse would be a PEO prefix */
struct obstack ob;
} size_red_t;
/**
* Checks if a node has already been removed
*/
-#define sr_is_removed(sr, irn) pset_find_ptr((sr)->all_removed, irn)
+static inline bool sr_is_removed(size_red_t const *const sr, ir_node const *const irn)
+{
+ return ir_nodeset_contains(&sr->all_removed, irn);
+}
/**
* TODO: This search is necessary because during the construction of the