-#include "fourcc.h"
-
-/* Make a fourcc for border checking. */
-#define BORDER_FOURCC FOURCC('B', 'O', 'R', 'D')
-
-#if 0
-static void check_border_list(struct list_head *head)
-{
- border_t *x;
- list_for_each_entry(border_t, x, head, list) {
- assert(x->magic == BORDER_FOURCC);
- }
-}
-
-static void check_heads(be_chordal_env_t *env)
-{
- pmap_entry *ent;
- for(ent = pmap_first(env->border_heads); ent; ent = pmap_next(env->border_heads)) {
- /* ir_printf("checking border list of block %+F\n", ent->key); */
- check_border_list(ent->value);
- }
-}
-#endif
-
-/**
- * Add an interval border to the list of a block's list
- * of interval border.
- * @note You always have to create the use before the def.
- * @param env The environment.
- * @param head The list head to enqueue the borders.
- * @param irn The node (value) the border belongs to.
- * @param pressure The pressure at this point in time.
- * @param step A time step for the border.
- * @param is_def Is the border a use or a def.
- * @return The created border.
- */
-static INLINE border_t *border_add(be_chordal_env_t *env, struct list_head *head,
- ir_node *irn, unsigned step, unsigned pressure,
- unsigned is_def, unsigned is_real)
-{
- border_t *b;
-
- if(!is_def) {
- border_t *def;
-
- b = obstack_alloc(&env->obst, sizeof(*b));
-
- /* also allocate the def and tie it to the use. */
- def = obstack_alloc(&env->obst, sizeof(*def));
- memset(def, 0, sizeof(*def));
- b->other_end = def;
- def->other_end = b;
-
- /*
- * Set the link field of the irn to the def.
- * This strongly relies on the fact, that the use is always
- * made before the def.
- */
- set_irn_link(irn, def);
-
- DEBUG_ONLY(b->magic = BORDER_FOURCC);
- DEBUG_ONLY(def->magic = BORDER_FOURCC);
- }
-
- /*
- * If the def is encountered, the use was made and so was the
- * the def node (see the code above). It was placed into the
- * link field of the irn, so we can get it there.
- */
- else {
- b = get_irn_link(irn);
-
- assert(b && b->magic == BORDER_FOURCC && "Illegal border encountered");
- }
-
- b->pressure = pressure;
- b->is_def = is_def;
- b->is_real = is_real;
- b->irn = irn;
- b->step = step;
- list_add_tail(&b->list, head);
- DBG((env->dbg, LEVEL_5, "\t\t%s adding %+F, step: %d\n", is_def ? "def" : "use", irn, step));
-
-
- return b;
-}
-
-/**
- * Check, if an irn is of the register class currently under processing.
- * @param env The chordal environment.
- * @param irn The node.
- * @return 1, if the node is of that register class, 0 if not.
- */
-static INLINE int has_reg_class(const be_chordal_env_t *env, const ir_node *irn)
-{
- return arch_irn_has_reg_class(env->birg->main_env->arch_env, irn, -1, env->cls);
- // return arch_irn_consider_in_reg_alloc(env->birg->main_env->arch_env, env->cls, irn);
-}
-
-#define has_limited_constr(req, irn) \
- (arch_get_register_req(arch_env, (req), irn, -1) && (req)->type == arch_register_req_type_limited)
-