92   int i, j, first = 1, number=1;
 
   95   for (j = 0; j < level; j++)
 
   99     fprintf(file, 
"+-- osl_loop_t\n");
 
  101     fprintf(file, 
"+-- NULL loop\n");
 
  103   while (loop != NULL) {
 
  107       for (j = 0; j < level; j++)
 
  108         fprintf(file, 
"|\t");
 
  110       fprintf(file, 
"|   osl_loop_t (node %d)\n", number);
 
  116     for (j = 0; j <= level+1; j++)
 
  117       fprintf(file, 
"|\t");
 
  121     for (j = 0; j <= level; j++)
 
  122       fprintf(file, 
"|\t");
 
  123     fprintf(file, 
"+--iterator: %s\n", loop->
iter);
 
  125     for (j = 0; j <= level; j++)
 
  126       fprintf(file, 
"|\t");
 
  127     fprintf(file, 
"+--nb_stmts: %d\n", loop->
nb_stmts);
 
  130     for (j = 0; j <= level; j++)
 
  131       fprintf(file, 
"|\t");
 
  132     fprintf(file, 
"+--stmt_ids:");
 
  133     for(i = 0; i < loop->
nb_stmts; i++) {
 
  135       fprintf(file, 
"%2d, ", loop->
stmt_ids[i]);
 
  140     for (j = 0; j <= level; j++)
 
  141       fprintf(file, 
"|\t");
 
  142     fprintf(file, 
"+--private_vars: %s\n", loop->
private_vars);
 
  144     for (j = 0; j <= level; j++)
 
  145       fprintf(file, 
"|\t");
 
  146     fprintf(file, 
"+--directive: %d\n", loop->
directive);
 
  153       for (j = 0; j <= level; j++)
 
  154         fprintf(file, 
"|\t");
 
  155       fprintf(file, 
"V\n");
 
  160   for (j = 0; j <= level; j++)
 
  161     fprintf(file, 
"|\t");
 
  189   int high_water_mark = OSL_MAX_STRING;
 
  191   char buffer[OSL_MAX_STRING];
 
  193   OSL_malloc(
string, 
char *, high_water_mark * 
sizeof(
char));
 
  199   while (loop != NULL) {
 
  200     sprintf(buffer, 
"# ===========================================\n");
 
  203     sprintf(buffer, 
"# Loop number %d \n", ++nloop);
 
  206     sprintf(buffer, 
"# Iterator name\n");
 
  208     sprintf(buffer, 
"%s\n", loop->
iter);
 
  211     sprintf(buffer, 
"# Number of stmts\n");
 
  213     sprintf(buffer, 
"%d\n", loop->
nb_stmts);
 
  217       sprintf(buffer, 
"# Statement identifiers\n");
 
  220     for (i = 0; i < loop->
nb_stmts; i++) {
 
  221       sprintf(buffer, 
"%d\n", loop->
stmt_ids[i]);
 
  225     sprintf(buffer, 
"# Private variables\n");
 
  230     sprintf(buffer, 
"# Directive\n");
 
  232     sprintf(buffer, 
"%d\n", loop->
directive);
 
  238   OSL_realloc(
string, 
char *, (strlen(
string) + 1) * 
sizeof(
char));
 
  266     OSL_debug(
"no loop optional tag");
 
  278   while (nb_loops != 0) {
 
  284     for (i = 0; i < loop->
nb_stmts; i++)
 
  343   while (loop != NULL) {
 
  378   OSL_strdup(clone->
iter, loop->
iter);
 
  382   for (i = 0; i < loop->
nb_stmts; i++) {
 
  442   if (((a1 == NULL) && (a2 != NULL)) || ((a1 != NULL) && (a2 == NULL))) {
 
  459   for (i = 0; i < a1->
nb_stmts; i++) {
 
  461     for (j = 0; j < a2->
nb_stmts; j++) {
 
  507   if (((a1 == NULL) && (a2 != NULL)) || ((a1 != NULL) && (a2 == NULL))) {
 
  508     OSL_info(
"lists of loops are not the same (compare with NULL)");
 
  513       OSL_info(
"list of loops are not the same");
 
  530       OSL_info(
"list of loops are not the same");
 
  550   OSL_strdup(interface->URI, OSL_URI_LOOP);
 
char * iter
\0 terminated iterator name 
void *(* osl_clone_f)(void *)
osl_loop_p osl_loop_clone_one(osl_loop_p loop)
int osl_loop_equal_one(osl_loop_p a1, osl_loop_p a2)
int * stmt_ids
Array of statement identifiers. 
int directive
the OpenMP directive to implement 
osl_interface_p osl_interface_malloc()
char * osl_loop_sprint(osl_loop_p loop)
void osl_loop_dump(FILE *file, osl_loop_p loop)
void osl_loop_idump(FILE *file, osl_loop_p loop, int level)
void *(* osl_sread_f)(char **)
int osl_loop_equal(osl_loop_p a1, osl_loop_p a2)
osl_loop_p osl_loop_malloc()
void osl_util_safe_strcat(char **dst, char *src, int *hwm)
int osl_loop_count(osl_loop_p ll)
void(* osl_idump_f)(FILE *, void *, int)
int osl_util_read_int(FILE *file, char **str)
char *(* osl_sprint_f)(void *)
char * osl_util_read_string(FILE *file, char **str)
char * private_vars
\0 terminated variable names 
void osl_loop_free(osl_loop_p loop)
int nb_stmts
Number of statements in the loop. 
int(* osl_equal_f)(void *, void *)
char * osl_util_read_line(FILE *file, char **str)
osl_loop_p osl_loop_clone(osl_loop_p loop)
osl_interface_p osl_loop_interface()
osl_loop_p osl_loop_sread(char **input)
void osl_loop_add(osl_loop_p loop, osl_loop_p *ll)
void(* osl_free_f)(void *)