X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firgwalk_blk.c;h=e452789235e5c4c37be245b9a6e603c72ebdb4f3;hb=abf0e913b6f60546f4d059f8d110fd13e74bb2d3;hp=0de8e96136327b5fcf0d867334cb7ff5879ab72c;hpb=e66f1a09b0571c6982fb221ee13cf2417e00e874;p=libfirm diff --git a/ir/ir/irgwalk_blk.c b/ir/ir/irgwalk_blk.c index 0de8e9613..e45278923 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-2007 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" @@ -346,9 +360,6 @@ do_irg_walk_blk(ir_graph *irg, irg_walk_func *pre, irg_walk_func *post, void *en int old_view = get_interprocedural_view(); block_entry_t *entry; - assert(! inside_irg_walk(irg)); /* we must not already be inside an irg walk */ - set_inside_irg_walk(irg); - /* switch off interprocedural view */ set_interprocedural_view(0); @@ -358,6 +369,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); @@ -378,7 +390,7 @@ do_irg_walk_blk(ir_graph *irg, irg_walk_func *pre, irg_walk_func *post, void *en obstack_free(&blks.obst, NULL); set_interprocedural_view(old_view); - clear_inside_irg_walk(irg); + clear_using_visited(irg); } void irg_walk_blkwise_graph(ir_graph *irg, irg_walk_func *pre, irg_walk_func *post, void *env)