X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firgwalk_blk.c;h=65097546af4648b320bd977167d64bdbe574e769;hb=b597c7fd473086ca6374b2abbdf129f595c156d0;hp=c0a2c33909b4bcde56b201a15f2a2ea389a4c175;hpb=28026a9f6aee143c644be2be98d16f2fa66b34f4;p=libfirm diff --git a/ir/ir/irgwalk_blk.c b/ir/ir/irgwalk_blk.c index c0a2c3390..65097546a 100644 --- a/ir/ir/irgwalk_blk.c +++ b/ir/ir/irgwalk_blk.c @@ -1,13 +1,27 @@ /* - * Project: libFIRM - * File name: ir/ir/irgwalk_blk.c - * Purpose: - * Author: Michael Beck - * Modified by: - * Created: - * CVS-ID: $Id$ - * Copyright: (c) 1999-2004 Universität Karlsruhe - * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. + * + * This file is part of libFirm. + * + * This file may be distributed and/or modified under the terms of the + * GNU General Public License version 2 as published by the Free Software + * Foundation and appearing in the file LICENSE.GPL included in the + * packaging of this file. + * + * Licensees holding valid libFirm Professional Edition licenses may use + * this file in accordance with the libFirm Commercial License. + * Agreement provided with the Software. + * + * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE + * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. + */ + +/** + * @file + * @brief Blockwise walker implementation + * @author Michael Beck + * @version $Id$ */ #ifdef HAVE_CONFIG_H # include "config.h" @@ -343,11 +357,13 @@ do_irg_walk_blk(ir_graph *irg, irg_walk_func *pre, irg_walk_func *post, void *en ir_node *end_node = get_irg_end(irg); ir_node *end_blk = get_irg_end_block(irg); blk_collect_data_t blks; - int old_view = get_interprocedural_view(); block_entry_t *entry; +#ifdef INTERPROCEDURAL_VIEW /* switch off interprocedural view */ + int old_view = get_interprocedural_view(); set_interprocedural_view(0); +#endif obstack_init(&blks.obst); blks.blk_map = new_pset(addr_cmp, 1); @@ -355,7 +371,7 @@ do_irg_walk_blk(ir_graph *irg, irg_walk_func *pre, irg_walk_func *post, void *en blks.follow_deps = follow_deps != 0; /* first step: traverse the graph and fill the lists */ - set_using_visited(irg); + ir_reserve_resources(irg, IR_RESOURCE_IRN_VISITED); inc_irg_visited(irg); collect_walk(end_node, &blks); @@ -375,8 +391,10 @@ do_irg_walk_blk(ir_graph *irg, irg_walk_func *pre, irg_walk_func *post, void *en del_pset(blks.blk_map); obstack_free(&blks.obst, NULL); +#ifdef INTERPROCEDURAL_VIEW set_interprocedural_view(old_view); - clear_using_visited(irg); +#endif + ir_free_resources(irg, IR_RESOURCE_IRN_VISITED); } void irg_walk_blkwise_graph(ir_graph *irg, irg_walk_func *pre, irg_walk_func *post, void *env)