X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fana%2Firbackedge_t.h;h=1223209f0bc2094839f2bac7e0d6cc87155c75ba;hb=f6aeac6a547a52beb3cb663c5e63c05c9c3728ea;hp=cfabf357826729261989c232a4b5595c8943798f;hpb=9785eb583134ca36e24eda808b1734d5afe8851c;p=libfirm diff --git a/ir/ana/irbackedge_t.h b/ir/ana/irbackedge_t.h index cfabf3578..1223209f0 100644 --- a/ir/ana/irbackedge_t.h +++ b/ir/ana/irbackedge_t.h @@ -1,13 +1,50 @@ -#ifndef _IRBACKEDGE_T_H_ -#define _IRBACKEDGE_T_H_ +/* + * Copyright (C) 1995-2008 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. + */ -# include "string.h" +/** + * @file + * @brief Access function for backedges -- private header. + * @author Goetz Lindenmaier + * @date 7.2002 + * @version $Id$ + */ +#ifndef FIRM_ANA_IRBACKEDGE_T_H +#define FIRM_ANA_IRBACKEDGE_T_H -static INLINE int * new_backedge_arr(struct obstack *obst, int size) { - int *res = NEW_ARR_D (int, obst, size); - memset(res, 0, sizeof(int) * size); - return res; -} +/** + * Allocate a new backedge array on the obstack for given size. + * + * @param obst the obstack to allocate the array on + * @param size the size of the backedge array + */ +unsigned *new_backedge_arr(struct obstack *obst, unsigned size); +/** + * Allocate new backedge info for a given node. + */ +void new_backedge_info(ir_node *n); -#endif /* _IRBACKEDGE_T_H_ */ +/** + * Adapts backedges array to new size. + * Must be called if the in array of an IR node is changed. Else + * Segmentation faults might occur. + */ +void fix_backedges(struct obstack *obst, ir_node *n); + +#endif