From: Matthias Braun Date: Mon, 13 Aug 2007 13:31:05 +0000 (+0000) Subject: no need for 2 main functions X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=1443c53815cc0b1f97a33673113778cba74790f6;p=libfirm no need for 2 main functions [r15528] --- diff --git a/ir/be/bespillbelady2.c b/ir/be/bespillbelady2.c index d84fa5a8f..f6da9de8a 100644 --- a/ir/be/bespillbelady2.c +++ b/ir/be/bespillbelady2.c @@ -1107,7 +1107,16 @@ static void collect_blocks(ir_node *bl, void *data) obstack_ptr_grow(&env->ob, bl); } -void be_spill_belady_spill_env2(be_irg_t *birg, const arch_register_class_t *cls, spill_env_t *spill_env) { +/** + * Do spilling for a register class on a graph using the belady heuristic. + * In the transformed graph, the register pressure never exceeds the number + * of available registers. + * + * @param birg The backend graph + * @param cls The register class to spill + */ +void be_spill_belady(be_irg_t *birg, const arch_register_class_t *cls) +{ ir_graph *irg = be_get_birg_irg(birg); belady_env_t env; int i, n_regs; @@ -1127,7 +1136,7 @@ void be_spill_belady_spill_env2(be_irg_t *birg, const arch_register_class_t *cls env.lv = be_get_birg_liveness(birg); env.n_regs = n_regs; env.ws = new_workset(&env, &env.ob); - env.senv = spill_env ? spill_env : be_new_spill_env(birg); + env.senv = be_new_spill_env(birg); env.ef = be_get_birg_exec_freq(birg); env.n_blocks = 0; @@ -1145,26 +1154,11 @@ void be_spill_belady_spill_env2(be_irg_t *birg, const arch_register_class_t *cls be_insert_spills_reloads(env.senv); /* clean up */ - if(spill_env == NULL) - be_delete_spill_env(env.senv); + be_delete_spill_env(env.senv); obstack_free(&env.ob, NULL); } - -/** - * Do spilling for a register class on a graph using the belady heuristic. - * In the transformed graph, the register pressure never exceeds the number - * of available registers. - * - * @param birg The backend graph - * @param cls The register class to spill - */ -static void be_spill_belady(be_irg_t *birg, const arch_register_class_t *cls) { - be_spill_belady_spill_env2(birg, cls, NULL); -} - - void be_init_spillbelady2(void) { static be_spiller_t belady_spiller = {