X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbelive.c;h=8a81f54dcc9d9817e039d37c2740b05674fca017;hb=8974b94349462d835b33ad4f896d1821986458bd;hp=a2e400ee6ae787bd775abed71355cbf25b3000f7;hpb=ed9bb04ed9806c71240f780c5401184027c0e6eb;p=libfirm diff --git a/ir/be/belive.c b/ir/be/belive.c index a2e400ee6..8a81f54dc 100644 --- a/ir/be/belive.c +++ b/ir/be/belive.c @@ -525,7 +525,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 +620,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) @@ -804,9 +808,7 @@ void be_liveness_transfer(const arch_env_t *arch_env, ir_nodeset_remove(nodeset, proj); } } - } - - if (arch_irn_consider_in_reg_alloc(arch_env, cls, node)) { + } else if (arch_irn_consider_in_reg_alloc(arch_env, cls, node)) { ir_nodeset_remove(nodeset, node); }