X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firedges.c;h=27dd5b30ed412ce6386049b87cdd8db27f99607f;hb=eda9d668d0e8c8246015b4c5e743316a6a835a23;hp=963f6a2b77a02e3fc100c02d28c47f35492d275b;hpb=863d31d7a5c8210432fef88b30fc3e8353131538;p=libfirm diff --git a/ir/ir/iredges.c b/ir/ir/iredges.c index 963f6a2b7..27dd5b30e 100644 --- a/ir/ir/iredges.c +++ b/ir/ir/iredges.c @@ -1,32 +1,36 @@ /* - * Project: libFIRM - * File name: ir/ir/iredges.c - * Purpose: Always available outs. - * Author: Sebastian Hack - * Modified by: Michael Beck, Andreas Schoesser - * Created: 14.1.2005 - * CVS-ID: $Id$ - * Copyright: (c) 1998-2006 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. */ /** - * Always available outs. - * @author Sebastian Hack - * @date 14.1.2005 + * @file + * @brief Always available outs. + * @author Sebastian Hack, Michael Beck, Andreas Schoesser + * @date 14.1.2005 + * @version $Id$ + * @summary + * This are out-edges (also called def-use edges) that are dynamically + * updated as the graph changes. */ - #ifdef HAVE_CONFIG_H #include "config.h" #endif -#ifdef HAVE_ALLOCA_H -#include -#endif -#ifdef HAVE_MALLOC_H -#include -#endif - #include "irnode_t.h" #include "iropt_t.h" #include "iredgekinds.h" @@ -38,12 +42,13 @@ #include "debug.h" #include "set.h" #include "bitset.h" +#include "xmalloc.h" /** -* A function that allows for setting an edge. -* This abstraction is necessary since different edge kind have -* different methods of setting edges. -*/ + * A function that allows for setting an edge. + * This abstraction is necessary since different edge kind have + * different methods of setting edges. + */ typedef void (set_edge_func_t)(ir_node *src, int pos, ir_node *tgt); typedef int (get_edge_src_arity_func_t)(const ir_node *src); @@ -53,8 +58,8 @@ typedef int (get_edge_src_first_func_t)(const ir_node *src); typedef ir_node *(get_edge_src_n_func_t)(const ir_node *src, int pos); /** -* Additional data for an edge kind. -*/ + * Additional data for an edge kind. + */ typedef struct { const char *name; set_edge_func_t *set_edge; @@ -711,7 +716,7 @@ static void verify_edge_counter(ir_node *irn, void *env) { ir_fprintf(stderr, "Edge Verifier: %+F reachable by %d node(s), but the list contains %d edge(s)\n", irn, ref_cnt, list_cnt); - // Matze: buggy if a node has multiple ins pointing at irn + /* Matze: buggy if a node has multiple ins pointing at irn */ #if 0 list_for_each(pos, head) { ir_edge_t *edge = list_entry(pos, ir_edge_t, list);