removed include
[libfirm] / ir / ir / irdump.c
index b80f9e6..7f1ccd2 100644 (file)
@@ -292,7 +292,7 @@ static int node_floats(ir_node *n) {
       (get_irg_pinned(current_ir_graph) == op_pin_state_floats));
 }
 
-static const char *get_ent_dump_name(entity *ent) {
+const char *get_ent_dump_name(entity *ent) {
   if (! ent)
     return "<NULL entity>";
   /* Don't use get_entity_ld_ident (ent) as it computes the mangled name! */
@@ -300,7 +300,7 @@ static const char *get_ent_dump_name(entity *ent) {
   return get_id_str(ent->name);
 }
 
-static const char *get_irg_dump_name(ir_graph *irg) {
+const char *get_irg_dump_name(ir_graph *irg) {
   /* Don't use get_entity_ld_ident (ent) as it computes the mangled name! */
   entity *ent = get_irg_entity(irg);
   return get_ent_dump_name(ent);
@@ -518,6 +518,9 @@ dump_node_opcode(FILE *F, ir_node *n)
     if (ent) fprintf (F, " %s", get_entity_name(ent));
     break;
   }
+  case iro_Load:
+    fprintf (F, "%s[%s]", get_irn_opname(n), get_mode_name_ex(get_Load_mode(n), &bad));
+    break;
 
 default_case:
   default: {
@@ -667,7 +670,7 @@ static INLINE int dump_node_info(FILE *F, ir_node *n)
       get_irg_pinned(get_irn_irg(n)) == op_pin_state_floats) {
     fprintf(F, "node was pinned in ");
     dump_node_opcode(F, get_nodes_block(n));
-    fprintf(F, " %ld\n", get_irn_node_nr(n));
+    fprintf(F, " %ld\n", get_irn_node_nr(get_nodes_block(n)));
   }
 
 #if 0
@@ -712,6 +715,16 @@ static INLINE int dump_node_info(FILE *F, ir_node *n)
     fprintf(F, "start of method of type %s \n", get_type_name_ex(tp, &bad));
     for (i = 0; i < get_method_n_params(tp); ++i)
       fprintf(F, "  param %d type: %s \n", i, get_type_name_ex(get_method_param_type(tp, i), &bad));
+    if ((get_irp_ip_view_state() == ip_view_valid) && !interprocedural_view) {
+      ir_node *sbl = get_nodes_block(n);
+      int i, n_cfgpreds = get_Block_cg_n_cfgpreds(sbl);
+      fprintf(F, "graph has %d interprocedural predecessors:\n", n_cfgpreds);
+      for (i = 0; i < n_cfgpreds; ++i) {
+       ir_node *cfgpred = get_Block_cg_cfgpred(sbl, i);
+       fprintf(F, "  %d: Call %ld in graph %s\n", i, get_irn_node_nr(cfgpred),
+               get_irg_dump_name(get_irn_irg(cfgpred)));
+      }
+    }
   } break;
   case iro_Alloc: {
     fprintf(F, "allocating entity of type %s \n", get_type_name_ex(get_Alloc_type(n), &bad));
@@ -738,7 +751,7 @@ static INLINE int dump_node_info(FILE *F, ir_node *n)
       fprintf(F, "  param %d type: %s \n", i, get_type_name_ex(get_method_param_type(tp, i), &bad));
     for (i = 0; i < get_method_n_ress(tp); ++i)
       fprintf(F, "  resul %d type: %s \n", i, get_type_name_ex(get_method_res_type(tp, i), &bad));
-    if (0 && Call_has_callees(n)) {
+    if (Call_has_callees(n)) {
       fprintf(F, "possible callees: \n");
       for (i = 0; i < get_Call_n_callees(n); i++) {
        if (!get_Call_callee(n, i)) {
@@ -782,6 +795,7 @@ static INLINE int dump_node_info(FILE *F, ir_node *n)
       break;
     case symconst_addr_ent:
       fprintf(F, "kind addr_ent\n");
+      dump_entity_to_file(F, get_SymConst_entity(n), dump_verbosity_onlynames);
       break;
     case symconst_type_tag:
       fprintf(F, "kind type_tag\n");
@@ -796,18 +810,25 @@ static INLINE int dump_node_info(FILE *F, ir_node *n)
     if (interprocedural_view) {
       fprintf(F, "intra predecessor nodes:\n");
       for (i = 0; i < get_irn_intra_arity(n); i++) {
-    ir_node *pred = get_irn_intra_n(n, i);
-    fprintf(F, "  %s%s %ld\n", get_irn_opname(pred), get_irn_modename(pred), get_irn_node_nr(pred));
+        ir_node *pred = get_irn_intra_n(n, i);
+        fprintf(F, "  %s%s %ld\n", get_irn_opname(pred), get_irn_modename(pred), get_irn_node_nr(pred));
       }
     } else {
       fprintf(F, "inter predecessor nodes:\n");
       for (i = 0; i < get_irn_inter_arity(n); i++) {
-    ir_node *pred = get_irn_inter_n(n, i);
-    fprintf(F, "  %s%s %ld \tin graph %s\n", get_irn_opname(pred), get_irn_modename(pred),
+        ir_node *pred = get_irn_inter_n(n, i);
+        fprintf(F, "  %s%s %ld \tin graph %s\n", get_irn_opname(pred), get_irn_modename(pred),
         get_irn_node_nr(pred), get_ent_dump_name(get_irg_entity(get_irn_irg(pred))));
       }
     }
   } break;
+  case iro_Load:
+    fprintf(F, "volatility: %s\n", get_volatility_name(get_Load_volatility(n)));
+    break;
+  case iro_Store:
+    fprintf(F, "volatility: %s\n", get_volatility_name(get_Store_volatility(n)));
+    break;
+
   default: ;
   }
 
@@ -1897,7 +1918,9 @@ dump_ir_block_graph (ir_graph *irg, const char *suffix)
   int i;
   char *suffix1;
 
-  if(strncmp(get_entity_name(get_irg_entity(irg)),dump_file_filter,strlen(dump_file_filter))!=0) return;
+  if (strncmp(get_entity_name(get_irg_entity(irg)), dump_file_filter, strlen(dump_file_filter)) != 0)
+    return;
+
   if (interprocedural_view) suffix1 = "-ip";
   else                      suffix1 = "";
   f = vcg_open(irg, suffix, suffix1);
@@ -2264,15 +2287,15 @@ dump_class_hierarchy (bool entities, const char *suffix)
 /***********************************************************************/
 
 void dump_all_ir_graphs(dump_graph_func *dmp_grph, const char *suffix) {
-  int i;
-  for (i=0; i < get_irp_n_irgs(); i++) {
+  int i, n_irgs = get_irp_n_irgs();
+  for (i = 0; i < n_irgs; ++i) {
     dmp_grph(get_irp_irg(i), suffix);
   }
 }
 
 
 /**********************************************************************************
- * Dumps a stand alone loop graph with firm nodes which belong to one loop nodes  *
+ * Dumps a stand alone loop graph with firm nodes which belong to one loop node   *
  * packed together in one subgraph/box                                            *
  **********************************************************************************/
 
@@ -2305,7 +2328,7 @@ void dump_loops_standalone(FILE *F, ir_loop *loop) {
       dump_loop_son_edge(F, loop, son_number++);
       dump_loops_standalone(F, son);
     } else if (get_kind(son) == k_ir_node) {
-        /* We are a loop node -> Collect firm nodes */
+      /* We are a loop node -> Collect firm nodes */
 
       ir_node *n = le.node;
       int bad = 0;