if (arch_isa_get_irn_handler(env->arch_env->isa))
arch_env_push_irn_handler(env->arch_env, arch_isa_get_irn_handler(env->arch_env->isa));
- /*
- * Register the node handler of the back end infrastructure.
- * This irn handler takes care of the platform independent
- * spill, reload and perm nodes.
- */
+ /*
+ * Register the node handler of the back end infrastructure.
+ * This irn handler takes care of the platform independent
+ * spill, reload and perm nodes.
+ */
arch_env_push_irn_handler(env->arch_env, &be_node_irn_handler);
return env;
be_dump(irg, suffix, dumper);
}
+/**
+ * Prepare a backend graph for code generation.
+ */
static void prepare_graph(be_irg_t *birg)
{
ir_graph *irg = birg->irg;
/* check, if the dominance property is fulfilled. */
be_check_dominance(irg);
-
}
+/**
+ * The Firm backend main loop.
+ * Do architecture specific lowering for all graphs
+ * and call the architecture specific code generator.
+ */
static void be_main_loop(FILE *file_handle)
{
int i, n;
/*
* Since the code generator made a lot of new nodes and skipped
- * a lot of old ones, we should do dead node elim here.
+ * a lot of old ones, we should do dead node elimination here.
* Note that this requires disabling the edges here.
*/
edges_deactivate(irg);
void be_main(FILE *file_handle)
{
/* never build code for pseudo irgs */
- set_visit_pseudo_irgs(0);
+ set_visit_pseudo_irgs(0);
be_node_init();
be_main_loop(file_handle);