irgraph: Use get_irg_obstack() instead of accessing irg->obst directly.
[libfirm] / ir / ana / irmemory.c
index 95758d5..2df5b07 100644 (file)
@@ -758,13 +758,13 @@ ir_alias_relation get_alias_relation_ex(
        key.adr2  = adr2;
        key.mode1 = mode1;
        key.mode2 = mode2;
-       entry = (mem_disambig_entry*) set_find(result_cache, &key, sizeof(key), HASH_ENTRY(adr1, adr2));
+       entry = set_find(mem_disambig_entry, result_cache, &key, sizeof(key), HASH_ENTRY(adr1, adr2));
        if (entry != NULL)
                return entry->result;
 
        key.result = get_alias_relation(adr1, mode1, adr2, mode2);
 
-       set_insert(result_cache, &key, sizeof(key), HASH_ENTRY(adr1, adr2));
+       (void)set_insert(mem_disambig_entry, result_cache, &key, sizeof(key), HASH_ENTRY(adr1, adr2));
        return key.result;
 }
 
@@ -950,6 +950,8 @@ static void analyse_irg_entity_usage(ir_graph *irg)
        size_t i, n;
        int j, k, static_link_arg;
 
+       assure_irg_properties(irg, IR_GRAPH_PROPERTY_CONSISTENT_OUTS);
+
        /* set initial state to not_taken, as this is the "smallest" state */
        for (i = 0, n = get_class_n_members(ft); i < n; ++i) {
                ir_entity *ent = get_class_member(ft, i);
@@ -963,8 +965,6 @@ static void analyse_irg_entity_usage(ir_graph *irg)
                }
        }
 
-       assure_irg_outs(irg);
-
        irg_frame = get_irg_frame(irg);
 
        for (j = get_irn_n_outs(irg_frame) - 1; j >= 0; --j) {
@@ -1021,14 +1021,13 @@ static void analyse_irg_entity_usage(ir_graph *irg)
                }
        }
 
-
        /* now computed */
-       set_irg_state(irg, IR_GRAPH_STATE_CONSISTENT_ENTITY_USAGE);
+       add_irg_properties(irg, IR_GRAPH_PROPERTY_CONSISTENT_ENTITY_USAGE);
 }
 
 void assure_irg_entity_usage_computed(ir_graph *irg)
 {
-       if (is_irg_state(irg, IR_GRAPH_STATE_CONSISTENT_ENTITY_USAGE))
+       if (irg_has_properties(irg, IR_GRAPH_PROPERTY_CONSISTENT_ENTITY_USAGE))
                return;
 
        analyse_irg_entity_usage(irg);
@@ -1104,18 +1103,6 @@ static void check_initializer(ir_entity *ent)
 
        if (ent->initializer != NULL) {
                check_initializer_nodes(ent->initializer);
-       } else if (entity_has_compound_ent_values(ent)) {
-               size_t i, n;
-
-               for (i = 0, n = get_compound_ent_n_values(ent); i < n; ++i) {
-                       ir_node *irn = get_compound_ent_value(ent, i);
-
-                       /* let's check if it's an address */
-                       if (is_SymConst_addr_ent(irn)) {
-                               ir_entity *symconst_ent = get_SymConst_entity(irn);
-                               set_entity_usage(symconst_ent, ir_usage_unknown);
-                       }
-               }
        }
 }
 
@@ -1257,7 +1244,7 @@ static pmap *mtp_map;
  */
 static ir_type *clone_type_and_cache(ir_type *tp)
 {
-       ir_type *res = (ir_type*)pmap_get(mtp_map, tp);
+       ir_type *res = pmap_get(ir_type, mtp_map, tp);
 
        if (res == NULL) {
                res = clone_type_method(tp);