Polly 19.0.0git
schedule.h
Go to the documentation of this file.
1#ifndef ISL_SCHEDULE_H
2#define ISL_SCHEDULE_H
3
6#include <isl/schedule_type.h>
7#include <isl/aff_type.h>
8#include <isl/space_type.h>
9#include <isl/set_type.h>
10#include <isl/list.h>
11#include <isl/printer_type.h>
12
13#if defined(__cplusplus)
14extern "C" {
15#endif
16
19
22
25
28
31
34
37
40
43
46
49
52
64 __isl_take isl_union_map *validity);
68 __isl_take isl_union_map *coincidence);
72 __isl_take isl_union_map *proximity);
78 __isl_take isl_union_map *validity);
81
106
110
113 isl_ctx *ctx, const char *str);
115 isl_ctx *ctx, FILE *input);
121
125
128 __isl_take isl_union_map *validity,
129 __isl_take isl_union_map *proximity);
130
139
142 __isl_keep isl_schedule *schedule2);
143
150
154 void *user);
158 __isl_take isl_schedule_node *node, void *user), void *user);
159
168 __isl_take isl_schedule *schedule1, __isl_take isl_schedule *schedule2);
170 __isl_take isl_schedule *schedule1, __isl_take isl_schedule *schedule2);
175
186 __isl_take isl_schedule *expansion);
187
191 const char *str);
196
197#if defined(__cplusplus)
198}
199#endif
200
201#endif
struct isl_union_pw_multi_aff isl_union_pw_multi_aff
Definition: aff_type.h:38
struct isl_multi_union_pw_aff isl_multi_union_pw_aff
Definition: aff_type.h:46
#define __isl_export
Definition: ctx.h:31
#define __isl_take
Definition: ctx.h:22
isl_stat
Definition: ctx.h:84
#define __isl_constructor
Definition: ctx.h:37
#define __isl_give
Definition: ctx.h:19
#define __isl_null
Definition: ctx.h:28
#define __isl_keep
Definition: ctx.h:25
#define __isl_overload
Definition: ctx.h:34
isl_bool
Definition: ctx.h:89
__isl_export __isl_give ISL_HMAP __isl_take ISL_KEY __isl_take ISL_VAL * val
Definition: hmap.h:32
isl_stat isl_stat(* fn)(__isl_take ISL_KEY *key, __isl_take ISL_VAL *val, void *user)
Definition: hmap.h:37
isl_stat isl_stat(*) void user)
Definition: hmap.h:39
const char * schedule
Definition: isl_test.c:10697
const char * condition
Definition: isl_test.c:4846
const char * p
Definition: isl_test.c:8643
const char * context
Definition: isl_test.c:1784
const char * str
Definition: isl_test.c:2095
struct isl_set isl_set
Definition: map_type.h:26
__isl_give char * isl_schedule_to_str(__isl_keep isl_schedule *schedule)
__isl_give isl_schedule * isl_schedule_align_params(__isl_take isl_schedule *schedule, __isl_take isl_space *space)
Definition: isl_schedule.c:322
__isl_give char * isl_schedule_constraints_to_str(__isl_keep isl_schedule_constraints *sc)
__isl_export __isl_give isl_schedule_node * isl_schedule_get_root(__isl_keep isl_schedule *schedule)
Definition: isl_schedule.c:212
isl_stat isl_options_set_schedule_carry_self_first(isl_ctx *ctx, int val)
__isl_export __isl_give isl_schedule_constraints * isl_schedule_constraints_set_proximity(__isl_take isl_schedule_constraints *sc, __isl_take isl_union_map *proximity)
int isl_options_get_schedule_split_scaled(isl_ctx *ctx)
int isl_options_get_schedule_outer_coincidence(isl_ctx *ctx)
__isl_null isl_schedule_constraints * isl_schedule_constraints_free(__isl_take isl_schedule_constraints *sc)
isl_stat isl_options_set_schedule_whole_component(isl_ctx *ctx, int val)
__isl_null isl_schedule * isl_schedule_free(__isl_take isl_schedule *sched)
Definition: isl_schedule.c:121
__isl_give isl_schedule_constraints * isl_schedule_constraints_apply(__isl_take isl_schedule_constraints *sc, __isl_take isl_union_map *umap)
__isl_give isl_schedule * isl_schedule_set(__isl_take isl_schedule *schedule1, __isl_take isl_schedule *schedule2)
Definition: isl_schedule.c:665
__isl_export __isl_give isl_union_map * isl_schedule_constraints_get_validity(__isl_keep isl_schedule_constraints *sc)
__isl_export __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_printer * isl_printer_print_schedule_constraints(__isl_take isl_printer *p, __isl_keep isl_schedule_constraints *sc)
__isl_give isl_schedule * isl_schedule_insert_context(__isl_take isl_schedule *schedule, __isl_take isl_set *context)
Definition: isl_schedule.c:524
__isl_export __isl_give isl_union_map * isl_schedule_get_map(__isl_keep isl_schedule *sched)
Definition: isl_schedule.c:457
isl_stat isl_options_set_schedule_maximize_coincidence(isl_ctx *ctx, int val)
__isl_export __isl_give isl_schedule * isl_schedule_from_domain(__isl_take isl_union_set *domain)
Definition: isl_schedule.c:72
__isl_export __isl_give isl_union_set * isl_schedule_constraints_get_domain(__isl_keep isl_schedule_constraints *sc)
__isl_give isl_schedule * isl_schedule_gist_domain_params(__isl_take isl_schedule *schedule, __isl_take isl_set *context)
Definition: isl_schedule.c:425
int isl_options_get_schedule_max_coefficient(isl_ctx *ctx)
isl_stat isl_options_set_schedule_treat_coalescing(isl_ctx *ctx, int val)
__isl_give isl_schedule_constraints * isl_schedule_constraints_read_from_file(isl_ctx *ctx, FILE *input)
__isl_give isl_schedule * isl_schedule_map_schedule_node_bottom_up(__isl_take isl_schedule *schedule, __isl_give isl_schedule_node *(*fn)(__isl_take isl_schedule_node *node, void *user), void *user)
Definition: isl_schedule.c:272
isl_stat isl_options_set_schedule_outer_coincidence(isl_ctx *ctx, int val)
int isl_options_get_schedule_max_constant_term(isl_ctx *ctx)
__isl_give isl_schedule * isl_schedule_empty(__isl_take isl_space *space)
Definition: isl_schedule.c:86
__isl_give isl_schedule * isl_schedule_expand(__isl_take isl_schedule *schedule, __isl_take isl_union_pw_multi_aff *contraction, __isl_take isl_schedule *expansion)
Definition: isl_schedule.c:367
int isl_options_get_schedule_serialize_sccs(isl_ctx *ctx)
__isl_export __isl_give isl_schedule_constraints * isl_schedule_constraints_set_context(__isl_take isl_schedule_constraints *sc, __isl_take isl_set *context)
__isl_give isl_schedule_constraints * isl_schedule_constraints_copy(__isl_keep isl_schedule_constraints *sc)
__isl_give isl_schedule * isl_union_set_compute_schedule(__isl_take isl_union_set *domain, __isl_take isl_union_map *validity, __isl_take isl_union_map *proximity)
__isl_give isl_schedule * isl_schedule_intersect_domain(__isl_take isl_schedule *schedule, __isl_take isl_union_set *domain)
Definition: isl_schedule.c:395
int isl_options_get_schedule_treat_coalescing(isl_ctx *ctx)
__isl_export __isl_give isl_set * isl_schedule_constraints_get_context(__isl_keep isl_schedule_constraints *sc)
__isl_give isl_schedule * isl_schedule_copy(__isl_keep isl_schedule *sched)
Definition: isl_schedule.c:93
int isl_options_get_schedule_separate_components(isl_ctx *ctx)
__isl_give isl_schedule * isl_schedule_sequence(__isl_take isl_schedule *schedule1, __isl_take isl_schedule *schedule2)
Definition: isl_schedule.c:654
__isl_export __isl_give isl_union_map * isl_schedule_constraints_get_conditional_validity_condition(__isl_keep isl_schedule_constraints *sc)
__isl_give isl_schedule * isl_schedule_read_from_file(isl_ctx *ctx, FILE *input)
isl_stat isl_options_set_schedule_maximize_band_depth(isl_ctx *ctx, int val)
__isl_export __isl_give isl_union_map * isl_schedule_constraints_get_conditional_validity(__isl_keep isl_schedule_constraints *sc)
isl_ctx * isl_schedule_get_ctx(__isl_keep isl_schedule *sched)
Definition: isl_schedule.c:160
isl_stat isl_options_set_schedule_split_scaled(isl_ctx *ctx, int val)
isl_ctx * isl_schedule_constraints_get_ctx(__isl_keep isl_schedule_constraints *sc)
isl_stat isl_schedule_foreach_schedule_node_top_down(__isl_keep isl_schedule *sched, isl_bool(*fn)(__isl_keep isl_schedule_node *node, void *user), void *user)
Definition: isl_schedule.c:247
__isl_give isl_printer * isl_printer_print_schedule(__isl_take isl_printer *p, __isl_keep isl_schedule *schedule)
Definition: isl_schedule.c:673
isl_stat isl_options_set_schedule_serialize_sccs(isl_ctx *ctx, int val)
__isl_export __isl_give isl_union_map * isl_schedule_constraints_get_proximity(__isl_keep isl_schedule_constraints *sc)
__isl_export __isl_give isl_union_map * isl_schedule_constraints_get_coincidence(__isl_keep isl_schedule_constraints *sc)
int isl_options_get_schedule_maximize_coincidence(isl_ctx *ctx)
int isl_options_get_schedule_whole_component(isl_ctx *ctx)
__isl_export __isl_give isl_union_set * isl_schedule_get_domain(__isl_keep isl_schedule *schedule)
Definition: isl_schedule.c:231
__isl_export __isl_give isl_schedule_constraints * isl_schedule_constraints_on_domain(__isl_take isl_union_set *domain)
isl_stat isl_options_set_schedule_max_constant_term(isl_ctx *ctx, int val)
__isl_overload __isl_give isl_schedule * isl_schedule_pullback_union_pw_multi_aff(__isl_take isl_schedule *schedule, __isl_take isl_union_pw_multi_aff *upma)
Definition: isl_schedule.c:348
__isl_constructor __isl_give isl_schedule * isl_schedule_read_from_str(isl_ctx *ctx, const char *str)
int isl_options_get_schedule_maximize_band_depth(isl_ctx *ctx)
void isl_schedule_constraints_dump(__isl_keep isl_schedule_constraints *sc)
__isl_constructor __isl_give isl_schedule_constraints * isl_schedule_constraints_read_from_str(isl_ctx *ctx, const char *str)
__isl_give isl_schedule * isl_schedule_insert_partial_schedule(__isl_take isl_schedule *schedule, __isl_take isl_multi_union_pw_aff *partial)
Definition: isl_schedule.c:485
isl_stat isl_options_set_schedule_separate_components(isl_ctx *ctx, int val)
int isl_options_get_schedule_carry_self_first(isl_ctx *ctx)
isl_stat isl_options_set_schedule_max_coefficient(isl_ctx *ctx, int val)
__isl_give isl_schedule * isl_schedule_reset_user(__isl_take isl_schedule *schedule)
Definition: isl_schedule.c:301
__isl_give isl_schedule * isl_schedule_insert_guard(__isl_take isl_schedule *schedule, __isl_take isl_set *guard)
Definition: isl_schedule.c:543
__isl_export __isl_give isl_schedule_constraints * isl_schedule_constraints_set_coincidence(__isl_take isl_schedule_constraints *sc, __isl_take isl_union_map *coincidence)
isl_bool isl_schedule_plain_is_equal(__isl_keep isl_schedule *schedule1, __isl_keep isl_schedule *schedule2)
Definition: isl_schedule.c:175
__isl_export __isl_give isl_schedule_constraints * isl_schedule_constraints_set_validity(__isl_take isl_schedule_constraints *sc, __isl_take isl_union_map *validity)
__isl_export __isl_give isl_schedule * isl_schedule_constraints_compute_schedule(__isl_take isl_schedule_constraints *sc)
void isl_schedule_dump(__isl_keep isl_schedule *schedule)
static Signature domain
struct isl_union_set isl_union_set