summaryrefslogtreecommitdiffhomepage
path: root/ir/be/belive.h
diff options
context:
space:
mode:
authorSebastian Hack <hack@ipd.info.uni-karlsruhe.de>2007-06-14 21:44:07 +0200
committerSebastian Hack <hack@ipd.info.uni-karlsruhe.de>2007-06-14 21:44:07 +0200
commit3c2f7c0c9e0bff5d97a973bc224579922bb7df81 (patch)
tree2903764a73354646cd2a4d06032e81827f5b65b5 /ir/be/belive.h
parent1d197a5658050d24f4ae71f9c5735035e389bb6c (diff)
* Changed the liveness API:
- The liveness in the birg stays always the same - Invalidation is done with be_liveness_invalidate() - Each algo has to specify if it needs only liveness checks be_liveness_assure_chk() or the complete liveness sets for use with be_lv_foreach, etc. be_liveness_assure_sets() * Adapted all the files to these changes * made bessadestr.c liveness updating [r14506]
Diffstat (limited to 'ir/be/belive.h')
-rw-r--r--ir/be/belive.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/ir/be/belive.h b/ir/be/belive.h
index 1a3b4ac..1021f3c 100644
--- a/ir/be/belive.h
+++ b/ir/be/belive.h
@@ -192,5 +192,25 @@ pset *be_liveness_nodes_live_at(const be_lv_t *lv, const arch_env_t *arch_env, c
*/
pset *be_liveness_nodes_live_at_input(const be_lv_t *lv, const arch_env_t *arch_env, const arch_register_class_t *cls, const ir_node *pos, pset *live);
+/**
+ * Make sure the live sets are computed.
+ * @param lv The liveness infirmation.
+ */
+void be_liveness_assure_sets(be_lv_t *lv);
+
+/**
+ * Make sure all information needed for liveness checks is available.
+ * @param lv The liveness information.
+ */
+void be_liveness_assure_chk(be_lv_t *lv);
+
+/**
+ * Invalidate the liveness information.
+ * You must call this if you modify the program and do not
+ * update the liveness with the be_liveness_{update,remove,introduce}
+ * functions.
+ * @param lv The liveness info.
+ */
+void be_liveness_invalidate(be_lv_t *lv);
#endif /* FIRM_BE_BELIVE_H */