X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fana%2Firloop_t.h;h=4a47cd47ab344686d97f39116d8ef29af2008347;hb=4bad1346ff2abc3923beea23e5ac949acc7ca514;hp=3aac65e90350ae35d14e0f1d0ca486b5c8af847b;hpb=06c450a6bf29496386fa6f70b1a223cb4c39155f;p=libfirm diff --git a/ir/ana/irloop_t.h b/ir/ana/irloop_t.h index 3aac65e90..4a47cd47a 100644 --- a/ir/ana/irloop_t.h +++ b/ir/ana/irloop_t.h @@ -1,6 +1,14 @@ -/* Copyright (C) 2002 by Universitaet Karlsruhe -* All rights reserved. -*/ +/* + * Project: libFIRM + * File name: ir/ana/irloop_t.h + * Purpose: Loop datastructure and access functions -- private stuff. + * 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. + */ /** * @file irloop_t.h @@ -21,9 +29,11 @@ struct ir_loop { firm_kind kind; /**< A type tag, set to k_ir_loop. */ struct ir_loop *outer_loop; /**< The outer loop */ - struct ir_loop **sons; /**< Inner loops */ - struct ir_node **nodes; /**< Nodes in loop. */ + loop_element *children; /**< Mixed array: Contains sons and loop_nodes */ int depth; /**< Nesting depth */ + int n_sons; /**< Number of ir_nodes in array "children" */ + int n_nodes; /**< Number of loop_nodes in array "childern" */ + /* struct state_entry *mem_phis; struct state_entry *states; @@ -31,12 +41,20 @@ struct ir_loop { struct obset **oval; struct loop_node *link; */ +#ifdef DEBUG_libfirm + int loop_nr; /**< a unique node number for each loop node to make output + readable. */ + void *link; /**< GL @@@ For debuging the analyses. */ +#endif + }; -static INLINE void +void add_loop_son(ir_loop *loop, ir_loop *son); -static INLINE void +void add_loop_node(ir_loop *loop, ir_node *n); +/* The following functions are needed in ircfloop.c */ +void set_irn_loop (ir_node *n, ir_loop* loop); #endif /* _IRLOOP_T_H_ */