-/**
- * Author: Daniel Grund
- * Date: 11.04.2005
- * Copyright: (c) Universitaet Karlsruhe
- * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
+/*
+ * 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.
*/
-#ifndef _BECOPYSTAT_H
-#define _BECOPYSTAT_H
-
-#define DO_STAT
-#ifdef DO_STAT
-
-#include "irgraph.h"
-
-#define MAX_ARITY 10
-#define MAX_CLS_SIZE 10
-#define MAX_CLS_PHIS 10
-#define MAX_PHASE 2
/**
- * For an explanation of these values see the code of copystat_dump_pretty
+ * @file
+ * @brief Copy node statistics.
+ * @author Daniel Grund
+ * @date 11.04.2005
+ * @version $Id$
*/
-enum vals_t {
- I_ALL_NODES = 0,
- I_BLOCKS,
-
- /* phi nodes */
- I_PHI_CNT, /* number of phi nodes */
- I_PHI_ARG_CNT, /* number of arguments of phis */
- I_PHI_ARG_SELF, /* number of arguments of phis being the phi itself */
- I_PHI_ARG_CONST, /* number of arguments of phis being consts */
- I_PHI_ARG_PRED, /* ... being defined in a cf-pred */
- I_PHI_ARG_GLOB, /* ... being defined elsewhere */
- I_PHI_ARITY_S,
- I_PHI_ARITY_E = I_PHI_ARITY_S+MAX_ARITY,
-
- /* copy nodes */
- I_CPY_CNT, /* number of copynodes */
-
- /* phi classes */
- I_CLS_CNT, /* number of phi classes */
- I_CLS_IF_FREE, /* number of pc having no interference */
- I_CLS_IF_MAX, /* number of possible interferences in all classes */
- I_CLS_IF_CNT, /* number of actual interferences in all classes */
- I_CLS_SIZE_S,
- I_CLS_SIZE_E = I_CLS_SIZE_S+MAX_CLS_SIZE,
- I_CLS_PHIS_S,
- I_CLS_PHIS_E = I_CLS_PHIS_S+MAX_CLS_PHIS,
+#ifndef FIRM_BE_BECOPYSTAT_H
+#define FIRM_BE_BECOPYSTAT_H
+
+#include "firm_config.h"
+#include "firm_types.h"
+#include "bearch_t.h"
+#include "bechordal_t.h"
+
+void copystat_add_max_costs(int costs);
+void copystat_add_inevit_costs(int costs);
+void copystat_add_init_costs(int costs);
+void copystat_add_heur_costs(int costs);
+void copystat_add_opt_costs(int costs);
+void copystat_add_heur_time(int time);
+void copystat_dump(ir_graph *irg);
+void copystat_dump_pretty(ir_graph *irg);
- /* ilp values */
- I_ILP_TIME, /* !external set! solving time in seconds */
- I_ILP_ITER, /* !external set! number of simplex iterations */
+#ifdef WITH_ILP
- /* copy instructions */
- I_COPIES_MAX, /* max number of copies possible */
- I_COPIES_INIT, /* !external set! number of copies in initial allocation */
- I_COPIES_HEUR, /* !external set! number of copies after heuristic */
- I_COPIES_OPT, /* !external set! number of copies after ilp */
- I_COPIES_IF, /* number of copies inevitable due to root-arg-interf */
+void copystat_add_ilp_5_sec_costs(int costs);
+void copystat_add_ilp_30_sec_costs(int costs);
+void copystat_add_ilp_time(int time);
+void copystat_add_ilp_vars(int vars);
+void copystat_add_ilp_csts(int csts);
+void copystat_add_ilp_iter(int iters);
- ASIZE
-};
+#endif /* WITH_ILP */
/**
- * Holds current values. Values are added till next copystat_reset
+ * Compares different solutions of the same problem
*/
-int curr_vals[ASIZE];
-
-void copystat_init(void);
-void copystat_reset(void);
-void copystat_collect_irg(ir_graph *irg, arch_env_t *arch_env);
-void copystat_collect_cls(be_chordal_env_t *chordal_env);
-void copystat_dump(ir_graph *irg);
-void copystat_dump_pretty(ir_graph *irg);
-
-#else /* DO_STAT */
-
-#define copy_copystat_init();
-#define copystat_reset();
-#define copystat_collect_irg(irg, arch_env);
-#define copystat_collect_cls(env);
-#define copystat_dump(irg);
-#define copystat_dump(irg);
-#define copystat_dump_pretty(irg);
-
-#endif /* DO_STAT */
+void co_compare_solvers(be_chordal_env_t *chordal_env);
-#endif /* _BECOPYSTAT_H */
+#endif /* FIRM_BE_BECOPYSTAT_H */