X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fstat%2Fpattern.c;h=08898b8384197b7edabc3daf282da0e7c56cfd1b;hb=f6aeac6a547a52beb3cb663c5e63c05c9c3728ea;hp=a81145d759e8d6e598a4643560233998334dae91;hpb=863d31d7a5c8210432fef88b30fc3e8353131538;p=libfirm diff --git a/ir/stat/pattern.c b/ir/stat/pattern.c index a81145d75..08898b838 100644 --- a/ir/stat/pattern.c +++ b/ir/stat/pattern.c @@ -1,7 +1,28 @@ /* - * pattern history + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. + * + * This file is part of libFirm. + * + * This file may be distributed and/or modified under the terms of the + * GNU General Public License version 2 as published by the Free Software + * Foundation and appearing in the file LICENSE.GPL included in the + * packaging of this file. + * + * Licensees holding valid libFirm Professional Edition licenses may use + * this file in accordance with the libFirm Commercial License. + * Agreement provided with the Software. + * + * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE + * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. */ +/** + * @file + * @brief Statistics for Firm. Pattern history. + * @author Michael Beck + * @version $Id$ + */ #ifdef HAVE_CONFIG_H # include "config.h" #endif @@ -20,6 +41,8 @@ #include "pattern_dmp.h" #include "hashptr.h" +#ifdef FIRM_STATISTICS + /* * just be make some things clear :-), the * poor man "generics" @@ -354,6 +377,7 @@ typedef struct _addr_entry_t { static int addr_cmp(const void *p1, const void *p2, size_t size) { const addr_entry_t *e1 = p1; const addr_entry_t *e2 = p2; + (void) size; return e1->addr != e2->addr; } /* addr_cmp */ @@ -396,8 +420,7 @@ static int _encode_node(ir_node *node, int max_depth, codec_env_t *env) { ir_mode *mode = get_irn_mode(node); if (mode) - /* FIXME: not 64bit save */ - put_code(env->buf, (unsigned)mode); + put_code(env->buf, stat_find_mode_index(mode)); else put_tag(env->buf, VLC_TAG_EMPTY); } /* if */ @@ -678,7 +701,7 @@ static void calc_nodes_pattern(ir_node *node, void *ctx) { depth = encode_node(node, &buf, env->max_depth); if (buf_overrun(&buf)) { - fprintf(stderr, "Pattern store: buffer overrun at size %d. Pattern ignored.\n", sizeof(buffer)); + fprintf(stderr, "Pattern store: buffer overrun at size %u. Pattern ignored.\n", (unsigned) sizeof(buffer)); } else count_pattern(&buf, depth); } /* calc_nodes_pattern */ @@ -779,7 +802,7 @@ static void pattern_output(const char *fname) { /* creates a dumper */ dump = new_vcg_dumper(fname, 100); - pattern_arr = xmalloc(sizeof(*pattern_arr) * count); + pattern_arr = XMALLOCN(pattern_entry_t*, count); for (i = 0, entry = pset_first(status->pattern_hash); entry && i < count; entry = pset_next(status->pattern_hash), ++i) { @@ -811,7 +834,7 @@ static void pattern_output(const char *fname) { */ void stat_calc_pattern_history(ir_graph *irg) { pattern_env_t env; - int i; + unsigned i; if (! status->enable) return; @@ -855,6 +878,7 @@ void stat_init_pattern_history(int enable) { * Finish the pattern history. */ void stat_finish_pattern_history(const char *fname) { + (void) fname; if (! status->enable) return; @@ -866,3 +890,5 @@ void stat_finish_pattern_history(const char *fname) { status->enable = 0; } /* stat_finish_pattern_history */ + +#endif /* FIRM_STATISTICS */