1 #ifndef ISL_SCHEDLUE_PRIVATE_H
2 #define ISL_SCHEDLUE_PRIVATE_H
5 #include <isl/schedule.h>
6 #include <isl_schedule_tree.h>
8 /* A complete schedule tree.
10 * band_forest points to a band forest representation of the schedule
11 * and may be NULL if the forest hasn't been created yet.
13 * "root" is the root of the schedule tree and may be NULL if we
14 * have created a band forest corresponding to the schedule.
16 * A pointer to "leaf" may be used to represent a leaf of the schedule.
17 * It should not appear as a child to any other isl_schedule_tree objects,
18 * but an isl_schedule_node may point to "leaf" if it refers to
19 * a leaf of this schedule tree.
24 isl_band_list
*band_forest
;
25 isl_schedule_tree
*root
;
27 struct isl_schedule_tree leaf
;
30 __isl_give isl_schedule
*isl_schedule_from_schedule_tree(isl_ctx
*ctx
,
31 __isl_take isl_schedule_tree
*tree
);
32 __isl_give isl_schedule
*isl_schedule_set_root(
33 __isl_take isl_schedule
*schedule
, __isl_take isl_schedule_tree
*tree
);
34 __isl_give isl_space
*isl_schedule_get_space(
35 __isl_keep isl_schedule
*schedule
);
36 __isl_give isl_union_set
*isl_schedule_get_domain(
37 __isl_keep isl_schedule
*schedule
);
38 __isl_keep isl_schedule_tree
*isl_schedule_peek_leaf(
39 __isl_keep isl_schedule
*schedule
);