X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbelive.c;h=ead176e0ed6def393517a054a61799c7c8beba71;hb=dd4cd761ab637d4488c7e29f49843b1b02366acf;hp=f44d77449092ad0c1806e53df0eef07e542aa741;hpb=79c525957c65f251d66263891a3f53688fe0c736;p=libfirm diff --git a/ir/be/belive.c b/ir/be/belive.c index f44d77449..ead176e0e 100644 --- a/ir/be/belive.c +++ b/ir/be/belive.c @@ -28,6 +28,9 @@ #include "config.h" #endif +/* statev is expensive here, only enable when needed */ +#define DISABLE_STATEV + #include "impl.h" #include "iredges_t.h" #include "irgwalk.h" @@ -525,7 +528,7 @@ static void compute_liveness(be_lv_t *lv) /* * inserting the variables sorted by their ID is probably * more efficient since the binary sorted set insertion - * will not need to move arounf the data. + * will not need to move around the data. * However, if sorting the variables a priori pays off * needs to be checked, hence the define. */ @@ -620,7 +623,11 @@ void be_liveness_recompute(be_lv_t *lv) void be_liveness_free(be_lv_t *lv) { be_liveness_invalidate(lv); - free(lv); +#ifdef USE_LIVE_CHK + lv_chk_free(lv->lvc); + dfs_free(lv->dfs); +#endif + xfree(lv); } void be_liveness_remove(be_lv_t *lv, const ir_node *irn)