Polly 20.0.0git
|
#include <isl_schedule_constraints.h>
#include <isl/schedule.h>
#include <isl/space.h>
#include <isl/set.h>
#include <isl/map.h>
#include <isl/union_set.h>
#include <isl/union_map.h>
#include <isl/stream.h>
#include "print_yaml_field_templ.c"
#include <print_templ_yaml.c>
#include "extract_key.c"
#include "read_in_string_templ.c"
#include "isl_read_from_str_templ.c"
Go to the source code of this file.
Classes | |
struct | isl_schedule_constraints |
Macros | |
#define | BASE set |
#define | BASE union_set |
#define | BASE union_map |
#define | BASE schedule_constraints |
#define | KEY enum isl_sc_key |
#define | KEY_ERROR isl_sc_key_error |
#define | KEY_END isl_sc_key_end |
#define | KEY_STR key_str |
#define | KEY_EXTRACT extract_key |
#define | KEY_GET get_key |
#define | BASE set |
#define | BASE union_set |
#define | BASE union_map |
#define | TYPE_BASE schedule_constraints |
Enumerations | |
enum | isl_sc_key { isl_sc_key_error = -1 , isl_sc_key_validity = isl_edge_validity , isl_sc_key_coincidence = isl_edge_coincidence , isl_sc_key_condition = isl_edge_condition , isl_sc_key_conditional_validity = isl_edge_conditional_validity , isl_sc_key_proximity = isl_edge_proximity , isl_sc_key_domain , isl_sc_key_context , isl_sc_key_end } |
Variables | |
static char * | key_str [] |
#define BASE set |
Definition at line 581 of file isl_schedule_constraints.c.
#define BASE union_set |
Definition at line 581 of file isl_schedule_constraints.c.
#define BASE union_map |
Definition at line 581 of file isl_schedule_constraints.c.
#define BASE schedule_constraints |
Definition at line 581 of file isl_schedule_constraints.c.
#define BASE set |
Definition at line 581 of file isl_schedule_constraints.c.
#define BASE union_set |
Definition at line 581 of file isl_schedule_constraints.c.
#define BASE union_map |
Definition at line 581 of file isl_schedule_constraints.c.
#define KEY enum isl_sc_key |
Definition at line 559 of file isl_schedule_constraints.c.
#define KEY_END isl_sc_key_end |
Definition at line 563 of file isl_schedule_constraints.c.
#define KEY_ERROR isl_sc_key_error |
Definition at line 561 of file isl_schedule_constraints.c.
#define KEY_EXTRACT extract_key |
Definition at line 567 of file isl_schedule_constraints.c.
#define KEY_GET get_key |
Definition at line 569 of file isl_schedule_constraints.c.
#define KEY_STR key_str |
Definition at line 565 of file isl_schedule_constraints.c.
#define TYPE_BASE schedule_constraints |
Definition at line 678 of file isl_schedule_constraints.c.
enum isl_sc_key |
Enumerator | |
---|---|
isl_sc_key_error | |
isl_sc_key_validity | |
isl_sc_key_coincidence | |
isl_sc_key_condition | |
isl_sc_key_conditional_validity | |
isl_sc_key_proximity | |
isl_sc_key_domain | |
isl_sc_key_context | |
isl_sc_key_end |
Definition at line 463 of file isl_schedule_constraints.c.
|
static |
Definition at line 714 of file isl_schedule_constraints.c.
References isl_map_free(), isl_map_n_basic_map(), isl_stat_error, isl_stat_ok, map, n, and user.
Referenced by isl_schedule_constraints_n_basic_map().
|
static |
Definition at line 410 of file isl_schedule_constraints.c.
References apply_factor_domain(), isl_union_map_apply_domain(), isl_union_map_apply_range(), isl_union_map_copy(), isl_union_map_union(), t, and tag().
Referenced by isl_schedule_constraints_apply().
|
static |
Definition at line 389 of file isl_schedule_constraints.c.
References isl_union_map_apply_domain(), isl_union_map_copy(), isl_union_map_curry(), isl_union_map_reverse(), and isl_union_map_uncurry().
Referenced by apply().
__isl_give isl_printer * isl_printer_print_schedule_constraints | ( | __isl_take isl_printer * | p, |
__isl_keep isl_schedule_constraints * | sc | ||
) |
Definition at line 527 of file isl_schedule_constraints.c.
References isl_edge_coincidence, isl_edge_condition, isl_edge_conditional_validity, isl_edge_proximity, isl_edge_validity, isl_printer_free(), isl_printer_yaml_end_mapping(), isl_printer_yaml_start_mapping(), isl_sc_key_context, isl_sc_key_domain, isl_set_plain_is_universe(), key_str, p, print_constraint(), and universe().
__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 | ||
) |
Definition at line 346 of file isl_schedule_constraints.c.
References isl_schedule_constraints_free(), isl_union_map_free(), isl_union_map_union(), and type.
Referenced by add_conditional_constraints(), and add_non_conditional_constraints().
__isl_give isl_schedule_constraints * isl_schedule_constraints_align_params | ( | __isl_take isl_schedule_constraints * | sc | ) |
Definition at line 684 of file isl_schedule_constraints.c.
References isl_edge_first, isl_edge_last, isl_schedule_constraints_free(), isl_set_align_params(), isl_set_get_space(), isl_space_align_params(), isl_space_copy(), isl_space_free(), isl_union_map_align_params(), isl_union_map_get_space(), isl_union_set_align_params(), and isl_union_set_get_space().
Referenced by isl_schedule_constraints_compute_schedule().
|
static |
Definition at line 78 of file isl_schedule_constraints.c.
References isl_calloc_type.
Referenced by isl_schedule_constraints_on_domain(), and isl_stream_read_schedule_constraints().
__isl_give isl_schedule_constraints * isl_schedule_constraints_apply | ( | __isl_take isl_schedule_constraints * | sc, |
__isl_take isl_union_map * | umap | ||
) |
Definition at line 431 of file isl_schedule_constraints.c.
References apply(), isl_edge_first, isl_edge_last, isl_schedule_constraints_free(), isl_union_map_free(), isl_union_set_apply(), may_be_tagged(), and tag().
__isl_give isl_schedule_constraints * isl_schedule_constraints_copy | ( | __isl_keep isl_schedule_constraints * | sc | ) |
Definition at line 48 of file isl_schedule_constraints.c.
References isl_schedule_constraints::constraint, isl_schedule_constraints::context, isl_schedule_constraints::domain, isl_calloc_type, isl_edge_first, isl_edge_last, isl_schedule_constraints_free(), isl_set_copy(), isl_union_map_copy(), isl_union_set_copy(), and isl_union_set_get_ctx().
Referenced by isl::schedule_constraints::copy().
__isl_null isl_schedule_constraints * isl_schedule_constraints_free | ( | __isl_take isl_schedule_constraints * | sc | ) |
Definition at line 246 of file isl_schedule_constraints.c.
References isl_edge_first, isl_edge_last, isl_set_free(), isl_union_map_free(), and isl_union_set_free().
Referenced by init_merge_graph(), isl_schedule_constraints_add(), isl_schedule_constraints_align_params(), isl_schedule_constraints_apply(), isl_schedule_constraints_compute_schedule(), isl_schedule_constraints_copy(), isl_schedule_constraints_init(), isl_schedule_constraints_set(), isl_schedule_constraints_set_context(), isl_schedule_constraints_set_domain(), isl_stream_read_schedule_constraints(), and isl::schedule_constraints::~schedule_constraints().
__isl_give isl_union_map * isl_schedule_constraints_get | ( | __isl_keep isl_schedule_constraints * | sc, |
enum isl_edge_type | type | ||
) |
Definition at line 294 of file isl_schedule_constraints.c.
References isl_union_map_copy(), and type.
Referenced by isl_sched_graph_init(), isl_schedule_constraints_get_coincidence(), isl_schedule_constraints_get_conditional_validity(), isl_schedule_constraints_get_conditional_validity_condition(), isl_schedule_constraints_get_proximity(), and isl_schedule_constraints_get_validity().
__isl_give isl_union_map * isl_schedule_constraints_get_coincidence | ( | __isl_keep isl_schedule_constraints * | sc | ) |
Definition at line 313 of file isl_schedule_constraints.c.
References isl_edge_coincidence, and isl_schedule_constraints_get().
Referenced by isl::schedule_constraints::coincidence().
__isl_give isl_union_map * isl_schedule_constraints_get_conditional_validity | ( | __isl_keep isl_schedule_constraints * | sc | ) |
Definition at line 329 of file isl_schedule_constraints.c.
References isl_edge_conditional_validity, and isl_schedule_constraints_get().
Referenced by isl::schedule_constraints::conditional_validity().
__isl_give isl_union_map * isl_schedule_constraints_get_conditional_validity_condition | ( | __isl_keep isl_schedule_constraints * | sc | ) |
Definition at line 338 of file isl_schedule_constraints.c.
References isl_edge_condition, and isl_schedule_constraints_get().
Referenced by isl::schedule_constraints::conditional_validity_condition().
__isl_give isl_set * isl_schedule_constraints_get_context | ( | __isl_keep isl_schedule_constraints * | sc | ) |
Definition at line 283 of file isl_schedule_constraints.c.
References isl_set_copy().
Referenced by isl::schedule_constraints::context(), and isl_sched_graph_init().
isl_ctx * isl_schedule_constraints_get_ctx | ( | __isl_keep isl_schedule_constraints * | sc | ) |
Definition at line 264 of file isl_schedule_constraints.c.
References isl_union_set_get_ctx().
Referenced by isl::schedule_constraints::ctx(), isl_sched_graph_init(), and isl_schedule_constraints_compute_schedule().
__isl_give isl_union_set * isl_schedule_constraints_get_domain | ( | __isl_keep isl_schedule_constraints * | sc | ) |
Definition at line 272 of file isl_schedule_constraints.c.
References isl_union_set_copy().
Referenced by compute_max_row(), isl::schedule_constraints::domain(), isl_sched_graph_init(), and isl_schedule_constraints_compute_schedule().
__isl_give isl_union_map * isl_schedule_constraints_get_proximity | ( | __isl_keep isl_schedule_constraints * | sc | ) |
Definition at line 321 of file isl_schedule_constraints.c.
References isl_edge_proximity, and isl_schedule_constraints_get().
Referenced by isl::schedule_constraints::proximity().
__isl_give isl_union_map * isl_schedule_constraints_get_validity | ( | __isl_keep isl_schedule_constraints * | sc | ) |
Definition at line 305 of file isl_schedule_constraints.c.
References isl_edge_validity, and isl_schedule_constraints_get().
Referenced by isl::schedule_constraints::validity().
|
static |
Definition at line 87 of file isl_schedule_constraints.c.
References isl_edge_first, isl_edge_last, isl_schedule_constraints_free(), isl_set_universe(), isl_space_copy(), isl_union_map_copy(), isl_union_map_empty(), isl_union_map_free(), isl_union_set_free(), and isl_union_set_get_space().
Referenced by isl_schedule_constraints_on_domain(), and isl_stream_read_schedule_constraints().
int isl_schedule_constraints_n_basic_map | ( | __isl_keep isl_schedule_constraints * | sc | ) |
Definition at line 729 of file isl_schedule_constraints.c.
References add_n_basic_map(), isl_edge_first, isl_edge_last, isl_union_map_foreach_map(), and n.
Referenced by compute_max_row().
isl_size isl_schedule_constraints_n_map | ( | __isl_keep isl_schedule_constraints * | sc | ) |
Definition at line 747 of file isl_schedule_constraints.c.
References isl_edge_first, isl_edge_last, isl_size_error, isl_union_map_n_map(), and n.
Referenced by isl_sched_graph_init().
__isl_give isl_schedule_constraints * isl_schedule_constraints_on_domain | ( | __isl_take isl_union_set * | domain | ) |
Definition at line 120 of file isl_schedule_constraints.c.
References domain, isl_schedule_constraints::domain, isl_schedule_constraints_alloc(), isl_schedule_constraints_init(), isl_union_set_free(), and isl_union_set_get_ctx().
Referenced by compute_schedule_with_context(), init_merge_graph(), isl_union_set_compute_schedule(), isl::schedule_constraints::on_domain(), test_coalescing_schedule(), test_conditional_schedule_constraints(), test_one_schedule(), test_padded_schedule(), test_special_conditional_schedule_constraints(), and test_special_conditional_schedule_constraints_2().
__isl_give isl_schedule_constraints * isl_schedule_constraints_read_from_file | ( | isl_ctx * | ctx, |
FILE * | input | ||
) |
Definition at line 662 of file isl_schedule_constraints.c.
References isl_stream::ctx, isl_stream_free(), isl_stream_new_file(), and isl_stream_read_schedule_constraints().
Referenced by main().
|
static |
Definition at line 185 of file isl_schedule_constraints.c.
References isl_schedule_constraints_free(), isl_union_map_detect_equalities(), isl_union_map_free(), and type.
Referenced by isl_schedule_constraints_set_coincidence(), isl_schedule_constraints_set_conditional_validity(), isl_schedule_constraints_set_proximity(), isl_schedule_constraints_set_validity(), and isl_stream_read_schedule_constraints().
__isl_give isl_schedule_constraints * isl_schedule_constraints_set_coincidence | ( | __isl_take isl_schedule_constraints * | sc, |
__isl_take isl_union_map * | coincidence | ||
) |
Definition at line 214 of file isl_schedule_constraints.c.
References isl_edge_coincidence, and isl_schedule_constraints_set().
Referenced by isl::schedule_constraints::set_coincidence(), and test_one_schedule().
__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 | ||
) |
Definition at line 235 of file isl_schedule_constraints.c.
References condition, isl_edge_condition, isl_edge_conditional_validity, and isl_schedule_constraints_set().
Referenced by isl::schedule_constraints::set_conditional_validity(), test_conditional_schedule_constraints(), test_special_conditional_schedule_constraints(), and test_special_conditional_schedule_constraints_2().
__isl_give isl_schedule_constraints * isl_schedule_constraints_set_context | ( | __isl_take isl_schedule_constraints * | sc, |
__isl_take isl_set * | context | ||
) |
Definition at line 162 of file isl_schedule_constraints.c.
References context, isl_schedule_constraints_free(), and isl_set_free().
Referenced by compute_schedule_with_context(), isl_stream_read_schedule_constraints(), and isl::schedule_constraints::set_context().
|
static |
Definition at line 143 of file isl_schedule_constraints.c.
References domain, isl_schedule_constraints_free(), and isl_union_set_free().
Referenced by isl_stream_read_schedule_constraints().
__isl_give isl_schedule_constraints * isl_schedule_constraints_set_proximity | ( | __isl_take isl_schedule_constraints * | sc, |
__isl_take isl_union_map * | proximity | ||
) |
Definition at line 224 of file isl_schedule_constraints.c.
References isl_edge_proximity, and isl_schedule_constraints_set().
Referenced by compute_schedule_with_context(), isl_union_set_compute_schedule(), isl::schedule_constraints::set_proximity(), test_conditional_schedule_constraints(), test_one_schedule(), test_padded_schedule(), and test_special_conditional_schedule_constraints().
__isl_give isl_schedule_constraints * isl_schedule_constraints_set_validity | ( | __isl_take isl_schedule_constraints * | sc, |
__isl_take isl_union_map * | validity | ||
) |
Definition at line 205 of file isl_schedule_constraints.c.
References isl_edge_validity, and isl_schedule_constraints_set().
Referenced by compute_schedule_with_context(), isl_union_set_compute_schedule(), isl::schedule_constraints::set_validity(), test_coalescing_schedule(), test_conditional_schedule_constraints(), test_one_schedule(), test_padded_schedule(), and test_special_conditional_schedule_constraints().
__isl_give isl_schedule_constraints * isl_stream_read_schedule_constraints | ( | isl_stream * | s | ) |
Definition at line 592 of file isl_schedule_constraints.c.
References context, domain, isl_bool_true, isl_sc_key_coincidence, isl_sc_key_condition, isl_sc_key_conditional_validity, isl_sc_key_context, isl_sc_key_domain, isl_sc_key_end, isl_sc_key_error, isl_sc_key_proximity, isl_sc_key_validity, isl_schedule_constraints_alloc(), isl_schedule_constraints_free(), isl_schedule_constraints_init(), isl_schedule_constraints_set(), isl_schedule_constraints_set_context(), isl_schedule_constraints_set_domain(), isl_stream_error(), isl_stream_get_ctx(), isl_stream_yaml_next(), isl_stream_yaml_read_end_mapping(), isl_stream_yaml_read_start_mapping(), key, read_set(), and type.
Referenced by isl_schedule_constraints_read_from_file().
|
static |
Definition at line 367 of file isl_schedule_constraints.c.
References isl_edge_condition, isl_edge_conditional_validity, and type.
Referenced by isl_schedule_constraints_apply().
|
static |
Definition at line 505 of file isl_schedule_constraints.c.
References isl_printer_free(), isl_union_map_plain_is_empty(), key_str, p, and type.
Referenced by isl_printer_print_schedule_constraints().
|
static |
Definition at line 478 of file isl_schedule_constraints.c.
Referenced by isl_printer_print_schedule_constraints(), and print_constraint().