avoid dangerous use of memcmp
[libfirm] / ir / ir / iredges.c
index 874a90a..6446ff2 100644 (file)
@@ -54,7 +54,7 @@
 #define ValueType                 ir_edge_t*
 #define NullValue                 NULL
 #define DeletedValue              ((ir_edge_t*)-1)
-#define Hash(this,key)            (HASH_PTR(key->src) ^ key->pos)
+#define Hash(this,key)            (HASH_PTR(key->src) ^ (key->pos * 40013))
 #define KeysEqual(this,key1,key2) ((key1->src) == (key2->src) && (key1->pos == key2->pos))
 #define SetRangeEmpty(ptr,size)   memset(ptr, 0, (size) * sizeof((ptr)[0]))
 
@@ -194,7 +194,7 @@ void edges_reset_private_data(ir_graph *irg, int offset, size_t size) {
 void edges_init_graph_kind(ir_graph *irg, ir_edge_kind_t kind) {
        if (edges_activated_kind(irg, kind)) {
                irg_edge_info_t *info = _get_irg_edge_info(irg, kind);
-               size_t amount = 32;
+               size_t amount = irg->estimated_node_count * 2;
 
                edges_used = 1;
                if(info->allocated) {