add isl_union_set_compute_schedule
[platform/upstream/isl.git] / include / isl / schedule.h
1 #ifndef ISL_SCHEDULE_H
2 #define ISL_SCHEDULE_H
3
4 #include <isl/union_set.h>
5 #include <isl/union_map.h>
6
7 struct isl_schedule;
8 typedef struct isl_schedule isl_schedule;
9
10 __isl_give isl_schedule *isl_union_set_compute_schedule(
11         __isl_take isl_union_set *domain,
12         __isl_take isl_union_map *validity,
13         __isl_take isl_union_map *proximity);
14 void *isl_schedule_free(__isl_take isl_schedule *sched);
15 __isl_give isl_union_map *isl_schedule_get_map(__isl_keep isl_schedule *sched);
16
17 int isl_schedule_n_band(__isl_keep isl_schedule *sched);
18 __isl_give isl_union_map *isl_schedule_get_band(__isl_keep isl_schedule *sched,
19         unsigned band);
20
21 #endif