Some refactoring.
[libfirm] / pbqp_edge.c
index f12e2f0..aeb4608 100644 (file)
@@ -44,6 +44,7 @@ pbqp_edge *alloc_edge(pbqp *pbqp, int src_index, int tgt_index, pbqp_matrix *cos
        edge->src = src_node;
        ARR_APP1(pbqp_edge *, tgt_node->edges, edge);
        edge->tgt = tgt_node;
+       edge->bucket_index = UINT_MAX;
 
        return edge;
 }
@@ -63,3 +64,8 @@ void delete_edge(pbqp_edge *edge)
        disconnect_edge(src_node, edge);
        disconnect_edge(tgt_node, edge);
 }
+
+pbqp_edge *pbqp_edge_deep_copy(pbqp *pbqp, pbqp_edge *edge)
+{
+       return alloc_edge(pbqp, edge->src->index, edge->tgt->index, edge->costs);
+}