X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Fgarbage_collect.c;h=963c4fcf06a3071a6e30a00186a12dcbb4f042e7;hb=8c9921a1fc166552f6e416434fd8394a4fc210a3;hp=0d5161d83a769bea045581efd5a0bd99944828f9;hpb=842280b66974a618f663838a489fd5059300e3b0;p=libfirm diff --git a/ir/opt/garbage_collect.c b/ir/opt/garbage_collect.c index 0d5161d83..963c4fcf0 100644 --- a/ir/opt/garbage_collect.c +++ b/ir/opt/garbage_collect.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2011 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -21,7 +21,6 @@ * @file * @brief Removal of unreachable methods. * @author Matthias Braun - * @version $Id$ */ #include "config.h" @@ -36,7 +35,7 @@ #include "error.h" #include "debug.h" -DEBUG_ONLY(static firm_dbg_module_t *dbg); +DEBUG_ONLY(static firm_dbg_module_t *dbg;) static void visit_entity(ir_entity *entity); @@ -102,8 +101,8 @@ static void visit_entity(ir_entity *entity) if (entity->initializer != NULL) { visit_initializer(entity->initializer); } else if (entity_has_compound_ent_values(entity)) { - int i; - int n_members = get_compound_ent_n_values(entity); + size_t i; + size_t n_members = get_compound_ent_n_values(entity); for (i = 0; i < n_members; ++i) { ir_node *node = get_compound_ent_value(entity, i); start_visit_node(node); @@ -149,13 +148,13 @@ static void garbage_collect_in_segment(ir_type *segment) void garbage_collect_entities(void) { - int i; + size_t i; ir_segment_t s; FIRM_DBG_REGISTER(dbg, "firm.opt.garbagecollect"); /* start a type walk for all externally visible entities */ - irp_reserve_resources(irp, IR_RESOURCE_TYPE_VISITED); + irp_reserve_resources(irp, IRP_RESOURCE_TYPE_VISITED); inc_master_type_visited(); inc_max_irg_visited(); @@ -169,8 +168,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 = get_irp_n_irgs()-1; i >= 0; --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)) @@ -185,7 +184,7 @@ void garbage_collect_entities(void) ir_type *type = get_segment_type(s); garbage_collect_in_segment(type); } - irp_free_resources(irp, IR_RESOURCE_TYPE_VISITED); + irp_free_resources(irp, IRP_RESOURCE_TYPE_VISITED); } ir_prog_pass_t *garbage_collect_entities_pass(const char *name)