X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=isl_schedule_private.h;h=58310718f6c409db511adc05d444a422ee87c9af;hb=7bc3560a92635b5dcf7eb9e7329992fc935a1ce2;hp=dcb6d7ad28b6f2092f57684388fe8cce946d8a9e;hpb=fd1fbc971cfbbb85e3bada17c104e469845ab52e;p=platform%2Fupstream%2Fisl.git diff --git a/isl_schedule_private.h b/isl_schedule_private.h index dcb6d7a..5831071 100644 --- a/isl_schedule_private.h +++ b/isl_schedule_private.h @@ -1,18 +1,24 @@ #ifndef ISL_SCHEDLUE_PRIVATE_H #define ISL_SCHEDLUE_PRIVATE_H +#include #include -/* The schedule for an individual domain, plus information about the bands. +/* The schedule for an individual domain, plus information about the bands + * and scheduling dimensions. * In particular, we keep track of the number of bands and for each * band, the starting position of the next band. The first band starts at * position 0. + * For each scheduling dimension, we keep track of whether it result + * in zero dependence distances (within its band) with respect + * to the proximity edges. */ struct isl_schedule_node { - isl_map *sched; + isl_multi_aff *sched; int n_band; int *band_end; int *band_id; + int *zero; }; /* Information about the computed schedule. @@ -20,6 +26,8 @@ struct isl_schedule_node { * n_band is the maximal number of bands. * n_total_row is the number of coordinates of the schedule. * dim contains a description of the parameters. + * band_forest points to a band forest representation of the schedule + * and may be NULL if the forest hasn't been created yet. */ struct isl_schedule { int ref; @@ -27,7 +35,9 @@ struct isl_schedule { int n; int n_band; int n_total_row; - isl_dim *dim; + isl_space *dim; + + isl_band_list *band_forest; struct isl_schedule_node node[1]; };