X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fstat%2Fstat_dmp.c;h=560f66e6d764af31d95b4627ee5a91c00a623ae0;hb=7dc49aa9500a289e802d4a23cc25bf6228ad911b;hp=5b72eb3657e241a72fb547d3a7e975239f1084ea;hpb=0fbcef83aa6060534172bb13e71cdadb04428806;p=libfirm diff --git a/ir/stat/stat_dmp.c b/ir/stat/stat_dmp.c index 5b72eb365..560f66e6d 100644 --- a/ir/stat/stat_dmp.c +++ b/ir/stat/stat_dmp.c @@ -61,6 +61,7 @@ static const struct { { HOOK_OPT_CONFIRM_C, "Confirm-based optimization: replaced by const" }, { HOOK_OPT_CONFIRM_E, "Confirm-based optimization: evaluated" }, { HOOK_OPT_EXC_REM, "a exception edge was removed due to a Confirmation prove" }, + { HOOK_OPT_NORMALIZE, "a commutative node was normalized" }, { HOOK_LOWERED, "Lowered" }, { HOOK_BACKEND, "Backend transformation" }, { FS_OPT_NEUTRAL_0, "algebraic simplification: a op 0 = 0 op a = a" }, @@ -98,6 +99,8 @@ static const struct { { FS_OPT_CONV, "algebraic simplification: Conv could be removed" }, { FS_OPT_CAST, "algebraic simplification: a Cast could be removed" }, { FS_OPT_MIN_MAX_EQ, "algebraic simplification: Min(a,a) = Max(a,a) = a" }, + { FS_OPT_MUX_COMBINE, "boolean simplification: two Mux nodes where combined into one" }, + { FS_OPT_MUX_CONV, "boolean simplification: MuxI(sel, 1, 0) = (I)sel" }, { FS_OPT_MUX_BOOL, "boolean simplification: Muxb(sel, true, false) = sel" }, { FS_OPT_MUX_NOT_BOOL, "boolean simplification: Muxb(sel, false, true) = Not(sel)" }, { FS_OPT_MUX_OR_BOOL, "boolean simplification: Muxb(sel, true, x) = Or(sel, x)" }, @@ -137,6 +140,7 @@ static const struct { { FS_OPT_COMBO_CF, "Combo: removed conditional control flow" }, { FS_OPT_COMBO_FOLLOWER, "Combo: removed a follower" }, { FS_OPT_COMBO_CONGRUENT,"Combo: replaced by congruent" }, + { FS_OPT_JUMPTHREADING, "Jump threading: removed conditional control flow" }, { FS_OPT_RTS_ABS, "RTS optimization: call to abs() replaced" }, { FS_OPT_RTS_ALLOCA, "RTS optimization: call to alloca() replaced" }, { FS_OPT_RTS_SQRT, "RTS optimization: call to sqrt() replaced" }, @@ -156,9 +160,13 @@ static const struct { { FS_OPT_RTS_SYMMETRIC, "RTS optimization: call to symmetric function f(-x) replaced by f(x)" }, { FS_OPT_RTS_STRCMP, "RTS optimization: call to strcmp() replaced" }, { FS_OPT_RTS_STRNCMP, "RTS optimization: call to strncmp() replaced" }, + { FS_OPT_RTS_STRCPY, "RTS optimization: call to strcpy() replaced" }, + { FS_OPT_RTS_STRLEN, "RTS optimization: call to strlen() replaced" }, { FS_OPT_RTS_MEMCPY, "RTS optimization: call to memcpy() replaced" }, + { FS_OPT_RTS_MEMPCPY, "RTS optimization: call to mempcpy() replaced" }, + { FS_OPT_RTS_MEMMOVE, "RTS optimization: call to memmove() replaced" }, { FS_OPT_RTS_MEMSET, "RTS optimization: call to memset() replaced" }, - { FS_OPT_RTS_STRLEN, "RTS optimization: call to strlen() replaced" }, + { FS_OPT_RTS_MEMCMP, "RTS optimization: call to memcmp() replaced" }, { FS_BE_IA32_LEA, "ia32 Backend transformation: Lea was created" }, { FS_BE_IA32_LOAD_LEA, "ia32 Backend transformation: Load merged with a Lea" }, { FS_BE_IA32_STORE_LEA, "ia32 Backend transformation: Store merged with a Lea" }, @@ -190,29 +198,34 @@ static void simple_dump_opcode_hash(dumper_t *dmp, pset *set) counter_t f_alive; counter_t f_new_node; counter_t f_Id; + counter_t f_normlized; cnt_clr(&f_alive); cnt_clr(&f_new_node); cnt_clr(&f_Id); + cnt_clr(&f_normlized); - fprintf(dmp->f, "%-16s %-8s %-8s %-8s\n", "Opcode", "alive", "created", "->Id"); + fprintf(dmp->f, "%-16s %-8s %-8s %-8s %-8s\n", "Opcode", "alive", "created", "->Id", "normalized"); foreach_pset(set, entry) { - fprintf(dmp->f, "%-16s %8u %8u %8u\n", + fprintf(dmp->f, "%-16s %8u %8u %8u %8u\n", get_id_str(entry->op->name), cnt_to_uint(&entry->cnt_alive), cnt_to_uint(&entry->new_node), - cnt_to_uint(&entry->into_Id) + cnt_to_uint(&entry->into_Id), + cnt_to_uint(&entry->normalized) ); - cnt_add(&f_alive, &entry->cnt_alive); - cnt_add(&f_new_node, &entry->new_node); - cnt_add(&f_Id, &entry->into_Id); + cnt_add(&f_alive, &entry->cnt_alive); + cnt_add(&f_new_node, &entry->new_node); + cnt_add(&f_Id, &entry->into_Id); + cnt_add(&f_normlized, &entry->normalized); } /* foreach_pset */ fprintf(dmp->f, "-------------------------------------------\n"); - fprintf(dmp->f, "%-16s %8u %8u %8u\n", "Sum", + fprintf(dmp->f, "%-16s %8u %8u %8u %8u\n", "Sum", cnt_to_uint(&f_alive), cnt_to_uint(&f_new_node), - cnt_to_uint(&f_Id) + cnt_to_uint(&f_Id), + cnt_to_uint(&f_normlized) ); } /* simple_dump_opcode_hash */