/**-------------------------------------------------------------------** ** CLooG ** **-------------------------------------------------------------------** ** statement.h ** **-------------------------------------------------------------------** ** First version: november 4th 2001 ** **-------------------------------------------------------------------**/ /****************************************************************************** * CLooG : the Chunky Loop Generator (experimental) * ****************************************************************************** * * * Copyright (C) 2001-2005 Cedric Bastoul * * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 51 Franklin Street, Fifth Floor, * * Boston, MA 02110-1301 USA * * * * CLooG, the Chunky Loop Generator * * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr * * * ******************************************************************************/ #ifndef CLOOG_STATEMENT_H #define CLOOG_STATEMENT_H #if defined(__cplusplus) extern "C" { #endif struct cloogstatement { CloogState *state; /* State. */ char *name; /* Name of the statement. */ int number; /* The statement unique number. */ void * usr ; /* A pointer for library users convenience. */ struct cloogstatement * next ; /* Pointer to the next statement with the * same original domain and the same * scattering function. */ } ; typedef struct cloogstatement CloogStatement ; /****************************************************************************** * Structure display function * ******************************************************************************/ void cloog_statement_print_structure(FILE *, CloogStatement *, int) ; void cloog_statement_print(FILE *, CloogStatement *) ; /****************************************************************************** * Memory deallocation function * ******************************************************************************/ void cloog_statement_free(CloogStatement *) ; /****************************************************************************** * Processing functions * ******************************************************************************/ CloogStatement * cloog_statement_malloc(CloogState *state); CloogStatement * cloog_statement_alloc(CloogState *state, int); CloogStatement * cloog_statement_copy(CloogStatement *) ; void cloog_statement_add(CloogStatement**, CloogStatement**, CloogStatement*) ; #if defined(__cplusplus) } #endif #endif /* define _H */