Remove enum tarval_classification_t.
[libfirm] / ir / ir / irdump.c
index 4dd1df5..9b1904a 100644 (file)
@@ -100,6 +100,7 @@ static int dump_out_edge_flag = 0;
 static int dump_loop_information_flag = 0;
 static int dump_backedge_information_flag = 1;
 static int dump_const_local = 0;
+static int dump_node_idx_labels = 0;
 /** An option to dump all graph anchors */
 static int dump_anchors = 0;
 
@@ -191,6 +192,10 @@ void dump_consts_local(int flag) {
        dump_const_local = flag;
 }
 
+void dump_node_idx_label(int flag) {
+       dump_node_idx_labels = flag;
+}
+
 void dump_constant_entity_values(int flag) {
        const_entities = flag;
 }
@@ -537,22 +542,7 @@ static int node_floats(ir_node *n) {
  */
 static void ird_walk_graph(ir_graph *irg, irg_walk_func *pre, irg_walk_func *post, void *env) {
        if (dump_anchors) {
-               int i;
-
-               if (pre)
-                       pre(irg->anchor, env);
-
-               for (i = get_irg_n_anchors(irg) - 1; i >= 0; --i) {
-                       ir_node *n = get_irg_anchor(irg, i);
-
-                       if (n) {
-                               /* reset the visit flag: will be increase in the walker */
-                               set_irg_visited(irg, get_irg_visited(irg) - 1);
-                               irg_walk(n, pre, post, env);
-                       }
-               }
-               if (post)
-                       post(irg->anchor, env);
+               irg_walk_anchors(irg, pre, post, env);
        } else {
                irg_walk_graph(irg, pre, post, env);
        }
@@ -722,6 +712,9 @@ int dump_node_opcode(FILE *F, ir_node *n)
                case symconst_enum_const:
                        fprintf(F, "SymC %s enum", get_enumeration_name(get_SymConst_enum(n)));
                        break;
+               case symconst_label:
+                       fprintf(F, "SymC %lu label", get_SymConst_label(n));
+                       break;
                }
        } break;
 
@@ -764,8 +757,15 @@ int dump_node_opcode(FILE *F, ir_node *n)
                break;
        }
        case iro_Load:
+               if (get_Load_align(n) == align_non_aligned)
+                       fprintf(F, "ua");
                fprintf(F, "%s[%s]", get_irn_opname(n), get_mode_name_ex(get_Load_mode(n), &bad));
                break;
+       case iro_Store:
+               if (get_Store_align(n) == align_non_aligned)
+                       fprintf(F, "ua");
+               fprintf(F, "%s", get_irn_opname(n));
+               break;
        case iro_Block:
                fprintf(F, "%s%s", is_Block_dead(n) ? "Dead " : "", get_irn_opname(n));
                break;
@@ -774,6 +774,15 @@ int dump_node_opcode(FILE *F, ir_node *n)
                        fprintf(F, "strict");
                fprintf(F, "%s", get_irn_opname(n));
                break;
+       case iro_Div:
+               fprintf(F, "%s[%s]", get_irn_opname(n), get_mode_name_ex(get_Div_resmode(n), &bad));
+               break;
+       case iro_Mod:
+               fprintf(F, "%s[%s]", get_irn_opname(n), get_mode_name_ex(get_Mod_resmode(n), &bad));
+               break;
+       case iro_DivMod:
+               fprintf(F, "%s[%s]", get_irn_opname(n), get_mode_name_ex(get_DivMod_resmode(n), &bad));
+               break;
 
        default:
 default_case:
@@ -1126,7 +1135,11 @@ int dump_node_label(FILE *F, ir_node *n) {
        fprintf(F, " ");
        bad |= dump_node_typeinfo(F, n);
        bad |= dump_node_nodeattr(F, n);
-       fprintf(F, "%ld:%d", get_irn_node_nr(n), get_irn_idx(n));
+       if(dump_node_idx_labels) {
+               fprintf(F, "%ld:%d", get_irn_node_nr(n), get_irn_idx(n));
+       } else {
+               fprintf(F, "%ld", get_irn_node_nr(n));
+       }
 
        return bad;
 }