added option to select between schedulers (list or ilp)
[libfirm] / ir / be / bespill.h
index 79c82ce..69d9577 100644 (file)
@@ -1,10 +1,9 @@
-/**
- * Author:      Daniel Grund, Sebastian Hack
+/*
+ * Author:      Daniel Grund, Sebastian Hack, Matthias Braun
  * Date:               29.09.2005
  * Copyright:   (c) Universitaet Karlsruhe
  * Licence:     This file protected by GPL -  GNU GENERAL PUBLIC LICENSE.
  */
-
 #ifndef BESPILL_H_
 #define BESPILL_H_
 
@@ -46,16 +45,13 @@ void be_insert_spills_reloads(spill_env_t *senv);
 void be_spill_phi(spill_env_t *env, ir_node *node);
 
 /**
- * Places the necessary copies for the spilled phis in the graph
- * This has to be done once before be_insert_spill_reloads, after
- * all phis to spill have been marked with be_spill_phi.
+ * Returns the estimated costs if a node would get reloaded at a specific place
+ * (This looks whether the value already has a spill or if rematerialisation
+ *  is possible)
  */
-void be_place_copies(spill_env_t *env);
+int be_get_reload_costs(spill_env_t *env, ir_node *to_spill, ir_node *before);
 
-/**
- * Computes the spill offsets for all spill nodes in the irg
- */
-void be_compute_spill_offsets(be_chordal_env_t *cenv);
+int be_get_reload_costs_on_edge(spill_env_t *env, ir_node *to_spill, ir_node *block, int pos);
 
 /**
  * Sets the debug module of a spill environment.