#include "entity_t.h"
#include "trouts.h"
#include "irgwalk.h"
-#include "tv.h"
+#include "tv_t.h"
#include "irdom.h"
#include "field_temperature.h"
fname = malloc (strlen(basename)*2 + strlen(suffix1) + strlen(suffix2) + 5); /* *2: space for excapes. */
j = 0;
- for (i = 0; i < len; ++i) { /* replase '/' in the name: escape by @. */
+ for (i = 0; i < len; ++i) { /* replace '/' in the name: escape by @. */
if (basename[i] == '/') {
fname[j] = '@'; j++; fname[j] = '1'; j++;
} else if (basename[i] == '@') {
if (get_irn_pinned(n) == op_pin_state_floats &&
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(get_nodes_block(n)));
+ dump_node_opcode(F, get_irn_n(n, -1));
+ fprintf(F, " %ld\n", get_irn_node_nr(get_irn_n(n, -1)));
}
fprintf(F, " arity: %d\n", get_irn_intra_arity(n));
fprintf(F, " pred nodes: \n");
if (!is_Block(n)) {
fprintf(F, " -1: ");
- dump_node_opcode(F, get_nodes_block(n));
- fprintf(F, " %ld\n", get_irn_node_nr(get_nodes_block(n)));
+ dump_node_opcode(F, get_irn_n(n, -1));
+ fprintf(F, " %ld\n", get_irn_node_nr(get_irn_n(n, -1)));
}
for ( i = 0; i < get_irn_intra_arity(n); ++i) {
fprintf(F, " %d: %s ", i, is_intra_backedge(n, i) ? "be" : " ");
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)));
+ }
}
}
}
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,
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;
}
}
- 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");
#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));