/*
- * 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.
*
if (get_irg_visited(irg) < get_max_irg_visited()) {
set_irg_visited(irg, get_max_irg_visited());
}
- current_ir_graph = irg;
irg_walk_2(node, visit_node, NULL, NULL);
}
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);
void garbage_collect_entities(void)
{
- int i;
+ size_t i;
ir_segment_t s;
FIRM_DBG_REGISTER(dbg, "firm.opt.garbagecollect");
/* 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))
continue;
- DB((dbg, LEVEL_1, " freeing method %+F\n", entity));
+ DB((dbg, LEVEL_1, " freeing method %+F\n", entity));
remove_irp_irg(irg);
}