move domfront from be to ana
[libfirm] / ir / be / beirg.c
index 262dadc..da0add1 100644 (file)
@@ -22,7 +22,6 @@
  * @brief       Backend irg - a ir_graph with additional analysis information.
  * @author      Matthias Braun
  * @date        13.12.2006
- * @version     $Id$
  */
 #include "config.h"
 
 #include "beirg.h"
 #include "absgraph.h"
 #include "belive.h"
-#include "bedomfront.h"
 
-be_lv_t *be_assure_liveness(be_irg_t *birg)
+void be_invalidate_live_sets(ir_graph *irg)
 {
-       if (birg->lv != NULL)
-               return birg->lv;
-
-       return birg->lv = be_liveness(birg->irg);
+       be_irg_t *birg = be_birg_from_irg(irg);
+       be_liveness_invalidate_sets(birg->lv);
 }
 
-void be_assure_dom_front(be_irg_t *birg)
+void be_invalidate_live_chk(ir_graph *irg)
 {
-       if (birg->dom_front != NULL)
-               return;
-
-       birg->dom_front = be_compute_dominance_frontiers(birg->irg);
+       be_irg_t *birg = be_birg_from_irg(irg);
+       be_liveness_invalidate_chk(birg->lv);
 }
 
-void be_invalidate_dom_front(be_irg_t *birg)
+void be_assure_live_sets(ir_graph *irg)
 {
-       if (birg->dom_front == NULL)
-               return;
+       be_irg_t *birg = be_birg_from_irg(irg);
+       be_liveness_compute_sets(birg->lv);
+}
 
-       be_free_dominance_frontiers(birg->dom_front);
-       birg->dom_front = NULL;
+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(be_irg_t *birg)
+void be_free_birg(ir_graph *irg)
 {
+       be_irg_t *birg = be_birg_from_irg(irg);
        free_execfreq(birg->exec_freq);
        birg->exec_freq = NULL;
 
-       if (birg->dom_front != NULL) {
-               be_free_dominance_frontiers(birg->dom_front);
-               birg->dom_front = NULL;
-       }
        if (birg->lv != NULL) {
                be_liveness_free(birg->lv);
                birg->lv = NULL;
        }
 
        obstack_free(&birg->obst, NULL);
-       birg->irg->be_data = NULL;
+       irg->be_data = NULL;
 }