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 (at) inria.fr * 34 * * 35 ******************************************************************************/ 36 37 38 #ifndef CLOOG_STATEMENT_H 39 #define CLOOG_STATEMENT_H 40 #if defined(__cplusplus) 41 extern "C" 42 { 43 #endif 44 45 46 struct 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 } ; 57 typedef struct cloogstatement CloogStatement ; 58 59 60 /****************************************************************************** 61 * Structure display function * 62 ******************************************************************************/ 63 void cloog_statement_print_structure(FILE *, CloogStatement *, int) ; 64 void cloog_statement_print(FILE *, CloogStatement *) ; 65 66 67 /****************************************************************************** 68 * Memory deallocation function * 69 ******************************************************************************/ 70 void cloog_statement_free(CloogStatement *) ; 71 72 73 /****************************************************************************** 74 * Processing functions * 75 ******************************************************************************/ 76 CloogStatement * cloog_statement_malloc(CloogState *state); 77 CloogStatement * cloog_statement_alloc(CloogState *state, int); 78 CloogStatement * cloog_statement_copy(CloogStatement *) ; 79 void cloog_statement_add(CloogStatement**, CloogStatement**, CloogStatement*) ; 80 81 #if defined(__cplusplus) 82 } 83 #endif 84 #endif /* define _H */ 85 86