- border_t *b;
-
- if (!is_def) {
- border_t *def;
-
- b = OALLOC(&env->obst, border_t);
-
- /* also allocate the def and tie it to the use. */
- def = OALLOCZ(&env->obst, border_t);
- 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;)
- } else {
- /*
- * 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.
- */
- b = (border_t*)get_irn_link(irn);
-
- DEBUG_ONLY(assert(b && b->magic == BORDER_FOURCC && "Illegal border encountered");)
- }
-
- b->is_def = is_def;