Home | History | Annotate | Download | only in cloog
      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