1 2 /**-------------------------------------------------------------------** 3 ** CLooG ** 4 **-------------------------------------------------------------------** 5 ** statement.h ** 6 **-------------------------------------------------------------------** 7 ** First version: november 4th 2001 ** 8 **-------------------------------------------------------------------**/ 9 10 11/****************************************************************************** 12 * CLooG : the Chunky Loop Generator (experimental) * 13 ****************************************************************************** 14 * * 15 * Copyright (C) 2001-2005 Cedric Bastoul * 16 * * 17 * This library is free software; you can redistribute it and/or * 18 * modify it under the terms of the GNU Lesser General Public * 19 * License as published by the Free Software Foundation; either * 20 * version 2.1 of the License, or (at your option) any later version. * 21 * * 22 * This library is distributed in the hope that it will be useful, * 23 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 25 * Lesser General Public License for more details. * 26 * * 27 * You should have received a copy of the GNU Lesser General Public * 28 * License along with this library; if not, write to the Free Software * 29 * Foundation, Inc., 51 Franklin Street, Fifth Floor, * 30 * Boston, MA 02110-1301 USA * 31 * * 32 * CLooG, the Chunky Loop Generator * 33 * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr * 34 * * 35 ******************************************************************************/ 36 37 38#ifndef CLOOG_STATEMENT_H 39#define CLOOG_STATEMENT_H 40#if defined(__cplusplus) 41extern "C" 42 { 43#endif 44 45 46struct cloogstatement 47{ 48 CloogState *state; /* State. */ 49 char *name; /* Name of the statement. */ 50 int number; /* The statement unique number. */ 51 void * usr ; /* A pointer for library users convenience. */ 52 struct cloogstatement * next ; /* Pointer to the next statement with the 53 * same original domain and the same 54 * scattering function. 55 */ 56} ; 57typedef struct cloogstatement CloogStatement ; 58 59 60/****************************************************************************** 61 * Structure display function * 62 ******************************************************************************/ 63void cloog_statement_print_structure(FILE *, CloogStatement *, int) ; 64void cloog_statement_print(FILE *, CloogStatement *) ; 65 66 67/****************************************************************************** 68 * Memory deallocation function * 69 ******************************************************************************/ 70void cloog_statement_free(CloogStatement *) ; 71 72 73/****************************************************************************** 74 * Processing functions * 75 ******************************************************************************/ 76CloogStatement * cloog_statement_malloc(CloogState *state); 77CloogStatement * cloog_statement_alloc(CloogState *state, int); 78CloogStatement * cloog_statement_copy(CloogStatement *) ; 79void cloog_statement_add(CloogStatement**, CloogStatement**, CloogStatement*) ; 80 81#if defined(__cplusplus) 82 } 83#endif 84#endif /* define _H */ 85 86