Polly 20.0.0git
|
#include <isl/ctx.h>
#include <isl/val.h>
#include <isl_aff_private.h>
#include <isl/map.h>
#include <isl/set.h>
#include <isl/schedule.h>
#include <isl/schedule_node.h>
#include <isl_sort.h>
#include <isl/printer.h>
#include <isl_schedule_private.h>
#include <isl_schedule_tree.h>
#include <isl_schedule_node_private.h>
#include <print_templ_yaml.c>
Go to the source code of this file.
Macros | |
#define | BASE schedule |
#define BASE schedule |
Definition at line 683 of file isl_schedule.c.
|
static |
Definition at line 311 of file isl_schedule.c.
References isl_schedule_node_align_params(), isl_space_copy(), and user.
Referenced by FN(), isl_schedule_align_params(), and MULTI().
|
static |
Definition at line 563 of file isl_schedule.c.
References isl_schedule_tree_child(), isl_schedule_tree_children_insert_filter(), isl_schedule_tree_free(), isl_schedule_tree_from_filter(), isl_schedule_tree_get_type(), isl_schedule_tree_has_children(), isl_schedule_tree_insert_filter(), tree, and type.
Referenced by isl_schedule_pair().
__isl_give isl_printer * isl_printer_print_schedule | ( | __isl_take isl_printer * | p, |
__isl_keep isl_schedule * | schedule | ||
) |
Definition at line 673 of file isl_schedule.c.
References isl_printer_free(), isl_printer_print_schedule_tree(), p, and schedule.
Referenced by isl_obj_schedule_print(), isl_printer_print_union_access_info(), and main().
__isl_give isl_schedule * isl_schedule_align_params | ( | __isl_take isl_schedule * | schedule, |
__isl_take isl_space * | space | ||
) |
Definition at line 322 of file isl_schedule.c.
References align_params(), isl_schedule_map_schedule_node_bottom_up(), isl_space_free(), and schedule.
Referenced by isl::schedule::align_params().
__isl_give isl_schedule * isl_schedule_copy | ( | __isl_keep isl_schedule * | sched | ) |
Definition at line 93 of file isl_schedule.c.
References isl_schedule::ref.
Referenced by buildFlow(), isl::schedule::copy(), isl_obj_schedule_copy(), isl_schedule_get_root(), isl_schedule_node_dup(), isl_schedule_node_get_schedule(), and isl_union_access_info_copy().
__isl_give isl_schedule * isl_schedule_cow | ( | __isl_take isl_schedule * | schedule | ) |
Definition at line 105 of file isl_schedule.c.
References isl_schedule_from_schedule_tree(), isl_schedule_get_ctx(), isl_schedule_tree_copy(), schedule, and tree.
Referenced by isl_schedule_set_root().
__isl_give isl_schedule * isl_schedule_empty | ( | __isl_take isl_space * | space | ) |
Definition at line 86 of file isl_schedule.c.
References isl_schedule_from_domain(), and isl_union_set_empty().
Referenced by isl_union_access_info_init().
__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 at line 367 of file isl_schedule.c.
References domain, isl_schedule_free(), isl_schedule_get_domain(), isl_schedule_get_root(), isl_schedule_node_child(), isl_schedule_node_expand(), isl_schedule_node_free(), isl_schedule_node_get_schedule(), isl_schedule_node_get_tree(), schedule, and tree.
isl_stat isl_schedule_foreach_schedule_node_top_down | ( | __isl_keep isl_schedule * | sched, |
isl_bool(*)(__isl_keep isl_schedule_node *node, void *user) | fn, | ||
void * | user | ||
) |
Definition at line 247 of file isl_schedule.c.
References fn, isl_schedule_get_root(), isl_schedule_node_foreach_descendant_top_down(), isl_schedule_node_free(), isl_stat_error, and user.
Referenced by compute_flow_schedule().
__isl_null isl_schedule * isl_schedule_free | ( | __isl_take isl_schedule * | sched | ) |
Definition at line 121 of file isl_schedule.c.
References isl_schedule_tree_free().
Referenced by polly::Dependences::calculateDependences(), compute_schedule_with_context(), isl_ast_build_node_from_schedule(), isl_obj_schedule_free(), isl_schedule_expand(), isl_schedule_from_schedule_tree(), isl_schedule_gist_domain_params(), isl_schedule_insert_context(), isl_schedule_insert_guard(), isl_schedule_insert_partial_schedule(), isl_schedule_intersect_domain(), isl_schedule_map_schedule_node_bottom_up(), isl_schedule_node_alloc(), isl_schedule_node_free(), isl_schedule_node_from_domain(), isl_schedule_node_from_extension(), isl_schedule_pair(), isl_schedule_set_root(), isl_union_access_info_free(), isl_union_access_info_set_schedule(), isl_union_access_info_set_schedule_map(), main(), test_coalescing_schedule(), test_conditional_schedule_constraints(), test_one_schedule(), test_padded_schedule(), test_schedule_tree(), test_schedule_tree_group_2(), test_special_conditional_schedule_constraints_2(), and isl::schedule::~schedule().
__isl_give isl_schedule * isl_schedule_from_domain | ( | __isl_take isl_union_set * | domain | ) |
Definition at line 72 of file isl_schedule.c.
References domain, isl_schedule_from_schedule_tree(), isl_schedule_tree_from_domain(), isl_union_set_get_ctx(), and tree.
Referenced by isl::schedule::from_domain(), isl_schedule_constraints_compute_schedule(), isl_schedule_empty(), isl_schedule_node_from_domain(), and test_schedule_tree().
__isl_give isl_schedule * isl_schedule_from_schedule_tree | ( | isl_ctx * | ctx, |
__isl_take isl_schedule_tree * | tree | ||
) |
Definition at line 38 of file isl_schedule.c.
References isl_calloc_type, isl_die, isl_error_unsupported, isl_schedule_free(), isl_schedule_node_domain, isl_schedule_node_extension, isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), isl_schedule_tree_get_type(), isl_schedule_tree_leaf(), schedule, tree, and type.
Referenced by isl_schedule_cow(), isl_schedule_from_domain(), isl_schedule_node_from_extension(), isl_schedule_pair(), and isl_stream_read_schedule().
isl_ctx * isl_schedule_get_ctx | ( | __isl_keep isl_schedule * | schedule | ) |
Definition at line 160 of file isl_schedule.c.
References isl_schedule_tree_get_ctx(), and schedule.
Referenced by buildFlow(), construct_ast_from_schedule(), isl::schedule::ctx(), isl_schedule_cow(), isl_schedule_get_map(), isl_schedule_get_root(), isl_schedule_get_space(), isl_schedule_gist_domain_params(), isl_schedule_intersect_domain(), isl_schedule_node_alloc(), isl_schedule_node_get_ctx(), and isl_schedule_pair().
__isl_give isl_union_set * isl_schedule_get_domain | ( | __isl_keep isl_schedule * | schedule | ) |
Definition at line 231 of file isl_schedule.c.
References isl_schedule_tree_domain_get_domain(), and schedule.
Referenced by isl::schedule::domain(), isl_schedule_expand(), and test_schedule_tree_group_2().
__isl_give isl_union_map * isl_schedule_get_map | ( | __isl_keep isl_schedule * | sched | ) |
Definition at line 457 of file isl_schedule.c.
References isl_die, isl_error_internal, isl_schedule_get_ctx(), isl_schedule_get_root(), isl_schedule_node_child(), isl_schedule_node_domain, isl_schedule_node_free(), isl_schedule_node_get_subtree_schedule_union_map(), isl_schedule_tree_get_type(), and type.
Referenced by compute_schedule_with_context(), isl::schedule::map(), test_one_schedule(), test_padded_schedule(), test_schedule_tree(), test_schedule_tree_group_2(), and test_special_conditional_schedule_constraints_2().
__isl_give isl_schedule_node * isl_schedule_get_root | ( | __isl_keep isl_schedule * | schedule | ) |
Definition at line 212 of file isl_schedule.c.
References isl_schedule_copy(), isl_schedule_get_ctx(), isl_schedule_node_alloc(), isl_schedule_tree_copy(), schedule, and tree.
Referenced by isl_ast_build_node_from_schedule(), isl_schedule_expand(), isl_schedule_foreach_schedule_node_top_down(), isl_schedule_get_map(), isl_schedule_gist_domain_params(), isl_schedule_insert_context(), isl_schedule_insert_guard(), isl_schedule_insert_partial_schedule(), isl_schedule_intersect_domain(), isl_schedule_map_schedule_node_bottom_up(), isl_schedule_node_from_domain(), isl_schedule_node_from_extension(), isl::schedule::root(), and test_conditional_schedule_constraints().
__isl_give isl_space * isl_schedule_get_space | ( | __isl_keep isl_schedule * | schedule | ) |
Definition at line 189 of file isl_schedule.c.
References domain, isl_die, isl_error_internal, isl_schedule_get_ctx(), isl_schedule_node_domain, isl_schedule_tree_domain_get_domain(), isl_schedule_tree_get_type(), isl_union_set_free(), isl_union_set_get_space(), schedule, and type.
Referenced by isl_schedule_node_get_domain(), isl_schedule_node_get_prefix_schedule_multi_union_pw_aff(), isl_schedule_node_get_prefix_schedule_relation(), isl_schedule_node_get_prefix_schedule_union_pw_multi_aff(), and isl_schedule_node_get_universe_domain().
__isl_give isl_schedule * isl_schedule_gist_domain_params | ( | __isl_take isl_schedule * | schedule, |
__isl_take isl_set * | context | ||
) |
Definition at line 425 of file isl_schedule.c.
References context, isl_die, isl_error_invalid, isl_schedule_free(), isl_schedule_get_ctx(), isl_schedule_get_root(), isl_schedule_node_domain, isl_schedule_node_domain_gist_params(), isl_schedule_node_free(), isl_schedule_node_get_schedule(), isl_schedule_tree_get_type(), isl_set_free(), and schedule.
Referenced by isl::schedule::gist_domain_params().
__isl_give isl_schedule * isl_schedule_insert_context | ( | __isl_take isl_schedule * | schedule, |
__isl_take isl_set * | context | ||
) |
Definition at line 524 of file isl_schedule.c.
References context, isl_schedule_free(), isl_schedule_get_root(), isl_schedule_node_child(), isl_schedule_node_free(), isl_schedule_node_get_schedule(), isl_schedule_node_insert_context(), and schedule.
__isl_give isl_schedule * isl_schedule_insert_guard | ( | __isl_take isl_schedule * | schedule, |
__isl_take isl_set * | guard | ||
) |
Definition at line 543 of file isl_schedule.c.
References isl_schedule_free(), isl_schedule_get_root(), isl_schedule_node_child(), isl_schedule_node_free(), isl_schedule_node_get_schedule(), isl_schedule_node_insert_guard(), and schedule.
__isl_give isl_schedule * isl_schedule_insert_partial_schedule | ( | __isl_take isl_schedule * | schedule, |
__isl_take isl_multi_union_pw_aff * | partial | ||
) |
Definition at line 485 of file isl_schedule.c.
References isl_die, isl_error_internal, isl_error_invalid, isl_schedule_free(), isl_schedule_get_root(), isl_schedule_node_child(), isl_schedule_node_domain, isl_schedule_node_free(), isl_schedule_node_get_ctx(), isl_schedule_node_get_schedule(), isl_schedule_node_get_type(), isl_schedule_node_insert_partial_schedule(), isl_schedule_node_is_subtree_anchored(), and schedule.
Referenced by isl::schedule::insert_partial_schedule().
__isl_give isl_schedule * isl_schedule_intersect_domain | ( | __isl_take isl_schedule * | schedule, |
__isl_take isl_union_set * | domain | ||
) |
Definition at line 395 of file isl_schedule.c.
References domain, isl_die, isl_error_invalid, isl_schedule_free(), isl_schedule_get_ctx(), isl_schedule_get_root(), isl_schedule_node_domain, isl_schedule_node_domain_intersect_domain(), isl_schedule_node_free(), isl_schedule_node_get_schedule(), isl_schedule_tree_get_type(), isl_union_set_free(), and schedule.
Referenced by isl::schedule::intersect_domain(), and test_schedule_tree().
__isl_give isl_schedule * isl_schedule_map_schedule_node_bottom_up | ( | __isl_take isl_schedule * | schedule, |
__isl_give isl_schedule_node *(*)(__isl_take isl_schedule_node *node, void *user) | fn, | ||
void * | user | ||
) |
Definition at line 272 of file isl_schedule.c.
References fn, isl_schedule_free(), isl_schedule_get_root(), isl_schedule_node_free(), isl_schedule_node_get_schedule(), isl_schedule_node_map_descendant_bottom_up(), schedule, and user.
Referenced by isl_schedule_align_params(), isl_schedule_pullback_union_pw_multi_aff(), isl_schedule_reset_user(), and schedule_set_options().
__isl_give isl_schedule * isl_schedule_pair | ( | enum isl_schedule_node_type | type, |
__isl_take isl_schedule * | schedule1, | ||
__isl_take isl_schedule * | schedule2 | ||
) |
Definition at line 594 of file isl_schedule.c.
References domain, insert_filter_in_child_of_type(), isl_die, isl_error_internal, isl_error_invalid, isl_schedule_free(), isl_schedule_from_schedule_tree(), isl_schedule_get_ctx(), isl_schedule_node_domain, isl_schedule_tree_copy(), isl_schedule_tree_domain_get_domain(), isl_schedule_tree_from_pair(), isl_schedule_tree_get_type(), isl_schedule_tree_insert_domain(), isl_union_set_copy(), isl_union_set_free(), isl_union_set_gist(), isl_union_set_is_disjoint(), isl_union_set_union(), and type.
Referenced by isl_schedule_sequence(), and isl_schedule_set().
__isl_keep isl_schedule_tree * isl_schedule_peek_leaf | ( | __isl_keep isl_schedule * | schedule | ) |
Definition at line 167 of file isl_schedule.c.
References schedule.
Referenced by isl_schedule_node_peek_leaf().
isl_bool isl_schedule_plain_is_equal | ( | __isl_keep isl_schedule * | schedule1, |
__isl_keep isl_schedule * | schedule2 | ||
) |
Definition at line 175 of file isl_schedule.c.
References isl_bool_error, isl_bool_true, and isl_schedule_tree_plain_is_equal().
Referenced by main().
__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 at line 348 of file isl_schedule.c.
References isl_schedule_map_schedule_node_bottom_up(), isl_union_pw_multi_aff_free(), pullback_upma(), and schedule.
Referenced by polly::Dependences::calculateDependences(), and isl::schedule::pullback().
__isl_give isl_schedule * isl_schedule_reset_user | ( | __isl_take isl_schedule * | schedule | ) |
Definition at line 301 of file isl_schedule.c.
References isl_schedule_map_schedule_node_bottom_up(), reset_user(), and schedule.
__isl_give isl_schedule * isl_schedule_sequence | ( | __isl_take isl_schedule * | schedule1, |
__isl_take isl_schedule * | schedule2 | ||
) |
Definition at line 654 of file isl_schedule.c.
References isl_schedule_node_sequence, and isl_schedule_pair().
Referenced by isl::schedule::sequence(), and test_schedule_tree().
__isl_give isl_schedule * isl_schedule_set | ( | __isl_take isl_schedule * | schedule1, |
__isl_take isl_schedule * | schedule2 | ||
) |
Definition at line 665 of file isl_schedule.c.
References isl_schedule_node_set, and isl_schedule_pair().
__isl_give isl_schedule * isl_schedule_set_root | ( | __isl_take isl_schedule * | schedule, |
__isl_take isl_schedule_tree * | tree | ||
) |
Definition at line 137 of file isl_schedule.c.
References isl_schedule_cow(), isl_schedule_free(), isl_schedule_tree_free(), schedule, and tree.
Referenced by update_ancestors().
|
static |
Definition at line 334 of file isl_schedule.c.
References isl_schedule_node_pullback_union_pw_multi_aff(), isl_union_pw_multi_aff_copy(), and user.
Referenced by isl_schedule_pullback_union_pw_multi_aff().
|
static |
Definition at line 292 of file isl_schedule.c.
References isl_schedule_node_reset_user().
Referenced by FN(), and isl_schedule_reset_user().