* - Register-constrained nodes
* - Two-address code instructions
*/
-
#ifndef _BECOPYOPT_H
#define _BECOPYOPT_H
#include "firm_types.h"
#include "bechordal.h"
-#ifdef WITH_LIBCORE
-#include <libcore/lc_opts.h>
-extern void co_register_options(lc_opt_entry_t *grp);
-#endif
-
/**
* Flags for dumping the IFG.
*/
/** The driver for copy minimization. */
void co_driver(be_chordal_env_t *cenv);
-/**
- * Has to be called during the firm init phase
- */
-void be_copy_opt_init(void);
-
typedef struct _copy_opt_t copy_opt_t;
typedef int(*cost_fct_t)(const copy_opt_t *, ir_node*, ir_node*, int);
* Statistics over a copy optimization module.
*/
typedef struct {
- unsigned long long int aff_edges; /**< number of affinity edges. */
- unsigned long long int aff_nodes; /**< number of nodes with incident affinity edges. */
- unsigned long long int aff_int; /**< number of affinity edges whose nodes also interfere. */
- unsigned long long int inevit_costs; /**< costs which cannot be evited (due to interfering affinities). */
- unsigned long long int max_costs; /**< all costs of the affinities. */
- unsigned long long int costs; /**< The costs of the current coloring. */
- unsigned long long int unsatisfied_edges; /**< The number of unequally colored affinity edges. */
+ ulong64 aff_edges; /**< number of affinity edges. */
+ ulong64 aff_nodes; /**< number of nodes with incident affinity edges. */
+ ulong64 aff_int; /**< number of affinity edges whose nodes also interfere. */
+ ulong64 inevit_costs; /**< costs which cannot be evited (due to interfering affinities). */
+ ulong64 max_costs; /**< all costs of the affinities. */
+ ulong64 costs; /**< The costs of the current coloring. */
+ ulong64 unsatisfied_edges; /**< The number of unequally colored affinity edges. */
} co_complete_stats_t;
/**