+ir_node *be_get_old_anchor(int anchor)
+{
+ return get_irn_n(env.old_anchor, anchor);
+}
+
+static void pre_transform_anchor(int anchor)
+{
+ ir_node *old_anchor_node = get_irn_n(env.old_anchor, anchor);
+ ir_node *transformed = be_transform_node(old_anchor_node);
+ set_irg_anchor(current_ir_graph, anchor, transformed);
+}
+
+static void kill_unused_anchor(int anchor)
+{
+ ir_node *old_anchor_node = get_irn_n(env.old_anchor, anchor);
+ ir_node *old_bad = get_irn_n(env.old_anchor, anchor_bad);
+ if(old_anchor_node != NULL && get_irn_n_edges(old_anchor_node) <= 1) {
+ set_irn_n(env.old_anchor, anchor, old_bad);
+ }
+}
+