X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firgwalk_blk.c;h=d5c49ba1436b228218df7c3cd8208e04599fd920;hb=8f355cb9b3d20c10f71d1b1e17cbf59a51ced83b;hp=aa3bae36315045c43de3f855fccf748b8d06c143;hpb=cff2a5c3062b62f1051279e46dc67423950db435;p=libfirm diff --git a/ir/ir/irgwalk_blk.c b/ir/ir/irgwalk_blk.c index aa3bae363..d5c49ba14 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,6 +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); inc_irg_visited(irg); collect_walk(end_node, &blks); @@ -374,7 +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); +#endif + clear_using_visited(irg); } void irg_walk_blkwise_graph(ir_graph *irg, irg_walk_func *pre, irg_walk_func *post, void *env)