projects
/
platform
/
upstream
/
isl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
isl_basic_map_simplify: normalize div expressions
[platform/upstream/isl.git]
/
isl_schedule_private.h
diff --git
a/isl_schedule_private.h
b/isl_schedule_private.h
index
dcb6d7a
..
5831071
100644
(file)
--- a/
isl_schedule_private.h
+++ b/
isl_schedule_private.h
@@
-1,18
+1,24
@@
#ifndef ISL_SCHEDLUE_PRIVATE_H
#define ISL_SCHEDLUE_PRIVATE_H
#ifndef ISL_SCHEDLUE_PRIVATE_H
#define ISL_SCHEDLUE_PRIVATE_H
+#include <isl/aff.h>
#include <isl/schedule.h>
#include <isl/schedule.h>
-/* 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.
* 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 {
*/
struct isl_schedule_node {
- isl_m
ap
*sched;
+ isl_m
ulti_aff
*sched;
int n_band;
int *band_end;
int *band_id;
int n_band;
int *band_end;
int *band_id;
+ int *zero;
};
/* Information about the computed schedule.
};
/* 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.
* 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;
*/
struct isl_schedule {
int ref;
@@
-27,7
+35,9
@@
struct isl_schedule {
int n;
int n_band;
int n_total_row;
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];
};
struct isl_schedule_node node[1];
};