Remove the unused facility to register space /in front of/ a node.
[libfirm] / ir / ir / irdump.c
index 0e4ccc9..222bd35 100644 (file)
@@ -414,24 +414,6 @@ static void print_node_ent_edge(FILE *F, const ir_node *irn, const ir_entity *en
        va_end(ap);
 }
 
-/**
- * Prints the edge from an entity ent to a node irn with additional info fmt, ...
- * to the file F.
- */
-static void print_ent_node_edge(FILE *F, const ir_entity *ent, const ir_node *irn, const char *fmt, ...)
-{
-       va_list ap;
-
-       va_start(ap, fmt);
-       fprintf(F, "edge: { sourcename: ");
-       print_entityid(F, ent);
-       fprintf(F, "\" targetname: ");
-       print_nodeid(F, irn);
-       ir_vfprintf(F, fmt, ap);
-       fprintf(F,"}\n");
-       va_end(ap);
-}
-
 /**
  * Prints the edge from a type tp to an enumeration item item with additional info fmt, ...
  * to the file F.
@@ -487,13 +469,10 @@ static void init_irdump(void)
  */
 static void *ird_get_irn_link(const ir_node *n)
 {
-       void *res = NULL;
        if (irdump_link_map == NULL)
                return NULL;
 
-       if (pmap_contains(irdump_link_map, n))
-               res = pmap_get(irdump_link_map, n);
-       return res;
+       return pmap_get(void, irdump_link_map, n);
 }
 
 /**
@@ -511,13 +490,10 @@ static void ird_set_irn_link(const ir_node *n, void *x)
  */
 static void *ird_get_irg_link(const ir_graph *irg)
 {
-       void *res = NULL;
        if (irdump_link_map == NULL)
                return NULL;
 
-       if (pmap_contains(irdump_link_map, irg))
-               res = pmap_get(irdump_link_map, irg);
-       return res;
+       return pmap_get(void, irdump_link_map, irg);
 }
 
 /**
@@ -698,11 +674,6 @@ void dump_node_opcode(FILE *F, const ir_node *n)
                fprintf(F, "%s%s", get_irn_opname(n),
                        (flags & ir_dump_flag_show_marks) ? (get_Block_mark(n) ? "*" : "") : "");
                break;
-       case iro_Conv:
-               if (get_Conv_strict(n))
-                       fprintf(F, "strict");
-               fprintf(F, "%s", get_irn_opname(n));
-               break;
        case iro_Div:
                fprintf(F, "%s", get_irn_opname(n));
                if (get_Div_no_remainder(n))
@@ -1163,7 +1134,7 @@ static void print_data_edge_vcgattr(FILE *F, const ir_node *from, int to)
         * do not use get_nodes_block() here, will fail
         * if the irg is not pinned.
         */
-       if (get_irn_n(from, -1) == get_irn_n(get_irn_n(from, to), -1))
+       if (get_nodes_block(from) == get_nodes_block(get_irn_n(from, to)))
                fprintf(F, INTRA_DATA_EDGE_ATTR);
        else
                fprintf(F, INTER_DATA_EDGE_ATTR);
@@ -1175,7 +1146,7 @@ static void print_mem_edge_vcgattr(FILE *F, const ir_node *from, int to)
         * do not use get_nodes_block() here, will fail
         * if the irg is not pinned.
         */
-       if (get_irn_n(from, -1) == get_irn_n(get_irn_n(from, to), -1))
+       if (get_nodes_block(from) == get_nodes_block(get_irn_n(from, to)))
                fprintf(F, INTRA_MEM_EDGE_ATTR);
        else
                fprintf(F, INTER_MEM_EDGE_ATTR);
@@ -1286,9 +1257,8 @@ static void dump_ir_data_edges(FILE *F, const ir_node *n)
  */
 static void dump_ir_edges(ir_node *node, void *env)
 {
-       int              i = 0;
-       FILE            *F = (FILE*)env;
-       const ir_edge_t *edge;
+       int   i = 0;
+       FILE *F = (FILE*)env;
 
        foreach_out_edge(node, edge) {
                ir_node *succ = get_edge_src_irn(edge);
@@ -1424,7 +1394,7 @@ static void dump_block_graph(FILE *F, ir_graph *irg)
        }
 
        if ((flags & ir_dump_flag_loops)
-            && is_irg_state(irg, IR_GRAPH_STATE_CONSISTENT_LOOPINFO))
+            && irg_has_properties(irg, IR_GRAPH_PROPERTY_CONSISTENT_LOOPINFO))
                dump_loop_nodes_into_graph(F, irg);
 }
 
@@ -1439,36 +1409,37 @@ static void dump_graph_info(FILE *F, ir_graph *irg)
        fprintf(F, "\n");
 
        /* dump graph state */
-       fprintf(F, "state:");
-       if (is_irg_state(irg, IR_GRAPH_STATE_ARCH_DEP))
+       fprintf(F, "constraints:");
+       if (irg_is_constrained(irg, IR_GRAPH_CONSTRAINT_ARCH_DEP))
                fprintf(F, " arch_dep");
-       if (is_irg_state(irg, IR_GRAPH_STATE_MODEB_LOWERED))
+       if (irg_is_constrained(irg, IR_GRAPH_CONSTRAINT_MODEB_LOWERED))
                fprintf(F, " modeb_lowered");
-       if (is_irg_state(irg, IR_GRAPH_STATE_NORMALISATION2))
+       if (irg_is_constrained(irg, IR_GRAPH_CONSTRAINT_NORMALISATION2))
                fprintf(F, " normalisation2");
-       if (is_irg_state(irg, IR_GRAPH_STATE_IMPLICIT_BITFIELD_MASKING))
-               fprintf(F, " implicit_bitfield_masking");
-       if (is_irg_state(irg, IR_GRAPH_STATE_OPTIMIZE_UNREACHABLE_CODE))
+       if (irg_is_constrained(irg, IR_GRAPH_CONSTRAINT_OPTIMIZE_UNREACHABLE_CODE))
                fprintf(F, " optimize_unreachable_code");
-       if (is_irg_state(irg, IR_GRAPH_STATE_NO_CRITICAL_EDGES))
+       fprintf(F, "\n");
+
+       fprintf(F, "properties:");
+       if (irg_has_properties(irg, IR_GRAPH_PROPERTY_NO_CRITICAL_EDGES))
                fprintf(F, " no_critical_edges");
-       if (is_irg_state(irg, IR_GRAPH_STATE_NO_BADS))
+       if (irg_has_properties(irg, IR_GRAPH_PROPERTY_NO_BADS))
                fprintf(F, " no_bads");
-       if (is_irg_state(irg, IR_GRAPH_STATE_NO_UNREACHABLE_CODE))
+       if (irg_has_properties(irg, IR_GRAPH_PROPERTY_NO_UNREACHABLE_CODE))
                fprintf(F, " no_unreachable_code");
-       if (is_irg_state(irg, IR_GRAPH_STATE_ONE_RETURN))
+       if (irg_has_properties(irg, IR_GRAPH_PROPERTY_ONE_RETURN))
                fprintf(F, " one_return");
-       if (is_irg_state(irg, IR_GRAPH_STATE_CONSISTENT_DOMINANCE))
+       if (irg_has_properties(irg, IR_GRAPH_PROPERTY_CONSISTENT_DOMINANCE))
                fprintf(F, " consistent_dominance");
-       if (is_irg_state(irg, IR_GRAPH_STATE_CONSISTENT_POSTDOMINANCE))
+       if (irg_has_properties(irg, IR_GRAPH_PROPERTY_CONSISTENT_POSTDOMINANCE))
                fprintf(F, " consistent_postdominance");
-       if (is_irg_state(irg, IR_GRAPH_STATE_CONSISTENT_OUT_EDGES))
+       if (irg_has_properties(irg, IR_GRAPH_PROPERTY_CONSISTENT_OUT_EDGES))
                fprintf(F, " consistent_out_edges");
-       if (is_irg_state(irg, IR_GRAPH_STATE_CONSISTENT_OUTS))
+       if (irg_has_properties(irg, IR_GRAPH_PROPERTY_CONSISTENT_OUTS))
                fprintf(F, " consistent_outs");
-       if (is_irg_state(irg, IR_GRAPH_STATE_CONSISTENT_LOOPINFO))
+       if (irg_has_properties(irg, IR_GRAPH_PROPERTY_CONSISTENT_LOOPINFO))
                fprintf(F, " consistent_loopinfo");
-       if (is_irg_state(irg, IR_GRAPH_STATE_CONSISTENT_ENTITY_USAGE))
+       if (irg_has_properties(irg, IR_GRAPH_PROPERTY_CONSISTENT_ENTITY_USAGE))
                fprintf(F, " consistent_entity_usage");
        fprintf(F, "\"\n");
 }
@@ -1636,7 +1607,6 @@ static void dump_type_info(type_or_ent tore, void *env)
        switch (get_kind(tore.ent)) {
        case k_entity: {
                ir_entity *ent = tore.ent;
-               ir_node *value;
                /* The node */
                dump_entity_node(F, ent);
                /* The Edges */
@@ -1653,21 +1623,6 @@ static void dump_type_info(type_or_ent tore, void *env)
                        if (ent->initializer != NULL) {
                                /* new style initializers */
                                dump_entity_initializer(F, ent);
-                       } else if (entity_has_compound_ent_values(ent)) {
-                               /* old style compound entity values */
-                               for (i = get_compound_ent_n_values(ent); i > 0;) {
-                                       value = get_compound_ent_value(ent, --i);
-                                       if (value) {
-                                               print_ent_node_edge(F, ent, value, ENT_VALUE_EDGE_ATTR, i);
-                                               dump_const_expression(F, value);
-                                               print_ent_ent_edge(F, ent, get_compound_ent_value_member(ent, i), 0, ird_color_none, ENT_CORR_EDGE_ATTR, i);
-                                               /*
-                                               fprintf(F, "edge: { sourcename: \"%p\" targetname: \"%p\" "
-                                               ENT_CORR_EDGE_ATTR  "}\n", GET_ENTID(ent),
-                                               get_compound_ent_value_member(ent, i), i);
-                                               */
-                                       }
-                               }
                        }
                }
                break;
@@ -2034,7 +1989,7 @@ void dump_ir_graph_file(FILE *out, ir_graph *irg)
 
        /* dump the out edges in a separate walk */
        if ((flags & ir_dump_flag_out_edges)
-                       && (is_irg_state(irg, IR_GRAPH_STATE_CONSISTENT_OUTS))) {
+                       && (irg_has_properties(irg, IR_GRAPH_PROPERTY_CONSISTENT_OUTS))) {
                irg_out_walk(get_irg_start(irg), dump_out_edge, NULL, out);
        }
 
@@ -2090,7 +2045,7 @@ static void dump_block_to_cfg(ir_node *block, void *env)
 
                /* Dump dominator/postdominator edge */
                if (ir_get_dump_flags() & ir_dump_flag_dominance) {
-                       if (is_irg_state(get_irn_irg(block), IR_GRAPH_STATE_CONSISTENT_DOMINANCE) && get_Block_idom(block)) {
+                       if (irg_has_properties(get_irn_irg(block), IR_GRAPH_PROPERTY_CONSISTENT_DOMINANCE) && get_Block_idom(block)) {
                                ir_node *pred = get_Block_idom(block);
                                fprintf(F, "edge: { sourcename: ");
                                print_nodeid(F, block);
@@ -2098,7 +2053,7 @@ static void dump_block_to_cfg(ir_node *block, void *env)
                                print_nodeid(F, pred);
                                fprintf(F, " " DOMINATOR_EDGE_ATTR "}\n");
                        }
-                       if (is_irg_state(get_irn_irg(block), IR_GRAPH_STATE_CONSISTENT_POSTDOMINANCE) && get_Block_ipostdom(block)) {
+                       if (irg_has_properties(get_irn_irg(block), IR_GRAPH_PROPERTY_CONSISTENT_POSTDOMINANCE) && get_Block_ipostdom(block)) {
                                ir_node *pred = get_Block_ipostdom(block);
                                fprintf(F, "edge: { sourcename: ");
                                print_nodeid(F, block);
@@ -2324,7 +2279,6 @@ void dump_loop(FILE *F, ir_loop *l)
 {
        pset *loopnodes = pset_new_ptr_default();
        pset *extnodes  = pset_new_ptr_default();
-       ir_node *n, *b;
        char name[50];
 
        snprintf(name, sizeof(name), "loop_%ld", get_loop_loop_nr(l));
@@ -2335,28 +2289,28 @@ void dump_loop(FILE *F, ir_loop *l)
        collect_nodeloop_external_nodes(l, loopnodes, extnodes);
 
        /* build block lists */
-       foreach_pset(loopnodes, ir_node*, n) {
+       foreach_pset(loopnodes, ir_node, n) {
                set_irn_link(n, NULL);
        }
-       foreach_pset(extnodes, ir_node*, n) {
+       foreach_pset(extnodes, ir_node, n) {
                set_irn_link(n, NULL);
        }
-       foreach_pset(loopnodes, ir_node*, n) {
+       foreach_pset(loopnodes, ir_node, n) {
                if (!is_Block(n)) {
-                       b = get_nodes_block(n);
+                       ir_node *const b = get_nodes_block(n);
                        set_irn_link(n, get_irn_link(b));
                        set_irn_link(b, n);
                }
        }
-       foreach_pset(extnodes, ir_node*, n) {
+       foreach_pset(extnodes, ir_node, n) {
                if (!is_Block(n)) {
-                       b = get_nodes_block(n);
+                       ir_node *const b = get_nodes_block(n);
                        set_irn_link(n, get_irn_link(b));
                        set_irn_link(b, n);
                }
        }
 
-       foreach_pset(loopnodes, ir_node*, b) {
+       foreach_pset(loopnodes, ir_node, b) {
                if (is_Block(b)) {
                        fprintf(F, "graph: { title: ");
                        print_nodeid(F, b);
@@ -2369,7 +2323,7 @@ void dump_loop(FILE *F, ir_loop *l)
                        dump_ir_data_edges(F, b);
 
                        /* dump the nodes that go into the block */
-                       for (n = (ir_node*)get_irn_link(b); n; n = (ir_node*)get_irn_link(n)) {
+                       for (ir_node *n = (ir_node*)get_irn_link(b); n; n = (ir_node*)get_irn_link(n)) {
                                if (pset_find_ptr(extnodes, n))
                                        overrule_nodecolor = ird_color_block_inout;
                                dump_node(F, n);
@@ -2383,7 +2337,7 @@ void dump_loop(FILE *F, ir_loop *l)
                        fprintf(F, "\n");
                }
        }
-       foreach_pset(extnodes, ir_node*, b) {
+       foreach_pset(extnodes, ir_node, b) {
                if (is_Block(b)) {
                        fprintf(F, "graph: { title: ");
                        print_nodeid(F, b);
@@ -2393,7 +2347,7 @@ void dump_loop(FILE *F, ir_loop *l)
                        fprintf(F, "\" status:clustered color:lightblue\n");
 
                        /* dump the nodes that go into the block */
-                       for (n = (ir_node*)get_irn_link(b); n; n = (ir_node*)get_irn_link(n)) {
+                       for (ir_node *n = (ir_node*)get_irn_link(b); n; n = (ir_node*)get_irn_link(n)) {
                                if (!pset_find_ptr(loopnodes, n))
                                        overrule_nodecolor = ird_color_block_inout;
                                dump_node(F, n);