X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeirg.c;h=da0add18ae70c2941ad0af2d96db51d480d3613b;hb=fab5da4b7215a533d35fa244135dae84652e725b;hp=262dadc2c2e3baf43764c5d5e707548063fbf3fd;hpb=39cb52264857d7c21c7141ba82bb55adaa78064d;p=libfirm diff --git a/ir/be/beirg.c b/ir/be/beirg.c index 262dadc2c..da0add18a 100644 --- a/ir/be/beirg.c +++ b/ir/be/beirg.c @@ -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" @@ -30,47 +29,42 @@ #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; }