• Main Page
  • Classes
  • Files
  • File List
  • File Members

scop.h

Go to the documentation of this file.
00001 
00002    /*+------- <| --------------------------------------------------------**
00003     **         A                  Clan/Scop                              **
00004     **---     /.\   -----------------------------------------------------**
00005     **   <|  [""M#                  scop.h                               **
00006     **-   A   | #   -----------------------------------------------------**
00007     **   /.\ [""M#         First version: 30/04/2008                     **
00008     **- [""M# | #  U"U#U  -----------------------------------------------**
00009          | #  | #  \ .:/
00010          | #  | #___| #
00011  ******  | "--'     .-"  ******************************************************
00012  *     |"-"-"-"-"-#-#-##   Clan : the Chunky Loop Analyzer (experimental)     *
00013  ****  |     # ## ######  *****************************************************
00014  *      \       .::::'/                                                       *
00015  *       \      ::::'/     Copyright (C) 2008 Cedric Bastoul                  *
00016  *     :8a|    # # ##                                                         *
00017  *     ::88a      ###      This is free software; you can redistribute it     *
00018  *    ::::888a  8a ##::.   and/or modify it under the terms of the GNU Lesser *
00019  *  ::::::::888a88a[]:::   General Public License as published by the Free    *
00020  *::8:::::::::SUNDOGa8a::. Software Foundation, either version 2.1 of the     *
00021  *::::::::8::::888:Y8888:: License, or (at your option) any later version.    *
00022  *::::':::88::::888::Y88a::::::::::::...                                      *
00023  *::'::..    .   .....   ..   ...  .                                          *
00024  * This software is distributed in the hope that it will be useful, but       *
00025  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY *
00026  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License   *
00027  * for more details.                                                          *
00028  *                                                                            *
00029  * You should have received a copy of the GNU Lesser General Public License   *
00030  * along with software; if not, write to the Free Software Foundation, Inc.,  *
00031  * 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA                     *
00032  *                                                                            *
00033  * Clan, the Chunky Loop Analyzer                                             *
00034  * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr                         *
00035  *                                                                            *
00036  ******************************************************************************/
00037 
00038 
00039 /*+****************************************************************************
00040  *  THIS FILE HAS BEEN AUTOMATICALLY GENERATED FROM scop.h.in BY configure    *
00041  ******************************************************************************/
00042 
00043 
00044 #ifndef SCOPLIB_SCOP_H
00045 # define SCOPLIB_SCOP_H
00046 
00047 # include <unistd.h>
00048 
00049 # define SCOPLIB_RELEASE "0.2.1"
00050 # define SCOPLIB_VERSION "64"
00051 # ifndef SCOPLIB_INT_T_IS_LONGLONG
00052 #  define SCOPLIB_INT_T_IS_LONGLONG
00053 # endif
00054 
00055 # include <scoplib/macros.h>
00056 # include <scoplib/matrix.h>
00057 # include <scoplib/statement.h>
00058 # include <scoplib/vector.h>
00059 
00060 
00061 # if defined(__cplusplus)
00062 extern "C"
00063   {
00064 # endif
00065 
00066 
00071 struct scoplib_scop
00072 {
00073   scoplib_matrix_p context;     
00074   int nb_parameters;            
00075   char ** parameters;           
00076   int nb_arrays;                
00077   char ** arrays;               
00078   scoplib_statement_p statement;
00079   char* optiontags;             
00081   void* usr;                    
00083 };
00084 typedef struct scoplib_scop   scoplib_scop_t;
00085 typedef struct scoplib_scop * scoplib_scop_p;
00086 
00087 
00088 /*+****************************************************************************
00089  *                          Structure display function                        *
00090  ******************************************************************************/
00091 void    scoplib_scop_print_structure(FILE *, scoplib_scop_p, int);
00092 void    scoplib_scop_print(FILE *, scoplib_scop_p);
00093 void    scoplib_scop_print_dot_scop(FILE *, scoplib_scop_p);
00094 void    scoplib_scop_print_dot_scop_options(FILE * file, scoplib_scop_p scop,
00095                                             int options);
00096 
00097 
00098 /******************************************************************************
00099  *                               Reading function                             *
00100  ******************************************************************************/
00101 scoplib_scop_p  scoplib_scop_read(FILE *);
00102 char*           scoplib_scop_tag_content(scoplib_scop_p, char*, char*);
00103 char*           scoplib_scop_tag_content_from_string(char*, char*, char*);
00104 
00105 
00106 /*+****************************************************************************
00107  *                    Memory allocation/deallocation function                 *
00108  ******************************************************************************/
00109 scoplib_scop_p  scoplib_scop_malloc();
00110 void            scoplib_scop_free(scoplib_scop_p);
00111 scoplib_scop_p  scoplib_scop_dup(scoplib_scop_p);
00112 void            scoplib_scop_shallow_free(scoplib_scop_p);
00113 scoplib_scop_p  scoplib_scop_shallow_copy(scoplib_scop_p);
00114 
00115 
00116 /*+****************************************************************************
00117  *                            Processing functions                            *
00118  ******************************************************************************/
00119 void            scoplib_scop_normalize_schedule(scoplib_scop_p);
00120 
00121 
00122 
00123 # if defined(__cplusplus)
00124   }
00125 # endif
00126 
00127 #endif /* define SCOPLIB_SCOP_H */

Generated on Tue Feb 19 2013 00:44:27 for ScopLib by  doxygen 1.7.1