firmjni does not like two similar enums.
[libfirm] / ir / ir / irdumptxt.c
index 56a43a3..cdb563e 100644 (file)
@@ -31,7 +31,7 @@
 #include "entity_t.h"
 #include "trouts.h"
 #include "irgwalk.h"
-#include "tv.h"
+#include "tv_t.h"
 
 #include "irdom.h"
 #include "field_temperature.h"
@@ -473,24 +473,42 @@ void    dump_entity_to_file_prefix (FILE *F, entity *ent, char *prefix, unsigned
 
     if (is_Class_type(get_entity_owner(ent))) {
       if (get_entity_n_overwrites(ent) > 0) {
-           fprintf(F, "%s  overwrites:\n", prefix);
-           for (i = 0; i < get_entity_n_overwrites(ent); ++i) {
-             entity *ov = get_entity_overwrites(ent, i);
-             fprintf(F, "%s    %d: %s of class %s\n", prefix, i, get_entity_name(ov),
-                     get_type_name(get_entity_owner(ov)));
-           }
+       fprintf(F, "%s  overwrites:\n", prefix);
+       for (i = 0; i < get_entity_n_overwrites(ent); ++i) {
+         entity *ov = get_entity_overwrites(ent, i);
+         fprintf(F, "%s    %d: %s of class %s\n", prefix, i, get_entity_name(ov),
+                 get_type_name(get_entity_owner(ov)));
+       }
       } else {
-           fprintf(F, "%s  Does not overwrite other entities. \n", prefix);
+       fprintf(F, "%s  Does not overwrite other entities. \n", prefix);
       }
       if (get_entity_n_overwrittenby(ent) > 0) {
-           fprintf(F, "%s  overwritten by:\n", prefix);
-           for (i = 0; i < get_entity_n_overwrittenby(ent); ++i) {
-             entity *ov = get_entity_overwrittenby(ent, i);
-             fprintf(F, "%s    %d: %s of class %s\n", prefix, i, get_entity_name(ov),
-                     get_type_name(get_entity_owner(ov)));
+       fprintf(F, "%s  overwritten by:\n", prefix);
+       for (i = 0; i < get_entity_n_overwrittenby(ent); ++i) {
+         entity *ov = get_entity_overwrittenby(ent, i);
+         fprintf(F, "%s    %d: %s of class %s\n", prefix, i, get_entity_name(ov),
+                 get_type_name(get_entity_owner(ov)));
        }
       } else {
-           fprintf(F, "%s  Is not overwritten by other entities. \n", prefix);
+       fprintf(F, "%s  Is not overwritten by other entities. \n", prefix);
+      }
+
+      if (get_irp_inh_transitive_closure_state() != inh_transitive_closure_none) {
+       entity *ov;
+       fprintf(F, "%s  transitive overwrites:\n", prefix);
+       for (ov = get_entity_trans_overwrites_first(ent);
+            ov;
+            ov = get_entity_trans_overwrites_next(ent)) {
+         fprintf(F, "%s    : %s of class %s\n", prefix, get_entity_name(ov),
+                 get_type_name(get_entity_owner(ov)));
+       }
+       fprintf(F, "%s  transitive overwritten by:\n", prefix);
+       for (ov = get_entity_trans_overwrittenby_first(ent);
+            ov;
+            ov = get_entity_trans_overwrittenby_next(ent)) {
+         fprintf(F, "%s    : %s of class %s\n", prefix, get_entity_name(ov),
+                 get_type_name(get_entity_owner(ov)));
+       }
       }
     }
 
@@ -583,7 +601,7 @@ void    dump_entity_to_file_prefix (FILE *F, entity *ent, char *prefix, unsigned
   }
 
   if (get_trouts_state()) {
-    fprintf(F, "%sEntity outs:\n", prefix);
+    fprintf(F, "%s  Entity outs:\n", prefix);
     dump_node_list(F, (firm_kind *)ent, prefix, (int(*)(firm_kind *))get_entity_n_accesses,
                   (ir_node *(*)(firm_kind *, int))get_entity_access, "Accesses");
     dump_node_list(F, (firm_kind *)ent, prefix, (int(*)(firm_kind *))get_entity_n_references,
@@ -944,7 +962,24 @@ void dump_type_to_file (FILE *F, type *tp, dump_verbosity verbosity) {
         fprintf(F, "\n    %s", get_type_name(stp));
       }
 
+      if (get_irp_inh_transitive_closure_state() != inh_transitive_closure_none) {
+       type *stp;
+       fprintf(F, "\n  transitive supertypes: ");
+       for (stp = get_class_trans_supertype_first(tp);
+            stp;
+            stp = get_class_trans_supertype_next(tp)) {
+         fprintf(F, "\n    %s", get_type_name(stp));
+       }
+       fprintf(F, "\n  transitive subtypes: ");
+       for (stp = get_class_trans_subtype_first(tp);
+            stp;
+            stp = get_class_trans_subtype_next(tp)) {
+         fprintf(F, "\n    %s", get_type_name(stp));
+       }
+      }
+
       fprintf(F, "\n  peculiarity: %s\n", get_peculiarity_string(get_class_peculiarity(tp)));
+
     }
     break;
 
@@ -1045,12 +1080,13 @@ void dump_type_to_file (FILE *F, type *tp, dump_verbosity verbosity) {
     }
   }
 
-  fprintf(F, "  state:     %s,\n", get_type_state_name(get_type_state(tp)));
-  fprintf(F, "  size:      %2d Bits,\n",  get_type_size_bits(tp));
-  fprintf(F, "  alignment: %2d Bits,\n",  get_type_alignment_bits(tp));
+  fprintf(F, "  visibility: %s,\n", get_visibility_name(get_type_visibility(tp)));
+  fprintf(F, "  state:      %s,\n", get_type_state_name(get_type_state(tp)));
+  fprintf(F, "  size:       %2d Bits,\n",  get_type_size_bits(tp));
+  fprintf(F, "  alignment:  %2d Bits,\n",  get_type_alignment_bits(tp));
   if (is_atomic_type(tp) || is_Method_type(tp))
-    fprintf(F, "  mode:      %s,\n",  get_mode_name(get_type_mode(tp)));
-  fprintf(F, "  dbg info:  %p,\n",  (void *)get_type_dbg_info(tp));
+    fprintf(F, "  mode:       %s,\n",  get_mode_name(get_type_mode(tp)));
+  fprintf(F, "  dbg info:   %p,\n",  (void *)get_type_dbg_info(tp));
 
   if (get_trouts_state()) {
     fprintf(F, "\n  Type outs:\n");
@@ -1102,7 +1138,7 @@ void dump_type_to_file (FILE *F, type *tp, dump_verbosity verbosity) {
 #endif
     if (get_trouts_state() != outs_none) {
       fprintf(F, "  Estimated #Instances: %lf\n", get_type_estimated_n_instances(tp));
-      if (is_Class_type(tp)) {
+      if (is_Class_type(tp) && (get_irp_typeinfo_state() != ir_typeinfo_none)) {
        fprintf(F, "  Estimated #dyn Calls: %lf\n", get_class_estimated_n_dyncalls(tp));
        fprintf(F, "  Estimated #Upcasts:   %lf (#CastOps: %d)\n", get_class_estimated_n_upcasts(tp), get_class_n_upcasts(tp));
        fprintf(F, "  Estimated #Downcasts: %lf (#CastOps: %d)\n", get_class_estimated_n_downcasts(tp), get_class_n_downcasts(tp));