+
+ if (is_Method_type(get_entity_type(ent))) {
+ unsigned mask = get_entity_additional_properties(ent);
+ unsigned cc = get_method_calling_convention(get_entity_type(ent));
+ ir_graph *irg = get_entity_irg(ent);
+
+ if (irg) {
+ fprintf(F, "\n%s estimated node count: %u", prefix, get_irg_estimated_node_cnt(irg));
+ fprintf(F, "\n%s maximum node index: %u", prefix, get_irg_last_idx(irg));
+ }
+
+ if (mask) {
+ fprintf(F, "\n%s additional prop: ", prefix);
+
+ if (mask & mtp_property_const) fprintf(F, "const_function, ");
+ if (mask & mtp_property_pure) fprintf(F, "pure_function, ");
+ if (mask & mtp_property_noreturn) fprintf(F, "noreturn_function, ");
+ if (mask & mtp_property_nothrow) fprintf(F, "nothrow_function, ");
+ if (mask & mtp_property_naked) fprintf(F, "naked_function, ");
+ }
+ fprintf(F, "\n%s calling convention: ", prefix);
+ if (cc & cc_reg_param) fprintf(F, "regparam, ");
+ if (cc & cc_this_call) fprintf(F, "thiscall, ");
+ if (IS_CDECL(cc))
+ fprintf(F, "cdecl");
+ else if (IS_STDCALL(cc))
+ fprintf(F, "stdcall");
+ else {
+ fprintf(F, (cc & cc_last_on_top) ? "last param on top, " : "first param on top, ");
+ fprintf(F, (cc & cc_callee_clear_stk) ? "callee clear stack" : "caller clear stack");
+ }
+ }
+