Typo fixed.
[libfirm] / ir / ir / irdump.c
index dd4f1aa..825a923 100644 (file)
@@ -221,7 +221,10 @@ dump_node_nodeattr (ir_node *n)
     break;
   case iro_Sel: {
     assert(get_kind(get_Sel_entity(n)) == k_entity);
-    fprintf (F, "%s", id_to_str(get_entity_ident(get_Sel_entity(n))));
+    fprintf (F, "%s", get_entity_name(get_Sel_entity(n)));
+    } break;
+  case iro_Cast: {
+    fprintf (F, "to %s", get_type_name(get_Cast_type(n)));
     } break;
   default:
     ;
@@ -456,7 +459,7 @@ dump_ir_data_edges(ir_node *n)  {
     if ((interprocedural_view && get_irn_visited(pred) < visited))
       continue; /* pred not dumped */
     if (is_backedge(n, i))
-      fprintf (F, "backedge: {sourcename: ");
+      fprintf (F, "backedge: {sourcename: \"");
     else
       fprintf (F, "edge: {sourcename: \"");
     PRINT_NODEID(n);
@@ -539,21 +542,24 @@ static void dump_node2type_edges (ir_node *n, void *env)
   case iro_SymConst:
     if (   (get_SymConst_kind(n) == type_tag)
           || (get_SymConst_kind(n) == size))
-    {
-           PRINT_NODE_TYPE_EDGE(n,get_SymConst_type(n),NODE2TYPE_EDGE_ATTR);
-    }
+      {
+       PRINT_NODE_TYPE_EDGE(n,get_SymConst_type(n),NODE2TYPE_EDGE_ATTR);
+      }
     break;
   case iro_Sel: {
-           PRINT_NODE_ENT_EDGE(n,get_Sel_entity(n),NODE2TYPE_EDGE_ATTR);
+      PRINT_NODE_ENT_EDGE(n,get_Sel_entity(n),NODE2TYPE_EDGE_ATTR);
     } break;
   case iro_Call: {
-           PRINT_NODE_TYPE_EDGE(n,get_Call_type(n),NODE2TYPE_EDGE_ATTR);
+      PRINT_NODE_TYPE_EDGE(n,get_Call_type(n),NODE2TYPE_EDGE_ATTR);
     } break;
   case iro_Alloc: {
-           PRINT_NODE_TYPE_EDGE(n,get_Alloc_type(n),NODE2TYPE_EDGE_ATTR);
+      PRINT_NODE_TYPE_EDGE(n,get_Alloc_type(n),NODE2TYPE_EDGE_ATTR);
     } break;
   case iro_Free: {
-           PRINT_NODE_TYPE_EDGE(n,get_Free_type(n),NODE2TYPE_EDGE_ATTR);
+      PRINT_NODE_TYPE_EDGE(n,get_Free_type(n),NODE2TYPE_EDGE_ATTR);
+    } break;
+  case iro_Cast: {
+      PRINT_NODE_TYPE_EDGE(n,get_Cast_type(n),NODE2TYPE_EDGE_ATTR);
     } break;
   default:
     break;
@@ -561,7 +567,6 @@ static void dump_node2type_edges (ir_node *n, void *env)
 }
 
 
-/* @@@@ Does not work as someone kills the visited flag. */
 static void dump_const_expression(ir_node *value) {
   ir_graph *rem = current_ir_graph;
   int rem_dump_const_local = dump_const_local;
@@ -781,6 +786,15 @@ dump_type_info (type_or_ent *tore, void *env) {
        {
                  PRINT_TYPE_TYPE_EDGE(tp,get_array_element_type(tp),ARR_ELT_TYPE_EDGE_ATTR);
                  PRINT_TYPE_ENT_EDGE(tp,get_array_element_entity(tp),ARR_ENT_EDGE_ATTR);
+                 for (i = 0; i < get_array_n_dimensions(tp); i++) {
+                   ir_node *upper = get_array_upper_bound(tp, i);
+                   ir_node *lower = get_array_lower_bound(tp, i);
+                   PRINT_NODE_TYPE_EDGE(upper, tp, "label: \"upper %d\"", get_array_order(tp, i));
+                   PRINT_NODE_TYPE_EDGE(lower, tp, "label: \"lower %d\"", get_array_order(tp, i));
+                   dump_const_expression(upper);
+                   dump_const_expression(lower);
+                 }
+
        } break;
       case tpo_enumeration:
        {