X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Fgarbage_collect.c;h=64c0a67cc61ccd9e1bd1b719d1229f64cabba99d;hb=b27ae245166bb695bc4e418ff416d91bc37d0f28;hp=9f32c64e902bca898c274ef12515a4bc5dbd19d7;hpb=9d4e23060441530a20af5d331268435bfe18f305;p=libfirm diff --git a/ir/opt/garbage_collect.c b/ir/opt/garbage_collect.c index 9f32c64e9..64c0a67cc 100644 --- a/ir/opt/garbage_collect.c +++ b/ir/opt/garbage_collect.c @@ -149,7 +149,7 @@ static void garbage_collect_in_segment(ir_type *segment) void garbage_collect_entities(void) { - size_t i, n; + size_t i; ir_segment_t s; FIRM_DBG_REGISTER(dbg, "firm.opt.garbagecollect"); @@ -169,8 +169,8 @@ void garbage_collect_entities(void) /* remove graphs of non-visited functions * (we have to count backwards so we can safely call remove_irp_irg * while iterating) */ - for (i = 0, n = get_irp_n_irgs(); i < n; ++i) { - ir_graph *irg = get_irp_irg(i); + for (i = get_irp_n_irgs(); i > 0;) { + ir_graph *irg = get_irp_irg(--i); ir_entity *entity = get_irg_entity(irg); if (entity_visited(entity))