summaryrefslogtreecommitdiffhomepage
path: root/ir/be/beirg.c
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2011-12-21 18:16:12 +0100
committerMatthias Braun <matze@braunis.de>2011-12-22 16:49:27 +0100
commitb482d88d58ce6517bbb6597aa04ffa86ade5f2c9 (patch)
tree3555588ca1cc37ba130b5e44b91cac46c5901c0c /ir/be/beirg.c
parent68a3a77f08f0ccdadce9759d6eb19ecd875be7f0 (diff)
belive: cleanup livness assure/invalidate API
This also plugs liveness related memory leaks
Diffstat (limited to 'ir/be/beirg.c')
-rw-r--r--ir/be/beirg.c33
1 files changed, 24 insertions, 9 deletions
diff --git a/ir/be/beirg.c b/ir/be/beirg.c
index d0ee0ea..36504b5 100644
--- a/ir/be/beirg.c
+++ b/ir/be/beirg.c
@@ -31,15 +31,6 @@
#include "belive.h"
#include "bedomfront.h"
-be_lv_t *be_assure_liveness(ir_graph *irg)
-{
- be_irg_t *birg = be_birg_from_irg(irg);
- if (birg->lv != NULL)
- return birg->lv;
-
- return birg->lv = be_liveness(birg->irg);
-}
-
void be_assure_dom_front(ir_graph *irg)
{
be_irg_t *birg = be_birg_from_irg(irg);
@@ -59,6 +50,30 @@ void be_invalidate_dom_front(ir_graph *irg)
birg->dom_front = NULL;
}
+void be_invalidate_live_sets(ir_graph *irg)
+{
+ be_irg_t *birg = be_birg_from_irg(irg);
+ be_liveness_invalidate_sets(birg->lv);
+}
+
+void be_invalidate_live_chk(ir_graph *irg)
+{
+ be_irg_t *birg = be_birg_from_irg(irg);
+ be_liveness_invalidate_chk(birg->lv);
+}
+
+void be_assure_live_sets(ir_graph *irg)
+{
+ be_irg_t *birg = be_birg_from_irg(irg);
+ be_liveness_compute_sets(birg->lv);
+}
+
+void be_assure_live_chk(ir_graph *irg)
+{
+ be_irg_t *birg = be_birg_from_irg(irg);
+ be_liveness_compute_chk(birg->lv);
+}
+
void be_free_birg(ir_graph *irg)
{
be_irg_t *birg = be_birg_from_irg(irg);