2 /**-------------------------------------------------------------------**
4 **-------------------------------------------------------------------**
6 **-------------------------------------------------------------------**
7 ** First version: november 4th 2001 **
8 **-------------------------------------------------------------------**/
11 /******************************************************************************
12 * CLooG : the Chunky Loop Generator (experimental) *
13 ******************************************************************************
15 * Copyright (C) 2001-2005 Cedric Bastoul *
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. *
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. *
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 *
32 * CLooG, the Chunky Loop Generator *
33 * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr *
35 ******************************************************************************/
38 #ifndef CLOOG_STATEMENT_H
39 #define CLOOG_STATEMENT_H
40 #if defined(__cplusplus)
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.
57 typedef struct cloogstatement CloogStatement
;
60 /******************************************************************************
61 * Structure display function *
62 ******************************************************************************/
63 void cloog_statement_print_structure(FILE *, CloogStatement
*, int) ;
64 void cloog_statement_print(FILE *, CloogStatement
*) ;
67 /******************************************************************************
68 * Memory deallocation function *
69 ******************************************************************************/
70 void cloog_statement_free(CloogStatement
*) ;
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
*) ;
81 #if defined(__cplusplus)
84 #endif /* define _H */