* @file
* @brief Statistics for Firm. Dumping patterns.
* @author Michael Beck
- * @version $Id$
*/
#include "config.h"
-#ifdef FIRM_STATISTICS
-
#include <stdio.h>
#include <stdlib.h>
*/
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"
*/
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);
*/
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)
*/
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;
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 = get_irp_mode(mode_code);
+ ir_mode *mode = ir_get_mode(mode_code);
long l = attr ? *(long *)attr : 0;
if (priv->pattern_id > priv->max_pattern)
*/
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)
*/
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 */
*/
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 */
*/
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 = get_irp_mode(mode_code);
+ ir_mode *mode = ir_get_mode(mode_code);
(void) attr;
/* if (env->options & OPT_ENC_GRAPH) */
*/
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 */
*/
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;
*/
static void stdout_start_children(pattern_dumper_t *self, unsigned id)
{
- FILE *f = self->data;
+ FILE *f = (FILE*)self->data;
(void) id;
fprintf(f, "(");
*/
static void stdout_finish_children(pattern_dumper_t *self, unsigned id)
{
- FILE *f = self->data;
+ FILE *f = (FILE*)self->data;
(void) id;
fprintf(f, ")");
*/
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;
+ *res = stdout_dump;
+ 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 */
*/
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) {
return res;
} /* new_vcg_dumper */
-
-#endif /* FIRM_STATISTICS */