| 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 | |