irg_walk_graph(cg->irg, imm_scheduler, NULL, NULL);
}
+static const arch_register_t *firm_get_stack_register(void *self) {
+ return &datab_regs[0];
+}
+
static void firm_codegen_done(void *self)
{
free(self);
firm_before_ra,
NULL, /* lower spill */
NULL, /* lower reload */
+ firm_get_stack_register,
firm_codegen_done
};
return trivial_selector;
}
+static long firm_handle_call_proj(const void *self, ir_node *proj, int is_keep) {
+ return get_Proj_proj(proj);
+}
+
#ifdef WITH_LIBCORE
static void firm_register_options(lc_opt_entry_t *ent)
{
firm_get_reg_class,
firm_get_irn_handler,
firm_get_code_generator_if,
- firm_get_list_sched_selector
+ firm_get_list_sched_selector,
+ firm_handle_call_proj
};