X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fana%2Firbackedge.c;h=a554f19b7bf07853da037ef6fc90d141b3059cc8;hb=427f3beeb5d575e58b41c156f352e9dea708132a;hp=7345032bc92bad1ea54fa603616e59e2fa66c8c8;hpb=863d31d7a5c8210432fef88b30fc3e8353131538;p=libfirm diff --git a/ir/ana/irbackedge.c b/ir/ana/irbackedge.c index 7345032bc..a554f19b7 100644 --- a/ir/ana/irbackedge.c +++ b/ir/ana/irbackedge.c @@ -1,15 +1,29 @@ /* - * Project: libFIRM - * File name: ir/ana/irbackedge.c - * Purpose: Access function for backedges. - * Author: Goetz Lindenmaier - * Modified by: - * Created: 7.2002 - * CVS-ID: $Id$ - * Copyright: (c) 2002-2003 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 Access function for backedges. + * @author Goetz Lindenmaier + * @date 7.2002 + * @version $Id$ + */ #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -120,6 +134,7 @@ void fix_backedges(struct obstack *obst, ir_node *n) { }*/ } +#ifdef INTERPROCEDURAL_VIEW int is_inter_backedge(ir_node *n, int pos) { int res; int rem = get_interprocedural_view(); @@ -137,6 +152,7 @@ int is_intra_backedge(ir_node *n, int pos) { set_interprocedural_view(rem); return res; } +#endif /* Returns non-zero if the predecessor pos is a backedge. */ @@ -175,15 +191,18 @@ int has_backedges (ir_node *n) { /** Sets all backedge information to zero. */ void clear_backedges (ir_node *n) { int i, arity; - int rem = get_interprocedural_view(); int *ba; +#ifdef INTERPROCEDURAL_VIEW + int rem = get_interprocedural_view(); set_interprocedural_view(0); +#endif ba = get_backarray (n); if (ba) { arity = get_irn_arity(n); for (i = 0; i < arity; i++) ba[i] = 0; } +#ifdef INTERPROCEDURAL_VIEW set_interprocedural_view(1); ba = get_backarray (n); if (ba) { @@ -192,6 +211,7 @@ void clear_backedges (ir_node *n) { ba[i] = 0; } set_interprocedural_view(rem); +#endif } int *new_backedge_arr(struct obstack *obst, int size) {