Use more bucket functions.
[libfirm] / heuristical.c
index 77a168b..2f3e38d 100644 (file)
@@ -20,15 +20,12 @@ static int         buckets_filled = 0;
 
 static void insert_into_edge_bucket(pbqp_edge *edge)
 {
-       unsigned bucket_len = edge_bucket_get_length(edge_bucket);
-
-       if (edge->bucket_index < bucket_len && edge_bucket[edge->bucket_index]
-                       == edge)
+       if (edge_bucket_contains(edge_bucket, edge)) {
                /* Edge is already inserted. */
                return;
+       }
 
-       edge->bucket_index = bucket_len;
-       ARR_APP1(pbqp_edge *, edge_bucket, edge);
+       edge_bucket_insert(&edge_bucket, edge);
 }
 
 static void init_buckets(void)
@@ -806,8 +803,5 @@ int node_is_reduced(pbqp_node *node)
        assert(node);
        if (ARR_LEN(node->edges) == 0) return 1;
 
-       unsigned bucket_length = node_bucket_get_length(reduced_bucket);
-       unsigned bucket_index  = node->bucket_index;
-
-       return bucket_index < bucket_length && reduced_bucket[bucket_index] == node;
+       return node_bucket_contains(reduced_bucket, node);
 }