#define DUMP_INITIAL (1 << 0)
#define DUMP_SCHED (1 << 1)
#define DUMP_PREPARED (1 << 2)
#define DUMP_INITIAL (1 << 0)
#define DUMP_SCHED (1 << 1)
#define DUMP_PREPARED (1 << 2)
/* register allocator to use. */
static const be_ra_t *ra = &be_ra_chordal_allocator;
/* back end instruction set architecture to use */
/* register allocator to use. */
static const be_ra_t *ra = &be_ra_chordal_allocator;
/* back end instruction set architecture to use */
{ "initial", DUMP_INITIAL },
{ "sched", DUMP_SCHED },
{ "prepared", DUMP_PREPARED },
{ "initial", DUMP_INITIAL },
{ "sched", DUMP_SCHED },
{ "prepared", DUMP_PREPARED },
- LC_OPT_ENT_ENUM_MASK("dump", "dump irg on several occasions", &dump_var),
- LC_OPT_ENT_ENUM_PTR("ra", "register allocator", &ra_var),
- LC_OPT_ENT_ENUM_PTR("isa", "the instruction set architecture", &isa_var),
+ LC_OPT_ENT_ENUM_MASK("dump", "dump irg on several occasions", &dump_var),
+ LC_OPT_ENT_ENUM_PTR("ra", "register allocator", &ra_var),
+ LC_OPT_ENT_ENUM_PTR("isa", "the instruction set architecture", &isa_var),
- LC_OPT_ENT_STR ("ilp.server", "the ilp server name", be_options.ilp_server, sizeof(be_options.ilp_server)),
- LC_OPT_ENT_STR ("ilp.solver", "the ilp solver name", be_options.ilp_solver, sizeof(be_options.ilp_solver)),
+ LC_OPT_ENT_STR ("ilp.server", "the ilp server name", be_options.ilp_server, sizeof(be_options.ilp_server)),
+ LC_OPT_ENT_STR ("ilp.solver", "the ilp solver name", be_options.ilp_solver, sizeof(be_options.ilp_solver)),
* This irn handler takes care of the platform independent
* spill, reload and perm nodes.
*/
* This irn handler takes care of the platform independent
* spill, reload and perm nodes.
*/
- env->node_factory = obstack_alloc(&env->obst, sizeof(*env->node_factory));
- be_node_factory_init(env->node_factory, env->arch_env->isa);
- arch_env_add_irn_handler(env->arch_env, be_node_get_irn_handler(env->node_factory));
+ arch_env_add_irn_handler(env->arch_env, &be_node_irn_handler);
DBG((env.dbg, LEVEL_2, "====> IRG: %F\n", irg));
dump(DUMP_INITIAL, irg, "-begin", dump_ir_block_graph);
DBG((env.dbg, LEVEL_2, "====> IRG: %F\n", irg));
dump(DUMP_INITIAL, irg, "-begin", dump_ir_block_graph);
/* create the code generator and generate code. */
prepare_graph(&env, irg);
/* create the code generator and generate code. */
prepare_graph(&env, irg);
arch_code_generator_done(cg);
dump(DUMP_FINAL, irg, "-end", dump_ir_block_graph_sched);
}
arch_code_generator_done(cg);
dump(DUMP_FINAL, irg, "-end", dump_ir_block_graph_sched);
}