mirror of
https://review.haiku-os.org/buildtools
synced 2025-01-31 10:34:41 +01:00
5873a060ca
* these are dependencies for gcc 4 Graphite engine build. * CLooG 0.18.0 includes ISL 0.11.1 which is the backend that the build script enables. * PPL is needed by GCC build even if it isn't the chosen backend.
99 lines
4.8 KiB
C
99 lines
4.8 KiB
C
|
|
/**-------------------------------------------------------------------**
|
|
** CLooG **
|
|
**-------------------------------------------------------------------**
|
|
** cloog.c **
|
|
**-------------------------------------------------------------------**
|
|
** First version: october 25th 2001, CLooG's birth date ! **
|
|
**-------------------------------------------------------------------**/
|
|
|
|
|
|
/******************************************************************************
|
|
* 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 *
|
|
* *
|
|
******************************************************************************/
|
|
|
|
|
|
# include <stdlib.h>
|
|
# include <stdio.h>
|
|
# include "../include/cloog/cloog.h"
|
|
|
|
|
|
int main(int argv, char * argc[])
|
|
{ CloogProgram * program ;
|
|
CloogOptions * options ;
|
|
CloogState *state;
|
|
FILE * input, * output ;
|
|
|
|
state = cloog_state_malloc();
|
|
|
|
/* Options and input/output file setting. */
|
|
cloog_options_read(state, argv, argc, &input, &output, &options);
|
|
|
|
/* Reading the program informations. */
|
|
program = cloog_program_read(input,options) ;
|
|
fclose(input) ;
|
|
|
|
/* Generating and printing the code. */
|
|
program = cloog_program_generate(program,options) ;
|
|
if (options->structure)
|
|
cloog_program_print(stdout,program) ;
|
|
cloog_program_pprint(output,program,options) ;
|
|
cloog_program_free(program) ;
|
|
|
|
/* Printing the allocation statistics if asked. */
|
|
if (options->leaks) {
|
|
fprintf(output,"/* Domains : allocated=%5d, freed=%5d, max=%5d. */\n",
|
|
state->domain_allocated, state->domain_freed, state->domain_max);
|
|
fprintf(output,"/* Loops : allocated=%5d, freed=%5d, max=%5d. */\n",
|
|
state->loop_allocated, state->loop_freed, state->loop_max);
|
|
fprintf(output,"/* Statements : allocated=%5d, freed=%5d, max=%5d. */\n",
|
|
state->statement_allocated, state->statement_freed, state->statement_max);
|
|
fprintf(output,"/* Blocks : allocated=%5d, freed=%5d, max=%5d. */\n",
|
|
state->block_allocated, state->block_freed, state->block_max);
|
|
}
|
|
|
|
/* Inform the user in case of a problem with the allocation statistics. */
|
|
if ((state->domain_allocated != state->domain_freed) ||
|
|
(state->loop_allocated != state->loop_freed) ||
|
|
(state->statement_allocated != state->statement_freed) ||
|
|
(state->block_allocated != state->block_freed))
|
|
{
|
|
cloog_msg(options, CLOOG_INFO,
|
|
"an internal problem has been detected (it should have"
|
|
" no\n consequence on the correctness of the output)."
|
|
" Please send (if\n you can) your input file, the first line "
|
|
"given by typing 'cloog -v'\n and your full command "
|
|
"line call to CLooG including options to\n <cedric.bastoul"
|
|
"@inria.fr>. Thank you for your participation to get\n"
|
|
" CLooG better and safer.\n") ;
|
|
}
|
|
|
|
cloog_options_free(options) ;
|
|
cloog_state_free(state);
|
|
fclose(output) ;
|
|
return 0;
|
|
}
|
|
|