X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=ir%2Fir%2Firdumptxt.c;h=15eae46dfd46c4f3d4af5631beb4aa6de45de678;hb=f9d25133f86594ca2b1f33fb0b41a591ecc9b914;hp=559fceed8f162f9985a690d377e007b3018b3f09;hpb=d6c483eaefc4d764bab68dac3bbbd0108460b732;p=libfirm diff --git a/ir/ir/irdumptxt.c b/ir/ir/irdumptxt.c index 559fceed8..15eae46df 100644 --- a/ir/ir/irdumptxt.c +++ b/ir/ir/irdumptxt.c @@ -83,6 +83,7 @@ static FILE *text_open (const char *basename, const char * suffix1, const char * return F; } +/* Write the irnode and all its attributes to the file passed. */ int dump_irnode_to_file(FILE *F, ir_node *n) { int i, bad = 0; char comma; @@ -542,6 +543,7 @@ void dump_entity_to_file_prefix (FILE *F, entity *ent, char *prefix, unsigned if (is_Method_type(get_entity_type(ent))) { unsigned mask = get_entity_additional_properties(ent); + unsigned cc = get_entity_calling_convention(ent); if (mask) { fprintf(F, "\n%s additional prop: ", prefix); @@ -552,6 +554,17 @@ void dump_entity_to_file_prefix (FILE *F, entity *ent, char *prefix, unsigned if (mask & irg_nothrow_function) fprintf(F, "nothrow_function, "); if (mask & irg_naked_function) fprintf(F, "naked_function, "); } + fprintf(F, "\n%s calling convention: ", prefix); + if (cc & irg_cc_reg_param) fprintf(F, "regparam, "); + if (cc & irg_cc_this_call) fprintf(F, "thiscall, "); + if ((cc & (irg_cc_last_on_top|irg_cc_callee_clear_stk)) == 0) + fprintf(F, "cdecl"); + else if ((cc & (irg_cc_last_on_top|irg_cc_callee_clear_stk)) == (irg_cc_last_on_top|irg_cc_callee_clear_stk)) + fprintf(F, "stdcall"); + else { + fprintf(F, (cc & irg_cc_last_on_top) ? "last param on top, " : "first param on top, "); + fprintf(F, (cc & irg_cc_callee_clear_stk) ? "callee clear stack" : "caller clear stack"); + } } fprintf(F, "\n");