X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=ir%2Fana%2Firloop.h;h=65db1cd42e86bfb63be4e1adff3fbe82305fa227;hb=9b716841c3b0865b86af8d3890b3914060c37ed0;hp=337cb909b41df88c4b61570b6297ef8447f1e152;hpb=9ee93cffc1a8ef9df2bef8ec9c98299a89d57b15;p=libfirm diff --git a/ir/ana/irloop.h b/ir/ana/irloop.h index 337cb909b..65db1cd42 100644 --- a/ir/ana/irloop.h +++ b/ir/ana/irloop.h @@ -1,28 +1,37 @@ /* - * Project: libFIRM - * File name: ir/ana/irloop_t.h - * Purpose: Loop datastructure and access functions. - * 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. + * Copyrigth (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 irloop.h - * + * @file + * @brief Loop datastructure and access functions. + * @author Goetz Lindenmaier + * @date 7.2002 + * @version $Id$ + * @summary * Computes backedges in the control and data flow. * - * @author Goetz Lindenmaier - * + * @note * Only Block and Phi/Filter nodes can have incoming backedges. * Constructs loops data structure: indicates loop nesting. */ - -# ifndef _IRLOOP_H_ -# define _IRLOOP_H_ +# ifndef FIRM_ANA_IRLOOP_H +# define FIRM_ANA_IRLOOP_H # include "irgraph.h" # include "irnode.h" @@ -116,19 +125,20 @@ int get_loop_n_nodes (ir_loop *loop); ir_node *get_loop_node (ir_loop *loop, int pos); /** Returns the number of elements contained in loop. */ -int get_loop_n_elements (ir_loop *loop); +int get_loop_n_elements (const ir_loop *loop); + /** Returns a loop element. A loop element can be interpreted as a kind pointer, an ir_node* or an ir_loop*. */ -loop_element get_loop_element (ir_loop *loop, int pos); +loop_element get_loop_element (const ir_loop *loop, int pos); /** Returns the element number of the loop son in loop. * Returns -1 if not found. O(|elements|). */ -int get_loop_element_pos(ir_loop *loop, void *le); +int get_loop_element_pos(const ir_loop *loop, void *le); /** Returns a unique node number for the loop node to make output readable. If libfirm_debug is not set it returns the loop cast to int. */ -int get_loop_loop_nr(ir_loop *loop); +int get_loop_loop_nr(const ir_loop *loop); /** A field to connect additional information to a loop. Only valid if libfirm_debug is set, else returns NULL. */ @@ -219,5 +229,4 @@ void free_all_loop_information (void); * belongs to or in inner loops of this block. */ int is_loop_invariant(ir_node *n, ir_node *block); - -#endif /* _IRLOOP_H_ */ +#endif