- reenabled callgraph
[libfirm] / ir / stat / firmstat_t.h
index a96c3e9..90ed024 100644 (file)
@@ -1,19 +1,31 @@
 /*
- * Project:     libFIRM
- * File name:   ir/stat/firmstat_t.h
- * Purpose:     Statistics for Firm. Internal data structures.
- * Author:      Michael Beck
- * Created:
- * CVS-ID:      $Id$
- * Copyright:   (c) 2004 Universität Karlsruhe
- * Licence:     This file protected by GPL -  GNU GENERAL PUBLIC LICENSE.
+ * Copyright (C) 1995-2007 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.
  */
-#ifndef _FIRMSTAT_T_H_
-#define _FIRMSTAT_T_H_
 
 /**
- * @file firmstat_t.h
+ * @file
+ * @brief   Statistics for Firm. Internal data structures.
+ * @author  Michael Beck
+ * @version $Id$
  */
+#ifndef FIRM_STAT_FIRMSTAT_T_H
+#define FIRM_STAT_FIRMSTAT_T_H
+
 #include "firmstat.h"
 
 #include "irop_t.h"
@@ -277,6 +289,11 @@ typedef void (*dump_const_table_FUNC)(dumper_t *dmp, const constant_info_t *tbl)
  */
 typedef void (*dump_param_tbl_FUNC)(dumper_t *dmp, const distrib_tbl_t *tbl, graph_entry_t *global);
 
+/**
+ * dumps the optimizations counter
+ */
+typedef void (*dump_opt_cnt_FUNC)(dumper_t *dumper, const counter_t *tbl, unsigned len);
+
 /**
  * handler for dumper init
  *
@@ -316,7 +333,9 @@ typedef struct _statistic_info_t {
        dumper_t                *dumper;             /**< list of dumper */
        int                     reassoc_run;         /**< if set, reassociation is running */
        constant_info_t         const_info;          /**< statistic info for constants */
-       distrib_tbl_t           *dist_param_cnt;     /**< distributation table for call parameters */
+       distrib_tbl_t           *dist_param_cnt;     /**< distribution table for call parameters */
+
+       counter_t               num_opts[FS_OPT_MAX];/**< count optimizations */
 } stat_info_t;
 
 /**
@@ -325,7 +344,8 @@ typedef struct _statistic_info_t {
 struct _dumper_t {
        dump_graph_FUNC         dump_graph;     /**< handler for dumping an irg */
        dump_const_table_FUNC   dump_const_tbl; /**< handler for dumping a const table */
-       dump_param_tbl_FUNC     dump_param_tbl; /**< handler for dumper the Call parameter table */
+       dump_param_tbl_FUNC     dump_param_tbl; /**< handler for dumping the Call parameter table */
+       dump_opt_cnt_FUNC       dump_opt_cnt;   /**< handler for dumping the optimization table. */
        dump_init_FUNC          init;           /**< handler for init */
        dump_finish_FUNC        finish;         /**< handler for finish */
        FILE                    *f;             /**< the file to dump to */
@@ -490,4 +510,4 @@ void stat_be_block_stat_permcycle(const char *class_name, ir_node *perm, ir_node
  */
 void stat_register_dumper_func(dump_graph_FUNC func);
 
-#endif /* _FIRMSTAT_T_H_ */
+#endif /* FIRM_STAT_FIRMSTAT_T_H */