1 | #ifndef ISL_SCHEDULE_CONSTRAINTS_H |
2 | #define ISL_SCHEDULE_CONSTRAINTS_H |
3 | |
4 | #include <isl/schedule.h> |
5 | |
6 | enum isl_edge_type { |
7 | isl_edge_validity = 0, |
8 | isl_edge_first = isl_edge_validity, |
9 | isl_edge_coincidence, |
10 | isl_edge_condition, |
11 | isl_edge_conditional_validity, |
12 | isl_edge_proximity, |
13 | isl_edge_last = isl_edge_proximity, |
14 | isl_edge_local |
15 | }; |
16 | |
17 | __isl_give isl_schedule_constraints * |
18 | isl_schedule_constraints_align_params(__isl_take isl_schedule_constraints *sc); |
19 | |
20 | __isl_give isl_union_map *isl_schedule_constraints_get( |
21 | __isl_keep isl_schedule_constraints *sc, enum isl_edge_type type); |
22 | __isl_give isl_schedule_constraints *isl_schedule_constraints_add( |
23 | __isl_take isl_schedule_constraints *sc, enum isl_edge_type type, |
24 | __isl_take isl_union_map *c); |
25 | |
26 | int isl_schedule_constraints_n_basic_map( |
27 | __isl_keep isl_schedule_constraints *sc); |
28 | isl_size isl_schedule_constraints_n_map( |
29 | __isl_keep isl_schedule_constraints *sc); |
30 | |
31 | #endif |
32 | |