#include "pset.h"
#include "list.h"
#include "bitset.h"
-#include "iterator.h"
#include "lc_opts.h"
#include "lc_opts_enum.h"
#include "bearch.h"
#include "beifg.h"
#include "benode.h"
-#include "bestatevent.h"
+#include "statev_t.h"
#include "bestat.h"
#include "bemodule.h"
#include "be_t.h"
static be_ra_chordal_opts_t options = {
BE_CH_DUMP_NONE,
BE_CH_LOWER_PERM_SWAP,
- BE_CH_VRFY_WARN,
- "",
- ""
+ BE_CH_VRFY_WARN
};
typedef struct post_spill_env_t {
{ "copymin", BE_CH_DUMP_COPYMIN },
{ "ssadestr", BE_CH_DUMP_SSADESTR },
{ "tree", BE_CH_DUMP_TREE_INTV },
+ { "split", BE_CH_DUMP_SPLIT },
{ "constr", BE_CH_DUMP_CONSTR },
{ "lower", BE_CH_DUMP_LOWER },
{ "spillslots", BE_CH_DUMP_SPILLSLOTS },
*/
static void memory_operand_walker(ir_node *irn, void *env)
{
- const ir_edge_t *edge, *ne;
- ir_node *block;
- ir_node *spill;
+ ir_node *block;
+ ir_node *spill;
(void)env;
spill = be_get_Reload_mem(irn);
block = get_nodes_block(irn);
- foreach_out_edge_safe(irn, edge, ne) {
+ foreach_out_edge_safe(irn, edge) {
ir_node *src = get_edge_src_irn(edge);
int pos = get_edge_src_pos(edge);
{
be_chordal_env_t *chordal_env = &pse->cenv;
ir_graph *irg = pse->irg;
- ir_exec_freq *exec_freq = be_get_irg_exec_freq(irg);
pse->cls = cls;
chordal_env->cls = cls;
chordal_env->border_heads = pmap_create();
chordal_env->allocatable_regs = bitset_malloc(chordal_env->cls->n_regs);
- be_assure_liveness(irg);
- be_liveness_assure_chk(be_get_irg_liveness(irg));
+ be_assure_live_chk(irg);
if (stat_ev_enabled) {
- pse->pre_spill_cost = be_estimate_irg_costs(irg, exec_freq);
+ pse->pre_spill_cost = be_estimate_irg_costs(irg);
}
/* put all ignore registers into the ignore register set. */
{
be_chordal_env_t *chordal_env = &pse->cenv;
ir_graph *irg = pse->irg;
- ir_exec_freq *exec_freq = be_get_irg_exec_freq(irg);
int allocatable_regs = be_get_n_allocatable_regs(irg, chordal_env->cls);
/* some special classes contain only ignore regs, no work to be done */
if (allocatable_regs > 0) {
- stat_ev_dbl("bechordal_spillcosts", be_estimate_irg_costs(irg, exec_freq) - pse->pre_spill_cost);
+ stat_ev_dbl("bechordal_spillcosts", be_estimate_irg_costs(irg) - pse->pre_spill_cost);
/*
If we have a backend provided spiller, post spill is
be_timer_push(T_RA_PROLOG);
- be_assure_liveness(irg);
-
chordal_env.obst = &obst;
chordal_env.opts = &options;
chordal_env.irg = irg;
dump(BE_CH_DUMP_LOWER, irg, NULL, "belower-after-ra");
obstack_free(&obst, NULL);
- be_liveness_invalidate(be_get_irg_liveness(irg));
+ be_invalidate_live_sets(irg);
be_timer_pop(T_RA_EPILOG);
be_timer_pop(T_RA_OTHER);
be_register_allocator("chordal", &be_ra_chordal_allocator);
lc_opt_add_table(chordal_grp, be_chordal_options);
- be_add_module_list_opt(chordal_grp, "coloring", "select coloring methode", &colorings, (void**) &selected_coloring);
+ be_add_module_list_opt(chordal_grp, "coloring", "select coloring method", &colorings, (void**) &selected_coloring);
}