X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbespill.h;h=dac022634eba67d6efb892b90b473b216134c6fd;hb=4ed245f5007168dab7850942a7ee6b6b29a19817;hp=92e6a9a837a1555b04ad5997cb17845b8ae9fbc0;hpb=b3a557ce967915e127eca5460196b4eb4c59718c;p=libfirm diff --git a/ir/be/bespill.h b/ir/be/bespill.h index 92e6a9a83..dac022634 100644 --- a/ir/be/bespill.h +++ b/ir/be/bespill.h @@ -1,10 +1,9 @@ -/** +/* * Author: Daniel Grund, Sebastian Hack * Date: 29.09.2005 * Copyright: (c) Universitaet Karlsruhe * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. */ - #ifndef BESPILL_H_ #define BESPILL_H_ @@ -19,16 +18,13 @@ #include "bearch.h" typedef struct _spill_env_t spill_env_t; -typedef int(*decide_irn_t)(const ir_node*, void*); /** * Creates a new spill environment. * * @param chordal - * @param is_mem_phi a function that evaluates a Phi node - * @param data context parameter for the is_mem_phi function */ -spill_env_t *be_new_spill_env(const be_chordal_env_t *chordal, decide_irn_t is_mem_phi, void *data); +spill_env_t *be_new_spill_env(const be_chordal_env_t *chordal); /** * Deletes a spill environment. @@ -39,12 +35,14 @@ void be_add_reload(spill_env_t *senv, ir_node *to_spill, ir_node *before); void be_add_reload_on_edge(spill_env_t *senv, ir_node *to_spill, ir_node *bl, int pos); -void be_insert_spills_reloads(spill_env_t *senv, pset *reload_set); +void be_insert_spills_reloads(spill_env_t *senv); /** - * Computes the spill offsets for all spill nodes in the irg + * Marks a phi-node for spilling. So when reloading from this phi-node, not + * only its value but the whole phi will be spilled. + * This might place be_Copy nodes in predecessor blocks. */ -void be_compute_spill_offsets(be_chordal_env_t *cenv); +void be_spill_phi(spill_env_t *env, ir_node *node); /** * Sets the debug module of a spill environment.