Treat conversions between the same size as downconv to get rid of unnecessary convers...
[libfirm] / ir / stat / pattern.c
index 00ab38f..cf86360 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1995-2007 University of Karlsruhe.  All right reserved.
+ * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
  *
  * This file is part of libFirm.
  *
@@ -41,6 +41,8 @@
 #include "pattern_dmp.h"
 #include "hashptr.h"
 
+#ifdef FIRM_STATISTICS
+
 /*
  * just be make some things clear :-), the
  * poor man "generics"
@@ -418,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 */
@@ -700,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 */
@@ -889,3 +890,5 @@ void stat_finish_pattern_history(const char *fname) {
 
        status->enable = 0;
 }  /* stat_finish_pattern_history */
+
+#endif /* FIRM_STATISTICS */