cpp/python: export isl_schedule_constraints
This commit exposes the important documented and not yet exposed
functions of isl_schedule_constraints to the cpp and python bindings.
This includes a new constructor:
isl_schedule_constraints_on_domain
the following setters:
isl_schedule_constraints_set_context
isl_schedule_constraints_set_validity
isl_schedule_constraints_set_coincidence
isl_schedule_constraints_set_proximity
isl_schedule_constraints_set_conditional_validity
and the functionality to compute a schedule from these inputs:
isl_schedule_constraints_compute_schedule
The interface to inspect isl_schedule_constraints is already exposed in
the language bindings, but the interface to construct it from a domain
and to set the individual dependence kinds has not yet been exposed.
This part of the schedule_constraint interface is now exposed.
We export isl_schedule_constraints_on_domain as named static constructor
rather than as an unnamed constructor, as it has a very specific name
which is worth preserving. This follows what has been done earlier for
isl_ast_build_from_context.
We currently do not yet expose isl_schedule_constraints_apply, but wait
until a strong need arises to expose it.
isl_schedule_constraints are used in Polly and these new functions of
the cpp interface have been tested to work with Polly on the full
Polly test suite.
Signed-off-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <sven.verdoolaege@gmail.com>