103 if (sc->constraint[i])
106 if (!sc->constraint[i])
111 if (!sc->domain || !sc->context)
194 sc->constraint[
type] = c;
354 sc->constraint[
type] = c;
443 sc->constraint[i] =
apply(sc->constraint[i], umap,
tag);
444 if (!sc->constraint[i])
493#define BASE union_set
497#define BASE union_map
555#define BASE schedule_constraints
559#define KEY enum isl_sc_key
561#define KEY_ERROR isl_sc_key_error
563#define KEY_END isl_sc_key_end
565#define KEY_STR key_str
567#define KEY_EXTRACT extract_key
569#define KEY_GET get_key
577#define BASE union_set
581#define BASE union_map
621 domain = read_union_set(s);
638 constraints = read_union_map(s);
678#define TYPE_BASE schedule_constraints
701 if (!sc->constraint[i])
706 if (!sc->context || !sc->domain)
static __isl_give isl_map * tag(__isl_take isl_map *Relation, __isl_take isl_id *TagId)
Tag the Relation domain with TagId.
#define isl_calloc_type(ctx, type)
isl_bool __isl_keep ISL_KEY * key
isl_stat isl_stat(*) void user)
static __isl_give isl_union_map * apply(__isl_take isl_union_map *c, __isl_keep isl_union_map *umap, int tag)
__isl_give isl_schedule_constraints * isl_schedule_constraints_align_params(__isl_take isl_schedule_constraints *sc)
static int may_be_tagged(enum isl_edge_type type)
__isl_null isl_schedule_constraints * isl_schedule_constraints_free(__isl_take isl_schedule_constraints *sc)
int isl_schedule_constraints_n_basic_map(__isl_keep isl_schedule_constraints *sc)
__isl_give isl_union_map * isl_schedule_constraints_get_conditional_validity(__isl_keep isl_schedule_constraints *sc)
__isl_give isl_schedule_constraints * isl_schedule_constraints_apply(__isl_take isl_schedule_constraints *sc, __isl_take isl_union_map *umap)
static __isl_give isl_schedule_constraints * isl_schedule_constraints_alloc(isl_ctx *ctx)
__isl_give isl_printer * isl_printer_print_schedule_constraints(__isl_take isl_printer *p, __isl_keep isl_schedule_constraints *sc)
static __isl_give isl_schedule_constraints * isl_schedule_constraints_set_domain(__isl_take isl_schedule_constraints *sc, __isl_take isl_union_set *domain)
__isl_give isl_schedule_constraints * isl_schedule_constraints_set_proximity(__isl_take isl_schedule_constraints *sc, __isl_take isl_union_map *proximity)
@ isl_sc_key_conditional_validity
__isl_give isl_union_map * isl_schedule_constraints_get(__isl_keep isl_schedule_constraints *sc, enum isl_edge_type type)
__isl_give isl_schedule_constraints * isl_schedule_constraints_read_from_file(isl_ctx *ctx, FILE *input)
__isl_give isl_union_map * isl_schedule_constraints_get_coincidence(__isl_keep isl_schedule_constraints *sc)
__isl_give isl_schedule_constraints * isl_schedule_constraints_set_coincidence(__isl_take isl_schedule_constraints *sc, __isl_take isl_union_map *coincidence)
__isl_give isl_schedule_constraints * isl_schedule_constraints_set_validity(__isl_take isl_schedule_constraints *sc, __isl_take isl_union_map *validity)
__isl_give isl_union_set * isl_schedule_constraints_get_domain(__isl_keep isl_schedule_constraints *sc)
static __isl_give isl_schedule_constraints * isl_schedule_constraints_set(__isl_take isl_schedule_constraints *sc, enum isl_edge_type type, __isl_take isl_union_map *c)
__isl_give isl_schedule_constraints * isl_schedule_constraints_set_context(__isl_take isl_schedule_constraints *sc, __isl_take isl_set *context)
static isl_stat add_n_basic_map(__isl_take isl_map *map, void *user)
__isl_give isl_schedule_constraints * isl_schedule_constraints_add(__isl_take isl_schedule_constraints *sc, enum isl_edge_type type, __isl_take isl_union_map *c)
__isl_give isl_schedule_constraints * isl_schedule_constraints_copy(__isl_keep isl_schedule_constraints *sc)
__isl_give isl_schedule_constraints * isl_schedule_constraints_set_conditional_validity(__isl_take isl_schedule_constraints *sc, __isl_take isl_union_map *condition, __isl_take isl_union_map *validity)
__isl_give isl_union_map * isl_schedule_constraints_get_proximity(__isl_keep isl_schedule_constraints *sc)
__isl_give isl_union_map * isl_schedule_constraints_get_validity(__isl_keep isl_schedule_constraints *sc)
__isl_give isl_union_map * isl_schedule_constraints_get_conditional_validity_condition(__isl_keep isl_schedule_constraints *sc)
isl_ctx * isl_schedule_constraints_get_ctx(__isl_keep isl_schedule_constraints *sc)
isl_size isl_schedule_constraints_n_map(__isl_keep isl_schedule_constraints *sc)
static __isl_give isl_union_map * apply_factor_domain(__isl_take isl_union_map *c, __isl_keep isl_union_map *umap)
static __isl_give isl_printer * print_constraint(__isl_take isl_printer *p, __isl_keep isl_schedule_constraints *sc, enum isl_edge_type type)
__isl_give isl_set * isl_schedule_constraints_get_context(__isl_keep isl_schedule_constraints *sc)
__isl_give isl_schedule_constraints * isl_schedule_constraints_on_domain(__isl_take isl_union_set *domain)
__isl_give isl_schedule_constraints * isl_stream_read_schedule_constraints(isl_stream *s)
static __isl_give isl_schedule_constraints * isl_schedule_constraints_init(__isl_take isl_schedule_constraints *sc)
@ isl_edge_conditional_validity
static __isl_give isl_schedule_tree * read_set(isl_stream *s)
static __isl_give isl_map * universe(__isl_take isl_map *map)
__isl_export isl_size isl_map_n_basic_map(__isl_keep isl_map *map)
__isl_null isl_map * isl_map_free(__isl_take isl_map *map)
__isl_give isl_printer * isl_printer_yaml_start_mapping(__isl_take isl_printer *p)
__isl_null isl_printer * isl_printer_free(__isl_take isl_printer *printer)
__isl_give isl_printer * isl_printer_yaml_end_mapping(__isl_take isl_printer *p)
__isl_export __isl_give isl_set * isl_set_universe(__isl_take isl_space *space)
__isl_export __isl_give isl_space * isl_set_get_space(__isl_keep isl_set *set)
__isl_null isl_set * isl_set_free(__isl_take isl_set *set)
__isl_give isl_set * isl_set_copy(__isl_keep isl_set *set)
__isl_give isl_set * isl_set_align_params(__isl_take isl_set *set, __isl_take isl_space *model)
isl_bool isl_set_plain_is_universe(__isl_keep isl_set *set)
__isl_null isl_space * isl_space_free(__isl_take isl_space *space)
__isl_give isl_space * isl_space_copy(__isl_keep isl_space *space)
__isl_give isl_space * isl_space_align_params(__isl_take isl_space *space1, __isl_take isl_space *space2)
void isl_stream_error(__isl_keep isl_stream *s, struct isl_token *tok, char *msg)
isl_bool isl_stream_yaml_next(__isl_keep isl_stream *s)
isl_ctx * isl_stream_get_ctx(__isl_keep isl_stream *s)
isl_stat isl_stream_yaml_read_start_mapping(__isl_keep isl_stream *s)
__isl_give isl_stream * isl_stream_new_file(isl_ctx *ctx, FILE *file)
isl_stat isl_stream_yaml_read_end_mapping(__isl_keep isl_stream *s)
void isl_stream_free(__isl_take isl_stream *s)
isl_union_map * constraint[isl_edge_last+1]
__isl_null isl_union_map * isl_union_map_free(__isl_take isl_union_map *umap)
__isl_export __isl_give isl_space * isl_union_map_get_space(__isl_keep isl_union_map *umap)
__isl_export __isl_give isl_union_map * isl_union_map_reverse(__isl_take isl_union_map *umap)
__isl_export __isl_give isl_union_map * isl_union_map_uncurry(__isl_take isl_union_map *umap)
__isl_give isl_union_map * isl_union_map_align_params(__isl_take isl_union_map *umap, __isl_take isl_space *model)
__isl_export isl_stat isl_union_map_foreach_map(__isl_keep isl_union_map *umap, isl_stat(*fn)(__isl_take isl_map *map, void *user), void *user)
__isl_give isl_union_set * isl_union_set_align_params(__isl_take isl_union_set *uset, __isl_take isl_space *model)
__isl_export __isl_give isl_union_map * isl_union_map_apply_range(__isl_take isl_union_map *umap1, __isl_take isl_union_map *umap2)
__isl_give isl_union_map * isl_union_map_copy(__isl_keep isl_union_map *umap)
__isl_export __isl_give isl_union_map * isl_union_map_apply_domain(__isl_take isl_union_map *umap1, __isl_take isl_union_map *umap2)
__isl_give isl_union_map * isl_union_map_empty(__isl_take isl_space *space)
__isl_export __isl_give isl_union_map * isl_union_map_curry(__isl_take isl_union_map *umap)
__isl_export __isl_give isl_union_map * isl_union_map_union(__isl_take isl_union_map *umap1, __isl_take isl_union_map *umap2)
isl_size isl_union_map_n_map(__isl_keep isl_union_map *umap)
__isl_export __isl_give isl_union_map * isl_union_map_detect_equalities(__isl_take isl_union_map *umap)
isl_bool isl_union_map_plain_is_empty(__isl_keep isl_union_map *umap)
struct isl_union_set isl_union_set
__isl_export __isl_give isl_union_set * isl_union_set_apply(__isl_take isl_union_set *uset, __isl_take isl_union_map *umap)
__isl_export __isl_give isl_space * isl_union_set_get_space(__isl_keep isl_union_set *uset)
isl_ctx * isl_union_set_get_ctx(__isl_keep isl_union_set *uset)
__isl_give isl_union_set * isl_union_set_copy(__isl_keep isl_union_set *uset)
__isl_null isl_union_set * isl_union_set_free(__isl_take isl_union_set *uset)