Lines Matching defs:program

5     **                            program.c                              **
73 void cloog_program_print_structure(file, program, level)
75 CloogProgram * program ;
93 fprintf(file, "Language: %c\n",program->language) ;
103 fprintf(file,"Scattering dimension number: %d\n",program->nb_scattdims) ;
113 if (program->scaldims != NULL)
115 for (i=0;i<program->nb_scattdims;i++)
116 fprintf(file," %d:%d ",i,program->scaldims[i]) ;
128 cloog_names_print_structure(file,program->names,level+1) ;
136 cloog_domain_print_structure(file, program->context, level+1, "Context");
139 cloog_loop_print_structure(file,program->loop,level+1) ;
165 void cloog_program_dump_cloog(FILE * foo, CloogProgram * program,
182 if (program->language == 'c')
186 fprintf(foo,"%c\n\n",program->language) ;
189 fprintf(foo, "# Context (%d parameter(s)):\n", program->names->nb_parameters);
190 cloog_domain_print_constraints(foo, program->context, 0);
192 for (i=0;i<program->names->nb_parameters;i++)
193 fprintf(foo,"%s ",program->names->parameters[i]) ;
197 loop = program->loop ;
206 loop = program->loop ;
222 for (i = 0; i < program->names->nb_scattering; i++)
223 fprintf(foo, "%s ", program->names->scattering[i]);
224 for (i=0;i<program->names->nb_iterators;i++)
225 fprintf(foo,"%s ",program->names->iterators[i]);
248 for (i = 0; i < program->names->nb_scattering; i++)
249 fprintf(foo, "%s ", program->names->scattering[i]);
255 * This function prints the content of a CloogProgram structure (program) into a
261 void cloog_program_print(FILE * file, CloogProgram * program)
262 { cloog_program_print_structure(file,program,0) ;
305 static void print_iterator_declarations(FILE *file, CloogProgram *program,
308 CloogNames *names = program->names;
320 static void print_callable_preamble(FILE *file, CloogProgram *program,
332 for (blocklist = program->blocklist; blocklist; blocklist = blocklist->next) {
337 fprintf(file, "%s", program->names->iterators[0]);
339 fprintf(file, ",%s", program->names->iterators[j]);
343 fprintf(file, " hash(%s);", program->names->iterators[j]);
348 if (program->names->nb_parameters > 0) {
349 fprintf(file, "int %s", program->names->parameters[0]);
350 for(j = 1; j < program->names->nb_parameters; j++)
351 fprintf(file, ", int %s", program->names->parameters[j]);
354 print_iterator_declarations(file, program, options);
357 static void print_callable_postamble(FILE *file, CloogProgram *program)
371 * \param[in] program The generated pseudo-AST to pretty-print.
375 int cloog_program_osl_pprint(FILE * file, CloogProgram * program,
411 root = cloog_clast_create(program, options);
436 * This function prints the content of a CloogProgram structure (program) into a
440 void cloog_program_pprint(file, program, options)
442 CloogProgram * program ;
451 if (cloog_program_osl_pprint(file, program, options))
454 if (program->language == 'f')
476 if (options->compilable && (program->language == 'c'))
486 for (i = 1; i <= program->names->nb_parameters; i++)
494 blocklist = program->blocklist ;
501 { fprintf(file,"%s",program->names->iterators[0]) ;
503 fprintf(file,",%s",program->names->iterators[j]) ;
511 fprintf(file,"\\n\",%s",program->names->iterators[0]) ;
513 fprintf(file,",%s",program->names->iterators[j]) ;
525 print_iterator_declarations(file, program, options);
526 if (program->names->nb_parameters > 0)
528 fprintf(file, " int %s=PARVAL1",program->names->parameters[0]);
529 for(i=2;i<=program->names->nb_parameters;i++)
530 fprintf(file, ", %s=PARVAL%d", program->names->parameters[i-1], i);
539 } else if (options->callable && program->language == 'c') {
540 print_callable_preamble(file, program, options);
544 root = cloog_clast_create(program, options);
549 if (options->compilable && (program->language == 'c'))
553 } else if (options->callable && program->language == 'c')
554 print_callable_postamble(file, program);
567 void cloog_program_free(CloogProgram * program)
568 { cloog_names_free(program->names) ;
569 cloog_loop_free(program->loop) ;
570 cloog_domain_free(program->context) ;
571 cloog_block_list_free(program->blocklist) ;
572 if (program->scaldims != NULL)
573 free(program->scaldims) ;
575 free(program) ;
750 { CloogProgram * program ;
753 program = (CloogProgram *)malloc(sizeof(CloogProgram)) ;
754 if (program == NULL)
758 program->language = 'c' ;
759 program->nb_scattdims = 0 ;
760 program->context = NULL ;
761 program->loop = NULL ;
762 program->names = NULL ;
763 program->blocklist = NULL ;
764 program->scaldims = NULL ;
765 program->usr = NULL;
767 return program ;
783 CloogProgram * cloog_program_generate(program, options)
784 CloogProgram * program ;
812 if ((program->nb_scattdims > options->l) && (options->l >= 0))
819 options->l = program->nb_scattdims ;
829 ((options->l > program->nb_scattdims) || (options->l < 0)))
837 options->l = program->nb_scattdims ;
844 if (program->loop != NULL)
845 { loop = program->loop ;
848 loop = cloog_loop_generate(loop, program->context, 0, 0,
849 program->scaldims,
850 program->nb_scattdims,
862 if ((!options->nosimplify) && (program->loop != NULL))
863 loop = cloog_loop_simplify(loop, program->context, 0,
864 program->nb_scattdims, options);
866 program->loop = loop ;
877 return program ;
892 * - program is the whole program structure (befaore applying scattering),
898 void cloog_program_block(CloogProgram *program,
904 if ((program->loop == NULL) || (program->loop->next == NULL))
918 reference = program->loop ;
919 start = program->loop ;
928 scattering,program->nb_scattdims))
1014 void cloog_program_extract_scalars(CloogProgram *program,
1024 for (i=0;i<program->nb_scattdims;i++)
1037 program->scaldims[i] = 1 ;
1048 for (loop = program->loop; loop; loop = loop->next) {
1062 for (i=program->nb_scattdims-1;i>=0;i--)
1063 if (program->scaldims[i])
1066 for (loop = program->loop; loop; loop = loop->next) {
1090 for (i=0;i<program->nb_scattdims-1;i++)
1091 { if (program->scaldims[i])
1093 while ((j < program->nb_scattdims) && program->scaldims[j])
1094 { program->scaldims[i] ++ ;
1102 nb_scaldims,program->nb_scattdims) ;
1108 * This function adds the scattering (scheduling) informations in a program.
1113 void cloog_program_scatter(CloogProgram *program,
1118 if ((program != NULL) && (scattering != NULL))
1119 { loop = program->loop ;