Use block walk for ssa_cons_start
[libfirm] / ir / stat / pattern_dmp.c
index f9077a3..87a0d90 100644 (file)
  * @author  Michael Beck
  * @version $Id$
  */
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#ifdef FIRM_STATISTICS
+#include "config.h"
 
 #include <stdio.h>
-#ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
+#include <stdlib.h>
 
 #include "ident.h"
 #include "irop_t.h"
@@ -54,7 +48,7 @@ typedef void (*DUMP_END_FUNC)(pattern_dumper_t *self);
 /**
  * the pattern dumper
  */
-struct _pattern_dumper_t {
+struct pattern_dumper_t {
        DUMP_NEW_PATTERN_FUNC      dump_new_pattern;
        DUMP_FINISH_PATTERN_FUNC   dump_finish_pattern;
        DUMP_NODE_FUNC             dump_node;
@@ -70,7 +64,7 @@ struct _pattern_dumper_t {
 /**
  * VCG private data
  */
-typedef struct _vcg_private_t {
+typedef struct vcg_private_t {
        FILE     *f;          /**< file to dump to */
        unsigned pattern_id;  /**< ID of the pattern */
        unsigned max_pattern; /**< maximum number of pattern to be dumped */
@@ -81,7 +75,7 @@ typedef struct _vcg_private_t {
  */
 static void vcg_dump_start(pattern_dumper_t *self)
 {
-       vcg_private_t *priv = self->data;
+       vcg_private_t *priv = (vcg_private_t*)self->data;
 
        fprintf(priv->f,
                "graph: { title: \"Most found pattern\"\n"
@@ -98,7 +92,7 @@ static void vcg_dump_start(pattern_dumper_t *self)
  */
 static void vcg_dump_end(pattern_dumper_t *self)
 {
-       vcg_private_t *priv = self->data;
+       vcg_private_t *priv = (vcg_private_t*)self->data;
 
        fprintf(priv->f, "}\n");
        fclose(priv->f);
@@ -109,7 +103,7 @@ static void vcg_dump_end(pattern_dumper_t *self)
  */
 static void vcg_dump_new_pattern(pattern_dumper_t *self, counter_t *cnt)
 {
-       vcg_private_t *priv = self->data;
+       vcg_private_t *priv = (vcg_private_t*)self->data;
        static unsigned nr = 0;
 
        if (priv->pattern_id > priv->max_pattern)
@@ -131,7 +125,7 @@ static void vcg_dump_new_pattern(pattern_dumper_t *self, counter_t *cnt)
  */
 static void vcg_dump_finish_pattern(pattern_dumper_t *self)
 {
-       vcg_private_t *priv = self->data;
+       vcg_private_t *priv = (vcg_private_t*)self->data;
 
        if (priv->pattern_id > priv->max_pattern)
                return;
@@ -152,9 +146,9 @@ static void vcg_dump_finish_pattern(pattern_dumper_t *self)
 static void vcg_dump_node(pattern_dumper_t *self, unsigned id,
     unsigned op_code, unsigned mode_code, void *attr)
 {
-       vcg_private_t *priv = self->data;
+       vcg_private_t *priv = (vcg_private_t*)self->data;
        ir_op *op           = stat_get_op_from_opcode(op_code);
-       ir_mode *mode       = stat_mode_for_index(mode_code);
+       ir_mode *mode       = get_irp_mode(mode_code);
        long l              = attr ? *(long *)attr : 0;
 
        if (priv->pattern_id > priv->max_pattern)
@@ -174,7 +168,7 @@ static void vcg_dump_node(pattern_dumper_t *self, unsigned id,
  */
 static void vcg_dump_edge(pattern_dumper_t *self, unsigned tgt, unsigned src, unsigned pos, unsigned mode_code)
 {
-       vcg_private_t *priv = self->data;
+       vcg_private_t *priv = (vcg_private_t*)self->data;
        (void) mode_code;
 
        if (priv->pattern_id > priv->max_pattern)
@@ -208,7 +202,7 @@ static pattern_dumper_t vcg_dump = {
  */
 static void stdout_dump_new_pattern(pattern_dumper_t *self, counter_t *cnt)
 {
-       FILE *f = self->data;
+       FILE *f = (FILE*)self->data;
 
        fprintf(f, "%8u ", cnt_to_uint(cnt));
 }  /* stdout_dump_new_pattern */
@@ -219,7 +213,7 @@ static void stdout_dump_new_pattern(pattern_dumper_t *self, counter_t *cnt)
  */
 static void stdout_dump_finish_pattern(pattern_dumper_t *self)
 {
-       FILE *f = self->data;
+       FILE *f = (FILE*)self->data;
 
        fprintf(f, "\n");
 }  /* stdout_dump_finish_pattern */
@@ -229,9 +223,9 @@ static void stdout_dump_finish_pattern(pattern_dumper_t *self)
  */
 static void stdout_dump_node(pattern_dumper_t *self, unsigned id, unsigned op_code, unsigned mode_code, void *attr)
 {
-       FILE *f       = self->data;
+       FILE *f       = (FILE*)self->data;
        ir_op *op     = stat_get_op_from_opcode(op_code);
-       ir_mode *mode = stat_mode_for_index(mode_code);
+       ir_mode *mode = get_irp_mode(mode_code);
        (void) attr;
 
        /* if (env->options & OPT_ENC_GRAPH) */
@@ -248,7 +242,7 @@ static void stdout_dump_node(pattern_dumper_t *self, unsigned id, unsigned op_co
  */
 static void stdout_dump_ref(pattern_dumper_t *self, unsigned id)
 {
-       FILE *f = self->data;
+       FILE *f = (FILE*)self->data;
 
        fprintf(f, "REF:%u", id);
 }  /* stdout_dump_ref */
@@ -258,7 +252,7 @@ static void stdout_dump_ref(pattern_dumper_t *self, unsigned id)
  */
 static void stdout_dump_edge(pattern_dumper_t *self, unsigned tgt, unsigned src, unsigned pos, unsigned mode_code)
 {
-       FILE *f = self->data;
+       FILE *f = (FILE*)self->data;
        (void) tgt;
        (void) src;
        (void) pos;
@@ -273,7 +267,7 @@ static void stdout_dump_edge(pattern_dumper_t *self, unsigned tgt, unsigned src,
  */
 static void stdout_start_children(pattern_dumper_t *self, unsigned id)
 {
-       FILE *f = self->data;
+       FILE *f = (FILE*)self->data;
        (void) id;
 
        fprintf(f, "(");
@@ -284,7 +278,7 @@ static void stdout_start_children(pattern_dumper_t *self, unsigned id)
  */
 static void stdout_finish_children(pattern_dumper_t *self, unsigned id)
 {
-       FILE *f = self->data;
+       FILE *f = (FILE*)self->data;
        (void) id;
 
        fprintf(f, ")");
@@ -389,15 +383,13 @@ void pattern_end(pattern_dumper_t *self)
  */
 pattern_dumper_t *new_text_dumper(void)
 {
-       pattern_dumper_t *res = malloc(sizeof(*res));
+       pattern_dumper_t *res = XMALLOC(pattern_dumper_t);
 
-       if (res) {
-               memcpy(res, &stdout_dump, sizeof(*res));
-               res->data = stdout;
+       memcpy(res, &stdout_dump, sizeof(*res));
+       res->data = stdout;
 
-               if (res->dump_start)
-                       res->dump_start(res);
-       }  /* if */
+       if (res->dump_start)
+               res->dump_start(res);
        return res;
 }  /* new_text_dumper */
 
@@ -406,7 +398,7 @@ pattern_dumper_t *new_text_dumper(void)
  */
 pattern_dumper_t *new_vcg_dumper(const char *vcg_name, unsigned max_pattern)
 {
-       pattern_dumper_t *res = malloc(sizeof(*res) + sizeof(vcg_private_t));
+       pattern_dumper_t *res = (pattern_dumper_t*)malloc(sizeof(*res) + sizeof(vcg_private_t));
        vcg_private_t *priv;
 
        if (res) {
@@ -429,5 +421,3 @@ pattern_dumper_t *new_vcg_dumper(const char *vcg_name, unsigned max_pattern)
 
        return res;
 }  /* new_vcg_dumper */
-
-#endif /* FIRM_STATISTICS */