typo fixed
[libfirm] / ir / ir / irdump.c
index d3da52c..c96bdb8 100644 (file)
@@ -608,9 +608,7 @@ static void collect_node(ir_node * node, void *env) {
        (void) env;
        if (is_Block(node)
            || node_floats(node)
-           || get_irn_op(node) == op_Bad
-           || get_irn_op(node) == op_Unknown
-           || get_irn_op(node) == op_NoMem) {
+           || (get_op_flags(get_irn_op(node)) & irop_flag_dump_noblock)) {
                ir_node ** arr = (ir_node **) ird_get_irg_link(get_irn_irg(node));
                if (!arr) arr = NEW_ARR_F(ir_node *, 0);
                ARR_APP1(ir_node *, arr, node);
@@ -1445,18 +1443,26 @@ static void dump_node(FILE *F, ir_node *n)
                return;
 
        /* dump this node */
-       fprintf(F, "node: {title: \""); PRINT_NODEID(n); fprintf(F, "\" label: \"");
+       fputs("node: {title: \"", F);
+       PRINT_NODEID(n);
+       fputs("\"", F);
 
+       fputs(" label: \"", F);
        bad = ! irn_vrfy_irg_dump(n, current_ir_graph, &p);
        bad |= dump_node_label(F, n);
        dump_node_ana_vals(F, n);
        //dump_node_ana_info(F, n);
-       fprintf(F, "\" ");
+       fputs("\" ", F);
+
+       if (get_op_flags(get_irn_op(n)) & irop_flag_dump_noinput) {
+               //fputs(" node_class:23", F);
+       }
+
        bad |= dump_node_info(F, n);
        print_node_error(F, p);
        print_dbg_info(F, get_irn_dbg_info(n));
        dump_node_vcgattr(F, n, NULL, bad);
-       fprintf(F, "}\n");
+       fputs("}\n", F);
        dump_const_node_local(F, n);
 
        if(dump_node_edge_hook)
@@ -2036,15 +2042,15 @@ static void dump_enum_item(FILE *F, ir_type *tp, int pos)
 
 /* dumps a type or entity and it's edges. */
 static void
-dump_type_info(type_or_ent *tore, void *env) {
+dump_type_info(type_or_ent tore, void *env) {
        FILE *F = env;
        int i = 0;  /* to shutup gcc */
 
        /* dump this type or entity */
 
-       switch (get_kind(tore)) {
+       switch (get_kind(tore.ent)) {
        case k_entity: {
-               ir_entity *ent = (ir_entity *)tore;
+               ir_entity *ent = tore.ent;
                ir_node *value;
                /* The node */
                dump_entity_node(F, ent, 0);
@@ -2086,7 +2092,7 @@ dump_type_info(type_or_ent *tore, void *env) {
                break;
        }
        case k_type: {
-               ir_type *tp = (ir_type *)tore;
+               ir_type *tp = tore.typ;
                dump_type_node(F, tp);
                /* and now the edges */
                switch (get_type_tpop_code(tp)) {
@@ -2153,17 +2159,18 @@ typedef struct _h_env {
  * If env->dump_ent dumps entities of classes and overwrites edges.
  */
 static void
-dump_class_hierarchy_node(type_or_ent *tore, void *ctx) {
+dump_class_hierarchy_node(type_or_ent tore, void *ctx) {
        h_env_t *env = ctx;
        FILE *F = env->f;
        int i = 0;  /* to shutup gcc */
 
        /* dump this type or entity */
-       switch (get_kind(tore)) {
+       switch (get_kind(tore.ent)) {
        case k_entity: {
-               ir_entity *ent = (ir_entity *)tore;
+               ir_entity *ent = tore.ent;
                if (get_entity_owner(ent) == get_glob_type()) break;
-               if (!is_Method_type(get_entity_type(ent))) break;  /* GL */
+               if (!is_Method_type(get_entity_type(ent)))
+                       break;  /* GL */
                if (env->dump_ent && is_Class_type(get_entity_owner(ent))) {
                        /* The node */
                        dump_entity_node(F, ent, 0);
@@ -2175,8 +2182,9 @@ dump_class_hierarchy_node(type_or_ent *tore, void *ctx) {
                break;
        }
        case k_type: {
-               ir_type *tp = (ir_type *)tore;
-               if (tp == get_glob_type()) break;
+               ir_type *tp = tore.typ;
+               if (tp == get_glob_type())
+                       break;
                switch (get_type_tpop_code(tp)) {
                case tpo_class:
                        dump_type_node(F, tp);
@@ -2334,6 +2342,7 @@ void dump_vcg_header(FILE *F, const char *name, const char *layout, const char *
                "classname 20: \"Keep Alive\"\n"
                "classname 21: \"Out Edges\"\n"
                "classname 22: \"Macro Block Edges\"\n"
+               //"classname 23: \"NoInput Nodes\"\n"
                "infoname 1: \"Attribute\"\n"
                "infoname 2: \"Verification errors\"\n"
                "infoname 3: \"Debug info\"\n",