X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbespillutil.h;h=10ee33ff2d3afa045205d834d56190138321be00;hb=b2008e0b7c77ead1540a4793d235fafb6fcff873;hp=3758c76cb3c493142b7daf9bdfe94c0314cfd28f;hpb=68f1fef312ea0a037cf9815042ea30e95ce1b619;p=libfirm diff --git a/ir/be/bespillutil.h b/ir/be/bespillutil.h index 3758c76cb..10ee33ff2 100644 --- a/ir/be/bespillutil.h +++ b/ir/be/bespillutil.h @@ -23,7 +23,6 @@ * instructions and rematerialisation of values. * @author Daniel Grund, Sebastian Hack, Matthias Braun * @date 29.09.2005 - * @version $Id$ */ #ifndef FIRM_BE_BESPILLUTIL_H #define FIRM_BE_BESPILLUTIL_H @@ -92,12 +91,6 @@ void be_add_reload_on_edge(spill_env_t *senv, ir_node *to_spill, ir_node *bl, int pos, const arch_register_class_t *reload_cls, int allow_remat); -/** - * Analog to be_add_reload but adds an already created rematerialized node. - */ -void be_add_remat(spill_env_t *env, ir_node *to_spill, ir_node *before, - ir_node *rematted_node); - /** * The main function that places real spills/reloads (or rematerializes values) * for all values where be_add_reload was called. It then rebuilds the @@ -106,7 +99,7 @@ void be_add_remat(spill_env_t *env, ir_node *to_spill, ir_node *before, void be_insert_spills_reloads(spill_env_t *senv); /** - * There are 2 possibilities to spill a phi node: Only it's value, or replacing + * There are 2 possibilities to spill a phi node: Only its value, or replacing * the whole phi-node with a memory phi. Normally only the value of a phi will * be spilled unless you mark the phi with be_spill_phi. * (Remember that each phi needs a register, so you have to spill phis when @@ -172,4 +165,16 @@ void be_get_total_spill_costs(ir_graph *irg, be_total_spill_costs_t *costs); */ int be_is_rematerializable(spill_env_t *env, const ir_node *to_remat, const ir_node *before); +/** + * Create a be_Spill node. This function is compatible to the + * arch_env->new_spill callback. + */ +ir_node *be_new_spill(ir_node *value, ir_node *after); + +/** + * Create a be_Reload node. This function is compatible to the + * arch_env->new_reload interface. + */ +ir_node *be_new_reload(ir_node *value, ir_node *spilled, ir_node *before); + #endif