if (opt_dump_analysed_type_info) {
if (get_irg_typeinfo_state(current_ir_graph) == irg_typeinfo_consistent ||
get_irg_typeinfo_state(current_ir_graph) == irg_typeinfo_inconsistent) {
- type *tp = get_irn_type(n);
+ type *tp = get_irn_typeinfo_type(n);
if (tp != none_type)
fprintf(F, " [%s]", get_type_name_ex(tp, &bad));
else
case iro_Call: {
type *tp = get_Call_type(n);
fprintf(F, "calling 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));
- 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(get_unknown_type() != tp) {
+ 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));
+ 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 (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)) {
- fprintf(F, " %d external method\n", i);
- } else {
- fprintf(F, " %d: %s\n", i, get_ent_dump_name(get_Call_callee(n, i)));
- }
+ if (!get_Call_callee(n, i)) {
+ fprintf(F, " %d external method\n", i);
+ } else {
+ fprintf(F, " %d: %s\n", i, get_ent_dump_name(get_Call_callee(n, i)));
+ }
}
}
} break;
fprintf(F, "kind size\n");
break;
}
+ fprintf(F, "SymConst of type %s \n", get_type_name_ex(get_SymConst_value_type(n), &bad));
} break;
case iro_Filter: {
int i;
if (get_irg_typeinfo_state(get_irn_irg(n)) == irg_typeinfo_consistent ||
get_irg_typeinfo_state(get_irn_irg(n)) == irg_typeinfo_inconsistent )
- if (get_irn_type(n) != none_type)
- fprintf (F, "\nAnalysed type: %s", get_type_name_ex(get_irn_type(n), &bad));
+ if (get_irn_typeinfo_type(n) != none_type)
+ fprintf (F, "\nAnalysed type: %s", get_type_name_ex(get_irn_typeinfo_type(n), &bad));
fprintf (F, "\"");
bad |= dump_node_nodeattr(F, n);
fprintf (F, " %ld", get_irn_node_nr(n));
if (is_Block(n)) fprintf (F, "\t ->%d", (int)get_irn_link(n));
+ if (has_backedges(n)) fprintf(F, "\t loop head!");
} else { /* for callgraph loop tree */
assert(get_kind(son) == k_ir_graph);
/* We are a loop node -> Collect firm graphs */