Polly 20.0.0git
|
#include <isl/schedule_type.h>
#include <isl/union_set_type.h>
#include <isl/aff_type.h>
#include <isl/ast_type.h>
#include <isl/val_type.h>
#include <isl/space_type.h>
#include <isl/id_type.h>
#include <isl/set_type.h>
Go to the source code of this file.
__isl_subclass | ( | isl_schedule_node | ) |
int isl_options_get_tile_scale_tile_loops | ( | isl_ctx * | ctx | ) |
Referenced by isl_multi_union_pw_aff_tile(), isl_schedule_band_point(), and test_tile().
int isl_options_get_tile_shift_point_loops | ( | isl_ctx * | ctx | ) |
Referenced by isl_schedule_band_point(), and test_tile().
Referenced by test_tile().
Referenced by test_tile().
__isl_give isl_printer * isl_printer_print_schedule_node | ( | __isl_take isl_printer * | p, |
__isl_keep isl_schedule_node * | node | ||
) |
Definition at line 4915 of file isl_schedule_node.c.
References isl_printer_free(), isl_printer_print_schedule_tree_mark(), n, and p.
Referenced by isl_schedule_node_dump(), and isl_schedule_node_to_str().
__isl_give isl_schedule_node * isl_schedule_node_align_params | ( | __isl_take isl_schedule_node * | node, |
__isl_take isl_space * | space | ||
) |
Definition at line 4711 of file isl_schedule_node.c.
References isl_schedule_node_get_tree(), isl_schedule_node_graft_tree(), isl_schedule_tree_align_params(), and tree.
Referenced by align_params().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_ancestor | ( | __isl_take isl_schedule_node * | node, |
int | generation | ||
) |
Definition at line 1097 of file isl_schedule_node.c.
References isl_die, isl_error_invalid, isl_schedule_node_cow(), isl_schedule_node_free(), isl_schedule_node_get_ctx(), isl_schedule_node_get_tree_depth(), isl_schedule_tree_free(), n, and tree.
Referenced by isl::schedule_node::ancestor(), is_disjoint_extension(), isl_schedule_node_foreach_ancestor_top_down(), isl_schedule_node_get_shared_ancestor(), isl_schedule_node_grandparent(), isl_schedule_node_parent(), and isl_schedule_node_root().
__isl_export __isl_give isl_union_set * isl_schedule_node_band_get_ast_build_options | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 1773 of file isl_schedule_node.c.
References isl_schedule_tree_band_get_ast_build_options().
Referenced by isl::schedule_node_band::ast_build_options().
__isl_export __isl_give isl_set * isl_schedule_node_band_get_ast_isolate_option | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 1803 of file isl_schedule_node.c.
References isl_schedule_node_get_schedule_depth(), and isl_schedule_tree_band_get_ast_isolate_option().
Referenced by isl::schedule_node_band::ast_isolate_option(), and isl_ast_build_extract_isolated().
__isl_export __isl_give isl_multi_union_pw_aff * isl_schedule_node_band_get_partial_schedule | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 1667 of file isl_schedule_node.c.
References isl_schedule_tree_band_get_partial_schedule().
Referenced by after_in_band(), polly::applyFullUnroll(), polly::applyPartialUnroll(), build_ast_from_band(), isl_schedule_node_band_get_partial_schedule_union_map(), isl::schedule_node_band::partial_schedule(), and test_tile().
__isl_give isl_union_map * isl_schedule_node_band_get_partial_schedule_union_map | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 1684 of file isl_schedule_node.c.
References domain, isl_die, isl_error_invalid, isl_schedule_node_band, isl_schedule_node_band_get_partial_schedule(), isl_schedule_node_band_n_member(), isl_schedule_node_get_ctx(), isl_schedule_node_get_type(), isl_schedule_node_get_universe_domain(), isl_union_map_from_domain(), isl_union_map_from_multi_union_pw_aff(), mupa, and n.
__isl_export isl_bool isl_schedule_node_band_get_permutable | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 1626 of file isl_schedule_node.c.
References isl_bool_error, and isl_schedule_tree_band_get_permutable().
Referenced by isl_schedule_node_band_set_permutable(), and isl::schedule_node_band::permutable().
__isl_give isl_space * isl_schedule_node_band_get_space | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 1656 of file isl_schedule_node.c.
References isl_schedule_tree_band_get_space().
Referenced by check_space_multi_union_pw_aff(), and check_space_multi_val().
enum isl_ast_loop_type isl_schedule_node_band_member_get_ast_loop_type | ( | __isl_keep isl_schedule_node * | node, |
int | pos | ||
) |
Definition at line 1713 of file isl_schedule_node.c.
References isl_ast_loop_error, isl_schedule_tree_band_member_get_ast_loop_type(), and pos().
Referenced by extract_loop_types().
__isl_export isl_bool isl_schedule_node_band_member_get_coincident | ( | __isl_keep isl_schedule_node * | node, |
int | pos | ||
) |
Definition at line 1593 of file isl_schedule_node.c.
References isl_bool_error, isl_schedule_tree_band_member_get_coincident(), and pos().
Referenced by isl_schedule_node_band_member_set_coincident(), and isl::schedule_node_band::member_get_coincident().
enum isl_ast_loop_type isl_schedule_node_band_member_get_isolate_ast_loop_type | ( | __isl_keep isl_schedule_node * | node, |
int | pos | ||
) |
Definition at line 1742 of file isl_schedule_node.c.
References isl_ast_loop_error, isl_schedule_tree_band_member_get_isolate_ast_loop_type(), and pos().
Referenced by isl_ast_build_get_loop_type().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_band_member_set_ast_loop_type | ( | __isl_take isl_schedule_node * | node, |
int | pos, | ||
enum isl_ast_loop_type | type | ||
) |
Definition at line 1725 of file isl_schedule_node.c.
References isl_schedule_node_graft_tree(), isl_schedule_tree_band_member_set_ast_loop_type(), isl_schedule_tree_copy(), pos(), tree, and type.
Referenced by isl::schedule_node_band::member_set_ast_loop_atomic(), isl::schedule_node_band::member_set_ast_loop_default(), isl::schedule_node_band::member_set_ast_loop_separate(), isl::schedule_node_band::member_set_ast_loop_unroll(), and node_set_options().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_band_member_set_coincident | ( | __isl_take isl_schedule_node * | node, |
int | pos, | ||
int | coincident | ||
) |
Definition at line 1604 of file isl_schedule_node.c.
References isl_schedule_node_band_member_get_coincident(), isl_schedule_node_graft_tree(), isl_schedule_tree_band_member_set_coincident(), isl_schedule_tree_copy(), pos(), and tree.
Referenced by insert_current_band(), and isl::schedule_node_band::member_set_coincident().
__isl_give isl_schedule_node * isl_schedule_node_band_member_set_isolate_ast_loop_type | ( | __isl_take isl_schedule_node * | node, |
int | pos, | ||
enum isl_ast_loop_type | type | ||
) |
Definition at line 1756 of file isl_schedule_node.c.
References isl_schedule_node_graft_tree(), isl_schedule_tree_band_member_set_isolate_ast_loop_type(), isl_schedule_tree_copy(), pos(), tree, and type.
__isl_export __isl_give isl_schedule_node * isl_schedule_node_band_mod | ( | __isl_take isl_schedule_node * | node, |
__isl_take isl_multi_val * | mv | ||
) |
Definition at line 1902 of file isl_schedule_node.c.
References check_space_multi_val(), isl_die, isl_error_invalid, isl_schedule_node_free(), isl_schedule_node_get_ctx(), isl_schedule_node_get_tree(), isl_schedule_node_graft_tree(), isl_schedule_node_is_subtree_anchored(), isl_schedule_tree_band_mod(), and tree.
Referenced by isl::schedule_node_band::mod().
__isl_export isl_size isl_schedule_node_band_n_member | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 1583 of file isl_schedule_node.c.
References isl_schedule_tree_band_n_member(), and isl_size_error.
Referenced by after_in_band(), build_ast_from_band(), extract_loop_types(), isl_schedule_node_band_get_partial_schedule_union_map(), isl::schedule_node_band::n_member(), node_set_options(), and test_conditional_schedule_constraints().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_band_scale | ( | __isl_take isl_schedule_node * | node, |
__isl_take isl_multi_val * | mv | ||
) |
Definition at line 1842 of file isl_schedule_node.c.
References check_space_multi_val(), isl_die, isl_error_invalid, isl_schedule_node_free(), isl_schedule_node_get_ctx(), isl_schedule_node_get_tree(), isl_schedule_node_graft_tree(), isl_schedule_node_is_subtree_anchored(), isl_schedule_tree_band_scale(), and tree.
Referenced by isl::schedule_node_band::scale().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_band_scale_down | ( | __isl_take isl_schedule_node * | node, |
__isl_take isl_multi_val * | mv | ||
) |
Definition at line 1872 of file isl_schedule_node.c.
References check_space_multi_val(), isl_die, isl_error_invalid, isl_schedule_node_free(), isl_schedule_node_get_ctx(), isl_schedule_node_get_tree(), isl_schedule_node_graft_tree(), isl_schedule_node_is_subtree_anchored(), isl_schedule_tree_band_scale_down(), and tree.
Referenced by isl::schedule_node_band::scale_down().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_band_set_ast_build_options | ( | __isl_take isl_schedule_node * | node, |
__isl_take isl_union_set * | options | ||
) |
Definition at line 1784 of file isl_schedule_node.c.
References isl_schedule_node_free(), isl_schedule_node_graft_tree(), isl_schedule_tree_band_set_ast_build_options(), isl_schedule_tree_copy(), isl_union_set_free(), and tree.
Referenced by isl::schedule_node_band::set_ast_build_options().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_band_set_permutable | ( | __isl_take isl_schedule_node * | node, |
int | permutable | ||
) |
Definition at line 1637 of file isl_schedule_node.c.
References isl_schedule_node_band_get_permutable(), isl_schedule_node_graft_tree(), isl_schedule_tree_band_set_permutable(), isl_schedule_tree_copy(), and tree.
Referenced by insert_current_band(), and isl::schedule_node_band::set_permutable().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_band_shift | ( | __isl_take isl_schedule_node * | node, |
__isl_take isl_multi_union_pw_aff * | shift | ||
) |
Definition at line 1956 of file isl_schedule_node.c.
References check_space_multi_union_pw_aff(), isl_die, isl_error_invalid, isl_schedule_node_free(), isl_schedule_node_get_ctx(), isl_schedule_node_get_tree(), isl_schedule_node_graft_tree(), isl_schedule_node_is_subtree_anchored(), isl_schedule_tree_band_shift(), and tree.
Referenced by isl::schedule_node_band::shift().
__isl_give isl_schedule_node * isl_schedule_node_band_sink | ( | __isl_take isl_schedule_node * | node | ) |
Definition at line 2051 of file isl_schedule_node.c.
References isl_die, isl_error_invalid, isl_schedule_node_band, isl_schedule_node_free(), isl_schedule_node_get_ctx(), isl_schedule_node_get_subtree_contraction(), isl_schedule_node_get_tree(), isl_schedule_node_get_type(), isl_schedule_node_graft_tree(), isl_schedule_node_is_subtree_anchored(), isl_schedule_tree_append_to_leaves(), isl_schedule_tree_get_child(), isl_schedule_tree_n_children(), isl_schedule_tree_pullback_union_pw_multi_aff(), isl_schedule_tree_reset_children(), n, tree, and type.
__isl_export __isl_give isl_schedule_node * isl_schedule_node_band_split | ( | __isl_take isl_schedule_node * | node, |
int | pos | ||
) |
Definition at line 2097 of file isl_schedule_node.c.
References isl_schedule_node_free(), isl_schedule_node_get_schedule_depth(), isl_schedule_node_get_tree(), isl_schedule_node_graft_tree(), isl_schedule_tree_band_split(), pos(), and tree.
Referenced by isl::schedule_node_band::split().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_band_tile | ( | __isl_take isl_schedule_node * | node, |
__isl_take isl_multi_val * | sizes | ||
) |
Definition at line 2007 of file isl_schedule_node.c.
References check_space_multi_val(), isl_die, isl_error_invalid, isl_schedule_node_free(), isl_schedule_node_get_ctx(), isl_schedule_node_get_tree(), isl_schedule_node_graft_tree(), isl_schedule_node_is_subtree_anchored(), isl_schedule_tree_band_tile(), sizes, and tree.
Referenced by test_tile(), and isl::schedule_node_band::tile().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_child | ( | __isl_take isl_schedule_node * | node, |
int | pos | ||
) |
Definition at line 1170 of file isl_schedule_node.c.
References isl_die, isl_error_invalid, isl_realloc_array, isl_schedule_node_cow(), isl_schedule_node_free(), isl_schedule_node_get_ctx(), isl_schedule_node_get_leaf(), isl_schedule_node_has_children(), isl_schedule_tree_copy(), isl_schedule_tree_free(), isl_schedule_tree_get_child(), isl_schedule_tree_has_children(), n, pos(), and tree.
Referenced by after_in_subtree(), build_ast_from_child(), isl::schedule_node::child(), compute_next_band(), extension_from_domain(), gist_enter(), graft_extension(), insert_extension(), isl_schedule_constraints_compute_schedule(), isl_schedule_expand(), isl_schedule_get_map(), isl_schedule_insert_context(), isl_schedule_insert_guard(), isl_schedule_insert_partial_schedule(), isl_schedule_node_domain_intersect_domain(), isl_schedule_node_first_child(), isl_schedule_node_get_child(), isl_schedule_node_grandchild(), isl_schedule_node_group(), isl_schedule_node_sequence_splice_child(), test_schedule_tree_group_1(), test_schedule_tree_group_2(), test_schedule_tree_prefix(), and test_tile().
__isl_export __isl_give isl_set * isl_schedule_node_context_get_context | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 2113 of file isl_schedule_node.c.
References isl_schedule_tree_context_get_context().
Referenced by after_in_context(), build_ast_from_context(), and isl::schedule_node_context::context().
__isl_give isl_schedule_node * isl_schedule_node_copy | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 216 of file isl_schedule_node.c.
References isl_schedule_node::ref.
Referenced by isl::schedule_node::copy(), extract_sink_source(), is_disjoint_extension(), isl_ast_build_dup(), isl_ast_build_get_schedule_node(), isl_schedule_node_foreach_ancestor_top_down(), isl_schedule_node_foreach_descendant_top_down(), isl_schedule_node_get_child(), isl_schedule_node_get_shared_ancestor(), isl_schedule_node_get_subtree_contraction(), isl_schedule_node_get_subtree_expansion(), isl_schedule_node_insert_children(), isl_schedule_node_order_before_or_after(), isl_schedule_node_sequence_splice_child(), and update_ancestors().
__isl_give isl_schedule_node * isl_schedule_node_cut | ( | __isl_take isl_schedule_node * | node | ) |
Definition at line 2777 of file isl_schedule_node.c.
References isl_die, isl_error_invalid, isl_schedule_node_free(), isl_schedule_node_get_ctx(), isl_schedule_node_get_leaf(), isl_schedule_node_get_parent_type(), isl_schedule_node_graft_tree(), isl_schedule_node_has_parent(), isl_schedule_node_sequence, and isl_schedule_node_set.
Referenced by gist_enter(), and gist_leave().
__isl_give isl_schedule_node * isl_schedule_node_delete | ( | __isl_take isl_schedule_node * | node | ) |
Definition at line 2808 of file isl_schedule_node.c.
References isl_die, isl_error_invalid, isl_schedule_node_band, isl_schedule_node_free(), isl_schedule_node_get_ctx(), isl_schedule_node_get_leaf(), isl_schedule_node_get_parent_type(), isl_schedule_node_get_tree(), isl_schedule_node_get_tree_depth(), isl_schedule_node_get_type(), isl_schedule_node_graft_tree(), isl_schedule_node_is_subtree_anchored(), isl_schedule_node_n_children(), isl_schedule_node_sequence, isl_schedule_node_set, isl_schedule_tree_child(), isl_schedule_tree_free(), isl_schedule_tree_has_children(), n, tree, and type.
Referenced by polly::applyFullUnroll(), polly::applyPartialUnroll(), gist_leave(), and gist_leave_expansion().
__isl_export __isl_give isl_union_set * isl_schedule_node_domain_get_domain | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 2124 of file isl_schedule_node.c.
References isl_schedule_tree_domain_get_domain().
Referenced by build_ast_from_domain(), isl::schedule_node_domain::domain(), and extension_from_domain().
void isl_schedule_node_dump | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 4929 of file isl_schedule_node.c.
References isl_printer_free(), isl_printer_print_schedule_node(), isl_printer_set_yaml_style(), isl_printer_to_file(), isl_schedule_node_get_ctx(), and ISL_YAML_STYLE_BLOCK.
__isl_export isl_bool isl_schedule_node_every_descendant | ( | __isl_keep isl_schedule_node * | node, |
isl_bool(*)(__isl_keep isl_schedule_node *node, void *user) | test, | ||
void * | user | ||
) |
Definition at line 1462 of file isl_schedule_node.c.
References call_every(), isl_union_map_every_data::failed, isl_bool_error, isl_bool_false, isl_bool_true, isl_schedule_node_foreach_descendant_top_down(), test, and user.
Referenced by isl::schedule_node::every_descendant().
__isl_export __isl_give isl_union_pw_multi_aff * isl_schedule_node_expansion_get_contraction | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 2146 of file isl_schedule_node.c.
References isl_schedule_tree_expansion_get_contraction().
Referenced by isl::schedule_node_expansion::contraction(), gist_enter_expansion(), and subtree_contraction_enter().
__isl_export __isl_give isl_union_map * isl_schedule_node_expansion_get_expansion | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 2135 of file isl_schedule_node.c.
References isl_schedule_tree_expansion_get_expansion().
Referenced by after_in_expansion(), build_ast_from_expansion(), isl::schedule_node_expansion::expansion(), gist_enter_expansion(), gist_leave_expansion(), and subtree_expansion_enter().
__isl_export __isl_give isl_union_map * isl_schedule_node_extension_get_extension | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 2182 of file isl_schedule_node.c.
References isl_schedule_tree_extension_get_extension().
Referenced by build_ast_from_extension(), extend_extension(), isl::schedule_node_extension::extension(), gist_enter_extension(), graft_extension(), and is_disjoint_extension().
__isl_export __isl_give isl_union_set * isl_schedule_node_filter_get_filter | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 2212 of file isl_schedule_node.c.
References isl_schedule_tree_filter_get_filter().
Referenced by after_in_filter(), build_ast_from_filter(), child_filter(), isl::schedule_node_filter::filter(), gist_done(), gist_enter(), isl_schedule_node_filter_intersect_filter(), isl_schedule_node_order_before_or_after(), isl_schedule_node_sequence_splice_child(), subtree_contraction_enter(), and subtree_expansion_enter().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_first_child | ( | __isl_take isl_schedule_node * | node | ) |
Definition at line 1226 of file isl_schedule_node.c.
References isl_schedule_node_child().
Referenced by isl::schedule_node::first_child(), gist_enter(), postorder_enter(), preorder_enter(), subtree_contraction_enter(), subtree_expansion_enter(), and test_conditional_schedule_constraints().
__isl_export isl_stat isl_schedule_node_foreach_ancestor_top_down | ( | __isl_keep isl_schedule_node * | node, |
isl_stat(*)(__isl_keep isl_schedule_node *node, void *user) | fn, | ||
void * | user | ||
) |
Definition at line 1543 of file isl_schedule_node.c.
References fn, isl_schedule_node_ancestor(), isl_schedule_node_copy(), isl_schedule_node_free(), isl_schedule_node_get_tree_depth(), isl_stat_error, isl_stat_ok, n, and user.
Referenced by isl::schedule_node::foreach_ancestor_top_down().
__isl_export isl_stat isl_schedule_node_foreach_descendant_top_down | ( | __isl_keep isl_schedule_node * | node, |
isl_bool(*)(__isl_keep isl_schedule_node *node, void *user) | fn, | ||
void * | user | ||
) |
Definition at line 1414 of file isl_schedule_node.c.
References fn, isl_schedule_node_copy(), isl_schedule_node_free(), isl_stat_error, isl_stat_ok, preorder_enter(), preorder_leave(), traverse(), and user.
Referenced by isl::schedule_node::foreach_descendant_top_down(), isl_schedule_foreach_schedule_node_top_down(), and isl_schedule_node_every_descendant().
__isl_null isl_schedule_node * isl_schedule_node_free | ( | __isl_take isl_schedule_node * | node | ) |
Definition at line 228 of file isl_schedule_node.c.
References isl_schedule_free(), and isl_schedule_tree_free().
Referenced by after_in_child(), after_in_set(), after_in_subtree(), before_node(), build_ast_from_band(), build_ast_from_domain(), build_ast_from_expansion(), build_ast_from_filter(), build_ast_from_leaf(), build_ast_from_mark(), build_ast_from_schedule_node(), build_ast_from_sequence(), carry(), child_filter(), compute_component_schedule(), compute_next_band(), compute_schedule(), compute_schedule_wcc(), compute_schedule_wcc_whole(), compute_split_schedule(), compute_sub_schedule(), detect_components(), expand(), extend_extension(), extension_from_domain(), gist_enter(), gist_enter_expansion(), gist_enter_extension(), gist_leave(), gist_leave_expansion(), graft_extension(), graft_or_splice(), has_anchored_subtree(), insert_current_band(), insert_extension(), is_disjoint_extension(), isl_ast_build_free(), isl_ast_build_reset_schedule_node(), isl_ast_build_set_schedule_node(), isl_compute_flow_schedule_data_clear(), isl_scc_graph_decompose(), isl_schedule_constraints_compute_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_alloc(), isl_schedule_node_ancestor(), isl_schedule_node_band_mod(), isl_schedule_node_band_scale(), isl_schedule_node_band_scale_down(), isl_schedule_node_band_set_ast_build_options(), isl_schedule_node_band_shift(), isl_schedule_node_band_sink(), isl_schedule_node_band_split(), isl_schedule_node_band_tile(), isl_schedule_node_child(), isl_schedule_node_compute_finish_band(), isl_schedule_node_compute_wcc_clustering(), isl_schedule_node_cut(), isl_schedule_node_delete(), isl_schedule_node_domain_gist_params(), isl_schedule_node_domain_intersect_domain(), isl_schedule_node_expand(), isl_schedule_node_expansion_set_contraction_and_expansion(), isl_schedule_node_extension_set_extension(), isl_schedule_node_filter_intersect_filter(), isl_schedule_node_filter_set_filter(), isl_schedule_node_foreach_ancestor_top_down(), isl_schedule_node_foreach_descendant_top_down(), isl_schedule_node_get_subtree_contraction(), isl_schedule_node_get_subtree_expansion(), isl_schedule_node_graft_before_or_after(), isl_schedule_node_graft_tree(), isl_schedule_node_group(), isl_schedule_node_insert_children(), isl_schedule_node_insert_context(), isl_schedule_node_insert_expansion(), isl_schedule_node_insert_filter(), isl_schedule_node_insert_guard(), isl_schedule_node_insert_mark(), isl_schedule_node_insert_partial_schedule(), isl_schedule_node_next_sibling(), isl_schedule_node_order_before_or_after(), isl_schedule_node_parent(), isl_schedule_node_previous_sibling(), isl_schedule_node_root(), isl_schedule_node_sequence_splice(), isl_schedule_node_sequence_splice_child(), isl_schedule_node_sequence_splice_children(), node_set_options(), preorder_enter(), recurse(), sort_statements(), split_scaled(), subtree_contraction_enter(), subtree_contraction_leave(), subtree_expansion_enter(), subtree_expansion_leave(), test_conditional_schedule_constraints(), test_schedule_tree_group_1(), test_schedule_tree_group_2(), test_schedule_tree_prefix(), test_tile(), traverse(), update_ancestors(), and isl::schedule_node::~schedule_node().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_from_domain | ( | __isl_take isl_union_set * | domain | ) |
Definition at line 65 of file isl_schedule_node.c.
References domain, isl_schedule_free(), isl_schedule_from_domain(), isl_schedule_get_root(), and schedule.
Referenced by isl::schedule_node::from_domain(), isl_schedule_constraints_compute_schedule(), test_schedule_tree_group_1(), test_schedule_tree_group_2(), test_schedule_tree_prefix(), and test_tile().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_from_extension | ( | __isl_take isl_union_map * | extension | ) |
Definition at line 81 of file isl_schedule_node.c.
References isl_schedule_free(), isl_schedule_from_schedule_tree(), isl_schedule_get_root(), isl_schedule_tree_from_extension(), isl_union_map_get_ctx(), schedule, and tree.
Referenced by extension_from_domain(), and isl::schedule_node::from_extension().
__isl_export isl_size isl_schedule_node_get_ancestor_child_position | ( | __isl_keep isl_schedule_node * | node, |
__isl_keep isl_schedule_node * | ancestor | ||
) |
Definition at line 4845 of file isl_schedule_node.c.
References isl_die, isl_error_invalid, isl_schedule_node_get_ctx(), isl_schedule_node_get_tree_depth(), isl_schedule_tree_free(), isl_size_error, and tree.
Referenced by isl::schedule_node::ancestor_child_position(), and before_node().
__isl_give isl_schedule_node * isl_schedule_node_get_child | ( | __isl_keep isl_schedule_node * | node, |
int | pos | ||
) |
Definition at line 1306 of file isl_schedule_node.c.
References isl_schedule_node_child(), isl_schedule_node_copy(), and pos().
Referenced by after_in_child(), after_in_set(), build_ast_from_sequence(), and child_filter().
__isl_export isl_size isl_schedule_node_get_child_position | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 983 of file isl_schedule_node.c.
References isl_die, isl_error_invalid, isl_schedule_node_get_ctx(), isl_schedule_node_has_parent(), isl_size_error, and n.
Referenced by isl::schedule_node::child_position(), extend_extension(), and graft_or_splice().
isl_ctx * isl_schedule_node_get_ctx | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 103 of file isl_schedule_node.c.
References isl_schedule_get_ctx().
Referenced by after_in_tree(), build_ast_from_schedule_node(), carry(), check_insert(), check_is_sequence(), check_space_multi_union_pw_aff(), check_space_multi_val(), compute_component_schedule(), compute_next_band(), compute_schedule(), compute_schedule_wcc(), compute_schedule_wcc_whole(), compute_split_schedule(), isl::schedule_node::ctx(), isl::schedule_node_band::ctx(), isl::schedule_node_context::ctx(), isl::schedule_node_domain::ctx(), isl::schedule_node_expansion::ctx(), isl::schedule_node_extension::ctx(), isl::schedule_node_filter::ctx(), isl::schedule_node_guard::ctx(), isl::schedule_node_leaf::ctx(), isl::schedule_node_mark::ctx(), isl::schedule_node_sequence::ctx(), isl::schedule_node_set::ctx(), extend_extension(), extension_from_domain(), finish_bands_clustering(), finish_bands_decompose(), group_context(), insert_current_band(), isl_schedule_insert_partial_schedule(), isl_schedule_node_ancestor(), isl_schedule_node_band_get_partial_schedule_union_map(), isl_schedule_node_band_mod(), isl_schedule_node_band_scale(), isl_schedule_node_band_scale_down(), isl_schedule_node_band_shift(), isl_schedule_node_band_sink(), isl_schedule_node_band_tile(), isl_schedule_node_child(), isl_schedule_node_compute_finish_band(), isl_schedule_node_compute_wcc_clustering(), isl_schedule_node_cut(), isl_schedule_node_delete(), isl_schedule_node_dump(), isl_schedule_node_get_ancestor_child_position(), isl_schedule_node_get_child_position(), isl_schedule_node_get_parent_type(), isl_schedule_node_get_shared_ancestor(), isl_schedule_node_graft_before_or_after(), isl_schedule_node_group(), isl_schedule_node_insert_children(), isl_schedule_node_insert_partial_schedule(), isl_schedule_node_next_sibling(), isl_schedule_node_parent(), isl_schedule_node_previous_sibling(), isl_schedule_node_sequence_splice(), isl_schedule_node_to_str(), sort_statements(), and split_scaled().
__isl_give isl_union_set * isl_schedule_node_get_domain | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 855 of file isl_schedule_node.c.
References collect_filter_prefix(), isl_schedule_node_get_filter_prefix_data::collect_prefix, isl_schedule_node_get_filter_prefix_data::filter, isl_schedule_node_get_filter_prefix_data::initialized, isl_schedule_get_space(), isl_union_set_empty(), isl_union_set_free(), n, isl_schedule_node_get_filter_prefix_data::prefix, isl_schedule_node_get_filter_prefix_data::universe_domain, and isl_schedule_node_get_filter_prefix_data::universe_filter.
Referenced by isl::schedule_node::domain(), expand(), group_ancestor(), group_band(), insert_extension(), isl_schedule_node_group(), isl_schedule_node_order_before_or_after(), and test_schedule_tree_group_1().
enum isl_schedule_node_type isl_schedule_node_get_parent_type | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 135 of file isl_schedule_node.c.
References isl_die, isl_error_invalid, isl_schedule_node_error, isl_schedule_node_get_ctx(), isl_schedule_node_has_parent(), isl_schedule_tree_free(), isl_schedule_tree_get_type(), n, pos(), and type.
Referenced by check_insert(), graft_or_splice(), isl_schedule_node_cut(), isl_schedule_node_delete(), subtree_contraction_enter(), subtree_contraction_leave(), subtree_expansion_enter(), and subtree_expansion_leave().
__isl_export __isl_give isl_multi_union_pw_aff * isl_schedule_node_get_prefix_schedule_multi_union_pw_aff | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 683 of file isl_schedule_node.c.
References collect_filter_prefix(), isl_schedule_node_get_filter_prefix_data::collect_prefix, isl_schedule_node_get_filter_prefix_data::filter, isl_schedule_node_get_filter_prefix_data::initialized, isl_multi_union_pw_aff_intersect_domain(), isl_multi_union_pw_aff_zero(), isl_schedule_get_space(), isl_space_set_from_params(), n, isl_schedule_node_get_filter_prefix_data::prefix, isl_schedule_node_get_filter_prefix_data::universe_domain, and isl_schedule_node_get_filter_prefix_data::universe_filter.
Referenced by isl_schedule_node_group(), isl::schedule_node::prefix_schedule_multi_union_pw_aff(), and test_schedule_tree_prefix().
__isl_give isl_union_map * isl_schedule_node_get_prefix_schedule_relation | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 802 of file isl_schedule_node.c.
References collect_filter_prefix(), isl_schedule_node_get_filter_prefix_data::collect_prefix, isl_schedule_node_get_filter_prefix_data::filter, isl_schedule_node_get_filter_prefix_data::initialized, isl_dim_set, isl_multi_union_pw_aff_zero(), isl_schedule_get_space(), isl_space_set_from_params(), isl_union_map_empty(), isl_union_map_from_domain(), isl_union_map_from_multi_union_pw_aff(), isl_union_map_intersect_domain(), n, isl_schedule_node_get_filter_prefix_data::prefix, isl_schedule_node_get_filter_prefix_data::universe_domain, and isl_schedule_node_get_filter_prefix_data::universe_filter.
Referenced by collect_sink_source(), and isl::schedule_node::prefix_schedule_relation().
__isl_export __isl_give isl_union_map * isl_schedule_node_get_prefix_schedule_union_map | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 782 of file isl_schedule_node.c.
References isl_schedule_node_get_prefix_schedule_union_pw_multi_aff(), and isl_union_map_from_union_pw_multi_aff().
Referenced by after_in_context(), isl::schedule_node::prefix_schedule_union_map(), and test_schedule_tree_group_1().
__isl_export __isl_give isl_union_pw_multi_aff * isl_schedule_node_get_prefix_schedule_union_pw_multi_aff | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 735 of file isl_schedule_node.c.
References collect_filter_prefix(), isl_schedule_node_get_filter_prefix_data::collect_prefix, isl_schedule_node_get_filter_prefix_data::filter, isl_schedule_node_get_filter_prefix_data::initialized, isl_dim_set, isl_multi_union_pw_aff_zero(), isl_schedule_get_space(), isl_space_set_from_params(), isl_union_pw_multi_aff_empty(), isl_union_pw_multi_aff_from_domain(), isl_union_pw_multi_aff_from_multi_union_pw_aff(), isl_union_pw_multi_aff_intersect_domain(), n, isl_schedule_node_get_filter_prefix_data::prefix, isl_schedule_node_get_filter_prefix_data::universe_domain, and isl_schedule_node_get_filter_prefix_data::universe_filter.
Referenced by isl_schedule_node_get_prefix_schedule_union_map(), isl::schedule_node::prefix_schedule_union_pw_multi_aff(), and test_schedule_tree_group_1().
__isl_export __isl_give isl_schedule * isl_schedule_node_get_schedule | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 177 of file isl_schedule_node.c.
References isl_schedule_copy().
Referenced by isl_schedule_constraints_compute_schedule(), isl_schedule_expand(), 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::schedule(), and test_schedule_tree_group_2().
isl_size isl_schedule_node_get_schedule_depth | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 279 of file isl_schedule_node.c.
References isl_schedule_node_band, isl_schedule_tree_band_n_member(), isl_schedule_tree_free(), isl_size_error, n, and tree.
Referenced by before_node(), extension_from_domain(), group_band(), isl_schedule_node_band_get_ast_isolate_option(), isl_schedule_node_band_split(), isl_schedule_node_group(), and isl::schedule_node::schedule_depth().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_get_shared_ancestor | ( | __isl_keep isl_schedule_node * | node1, |
__isl_keep isl_schedule_node * | node2 | ||
) |
Definition at line 4884 of file isl_schedule_node.c.
References isl_die, isl_error_invalid, isl_schedule_node_ancestor(), isl_schedule_node_copy(), isl_schedule_node_get_ctx(), isl_schedule_node_get_shared_ancestor(), isl_schedule_node_get_tree_depth(), and isl_schedule_node_is_equal().
Referenced by before_node(), isl_schedule_node_get_shared_ancestor(), and isl::schedule_node::shared_ancestor().
__isl_give isl_union_pw_multi_aff * isl_schedule_node_get_subtree_contraction | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 4146 of file isl_schedule_node.c.
References isl_subtree_contraction_data::contractions, domain, isl_schedule_node_copy(), isl_schedule_node_free(), isl_schedule_node_get_universe_domain(), isl_union_pw_multi_aff_empty(), isl_union_pw_multi_aff_free(), isl_union_set_get_space(), isl_union_set_identity_union_pw_multi_aff(), isl_subtree_contraction_data::res, subtree_contraction_enter(), subtree_contraction_leave(), and traverse().
Referenced by isl_schedule_node_band_sink().
__isl_give isl_union_map * isl_schedule_node_get_subtree_expansion | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 3950 of file isl_schedule_node.c.
References domain, isl_subtree_expansion_data::expansions, isl_schedule_node_copy(), isl_schedule_node_free(), isl_schedule_node_get_universe_domain(), isl_union_map_empty(), isl_union_map_free(), isl_union_set_get_space(), isl_union_set_identity(), isl_subtree_expansion_data::res, subtree_expansion_enter(), subtree_expansion_leave(), and traverse().
Referenced by test_schedule_tree_group_2().
__isl_give isl_union_map * isl_schedule_node_get_subtree_schedule_union_map | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 935 of file isl_schedule_node.c.
References domain, isl_schedule_node_get_tree(), isl_schedule_node_get_universe_domain(), isl_schedule_node_peek_leaf(), isl_schedule_tree_first_schedule_descendant(), isl_schedule_tree_free(), isl_schedule_tree_get_subtree_schedule_union_map(), isl_union_map_from_domain(), and tree.
Referenced by isl_schedule_get_map().
__isl_export isl_size isl_schedule_node_get_tree_depth | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 960 of file isl_schedule_node.c.
References isl_size_error.
Referenced by build_ast_from_context(), group_context(), isl_schedule_node_ancestor(), isl_schedule_node_delete(), isl_schedule_node_foreach_ancestor_top_down(), isl_schedule_node_get_ancestor_child_position(), isl_schedule_node_get_shared_ancestor(), isl_schedule_node_has_parent(), isl_schedule_node_is_equal(), isl_schedule_node_root(), traverse(), and isl::schedule_node::tree_depth().
__isl_give isl_union_set * isl_schedule_node_get_universe_domain | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 894 of file isl_schedule_node.c.
References collect_filter_prefix(), isl_schedule_node_get_filter_prefix_data::collect_prefix, isl_schedule_node_get_filter_prefix_data::filter, isl_schedule_node_get_filter_prefix_data::initialized, isl_schedule_get_space(), isl_union_set_empty(), isl_union_set_free(), n, isl_schedule_node_get_filter_prefix_data::prefix, isl_schedule_node_get_filter_prefix_data::universe_domain, and isl_schedule_node_get_filter_prefix_data::universe_filter.
Referenced by count_sink_source(), graft_extension(), group_context(), is_disjoint_extension(), isl_schedule_node_band_get_partial_schedule_union_map(), isl_schedule_node_get_subtree_contraction(), isl_schedule_node_get_subtree_expansion(), isl_schedule_node_get_subtree_schedule_union_map(), and isl::schedule_node::universe_domain().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_graft_after | ( | __isl_take isl_schedule_node * | node, |
__isl_take isl_schedule_node * | graft | ||
) |
Definition at line 4578 of file isl_schedule_node.c.
References isl_schedule_node_graft_before_or_after().
Referenced by isl::schedule_node::graft_after().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_graft_before | ( | __isl_take isl_schedule_node * | node, |
__isl_take isl_schedule_node * | graft | ||
) |
Definition at line 4560 of file isl_schedule_node.c.
References isl_schedule_node_graft_before_or_after().
Referenced by isl::schedule_node::graft_before().
__isl_give isl_schedule_node * isl_schedule_node_grandchild | ( | __isl_take isl_schedule_node * | node, |
int | pos1, | ||
int | pos2 | ||
) |
Definition at line 1215 of file isl_schedule_node.c.
References isl_schedule_node_child().
Referenced by compute_component_schedule(), compute_split_schedule(), detect_components(), detect_components_at(), extend_extension(), finish_bands_clustering(), graft_or_splice(), isl_scc_graph_chain(), isl_scc_graph_decompose(), isl_schedule_node_sequence_splice_child(), isl_schedule_node_sequence_splice_children(), test_schedule_tree_group_2(), and test_schedule_tree_prefix().
__isl_give isl_schedule_node * isl_schedule_node_grandparent | ( | __isl_take isl_schedule_node * | node | ) |
Definition at line 1146 of file isl_schedule_node.c.
References isl_schedule_node_ancestor().
Referenced by compute_component_schedule(), compute_split_schedule(), detect_components(), detect_components_at(), extend_extension(), finish_bands_clustering(), isl_scc_graph_chain(), isl_scc_graph_decompose(), isl_schedule_node_sequence_splice_children(), and test_schedule_tree_group_2().
__isl_give isl_schedule_node * isl_schedule_node_group | ( | __isl_take isl_schedule_node * | node, |
__isl_take isl_id * | group_id | ||
) |
Definition at line 3255 of file isl_schedule_node.c.
References check_insert(), isl_schedule_group_data::contraction, isl_schedule_group_data::dim, domain, isl_schedule_group_data::domain, isl_schedule_group_data::domain_universe, isl_schedule_group_data::expansion, isl_schedule_group_data::group, group_ancestor(), isl_schedule_group_data::group_universe, isl_die, isl_dim_set, isl_error_invalid, isl_id_free(), isl_schedule_node_child(), isl_schedule_node_free(), isl_schedule_node_get_ctx(), isl_schedule_node_get_domain(), isl_schedule_node_get_prefix_schedule_multi_union_pw_aff(), isl_schedule_node_get_schedule_depth(), isl_schedule_node_insert_expansion(), isl_set_universe(), isl_space_copy(), isl_space_map_from_set(), isl_space_set_alloc(), isl_space_set_tuple_id(), isl_union_map_copy(), isl_union_map_domain(), isl_union_map_free(), isl_union_map_from_domain_and_range(), isl_union_map_from_union_pw_multi_aff(), isl_union_map_intersect_range(), isl_union_map_reverse(), isl_union_map_universe(), isl_union_pw_multi_aff_copy(), isl_union_pw_multi_aff_free(), isl_union_pw_multi_aff_from_multi_union_pw_aff(), isl_union_pw_multi_aff_from_union_map(), isl_union_pw_multi_aff_intersect_domain(), isl_union_set_coalesce(), isl_union_set_copy(), isl_union_set_free(), isl_union_set_from_set(), isl_union_set_is_disjoint(), isl_union_set_universe(), isl_schedule_group_data::sched, set, and update_ancestors().
Referenced by test_schedule_tree_group_1(), and test_schedule_tree_group_2().
__isl_export __isl_give isl_set * isl_schedule_node_guard_get_guard | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 2275 of file isl_schedule_node.c.
References isl_schedule_tree_guard_get_guard().
Referenced by build_ast_from_guard(), and isl::schedule_node_guard::guard().
__isl_export isl_bool isl_schedule_node_has_children | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 1057 of file isl_schedule_node.c.
References isl_bool_error, isl_bool_ok(), and isl_schedule_tree_is_leaf().
Referenced by gist_enter(), graft_extension(), isl::schedule_node::has_children(), isl_schedule_node_child(), postorder_enter(), preorder_enter(), subtree_contraction_enter(), and subtree_expansion_enter().
__isl_export isl_bool isl_schedule_node_has_next_sibling | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 1027 of file isl_schedule_node.c.
References isl_bool_error, isl_bool_ok(), isl_schedule_node_has_parent(), isl_schedule_tree_free(), isl_schedule_tree_n_children(), n, and tree.
Referenced by isl::schedule_node::has_next_sibling(), isl_schedule_node_next_sibling(), and traverse().
__isl_export isl_bool isl_schedule_node_has_parent | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 971 of file isl_schedule_node.c.
References isl_bool_error, isl_bool_ok(), and isl_schedule_node_get_tree_depth().
Referenced by check_insert(), isl::schedule_node::has_parent(), isl_schedule_node_cut(), isl_schedule_node_get_child_position(), isl_schedule_node_get_parent_type(), isl_schedule_node_has_next_sibling(), isl_schedule_node_has_previous_sibling(), and isl_schedule_node_parent().
__isl_export isl_bool isl_schedule_node_has_previous_sibling | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 1005 of file isl_schedule_node.c.
References isl_bool_error, isl_bool_ok(), isl_schedule_node_has_parent(), and n.
Referenced by isl::schedule_node::has_previous_sibling(), and isl_schedule_node_previous_sibling().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_insert_context | ( | __isl_take isl_schedule_node * | node, |
__isl_take isl_set * | context | ||
) |
Definition at line 2580 of file isl_schedule_node.c.
References check_insert(), context, isl_schedule_node_free(), isl_schedule_node_get_tree(), isl_schedule_node_graft_tree(), isl_schedule_tree_insert_context(), and tree.
Referenced by isl::schedule_node::insert_context(), and isl_schedule_insert_context().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_insert_filter | ( | __isl_take isl_schedule_node * | node, |
__isl_take isl_union_set * | filter | ||
) |
Definition at line 2641 of file isl_schedule_node.c.
References check_insert(), isl_schedule_node_free(), isl_schedule_node_get_tree(), isl_schedule_node_graft_tree(), isl_schedule_tree_insert_filter(), and tree.
Referenced by gist_leave(), insert_extension(), and isl::schedule_node::insert_filter().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_insert_guard | ( | __isl_take isl_schedule_node * | node, |
__isl_take isl_set * | context | ||
) |
Definition at line 2659 of file isl_schedule_node.c.
References check_insert(), isl_schedule_node_free(), isl_schedule_node_get_tree(), isl_schedule_node_graft_tree(), isl_schedule_tree_insert_guard(), and tree.
Referenced by isl::schedule_node::insert_guard(), and isl_schedule_insert_guard().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_insert_mark | ( | __isl_take isl_schedule_node * | node, |
__isl_take isl_id * | mark | ||
) |
Definition at line 2678 of file isl_schedule_node.c.
References check_insert(), isl_schedule_node_free(), isl_schedule_node_get_tree(), isl_schedule_node_graft_tree(), isl_schedule_tree_insert_mark(), and tree.
Referenced by isl::schedule_node::insert_mark().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_insert_partial_schedule | ( | __isl_take isl_schedule_node * | node, |
__isl_take isl_multi_union_pw_aff * | schedule | ||
) |
Definition at line 2547 of file isl_schedule_node.c.
References check_insert(), isl_die, isl_error_invalid, isl_schedule_band_from_multi_union_pw_aff(), isl_schedule_node_free(), isl_schedule_node_get_ctx(), isl_schedule_node_get_tree(), isl_schedule_node_graft_tree(), isl_schedule_node_is_subtree_anchored(), isl_schedule_tree_insert_band(), mupa, and tree.
Referenced by insert_current_band(), isl::schedule_node::insert_partial_schedule(), isl_schedule_insert_partial_schedule(), test_schedule_tree_group_1(), test_schedule_tree_group_2(), and test_tile().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_insert_sequence | ( | __isl_take isl_schedule_node * | node, |
__isl_take isl_union_set_list * | filters | ||
) |
Definition at line 2750 of file isl_schedule_node.c.
References isl_schedule_node_insert_children(), and isl_schedule_node_sequence.
Referenced by compute_component_schedule(), compute_split_schedule(), finish_bands_clustering(), isl::schedule_node::insert_sequence(), isl_scc_graph_chain(), isl_scc_graph_decompose(), sort_statements(), test_schedule_tree_group_2(), and test_schedule_tree_prefix().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_insert_set | ( | __isl_take isl_schedule_node * | node, |
__isl_take isl_union_set_list * | filters | ||
) |
Definition at line 2763 of file isl_schedule_node.c.
References isl_schedule_node_insert_children(), and isl_schedule_node_set.
Referenced by compute_component_schedule(), detect_components(), and isl::schedule_node::insert_set().
__isl_export isl_bool isl_schedule_node_is_equal | ( | __isl_keep isl_schedule_node * | node1, |
__isl_keep isl_schedule_node * | node2 | ||
) |
Definition at line 248 of file isl_schedule_node.c.
References isl_bool_error, isl_bool_false, isl_bool_true, and isl_schedule_node_get_tree_depth().
Referenced by isl::schedule_node::is_equal(), and isl_schedule_node_get_shared_ancestor().
__isl_export isl_bool isl_schedule_node_is_subtree_anchored | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 1573 of file isl_schedule_node.c.
References isl_bool_error, and isl_schedule_tree_is_subtree_anchored().
Referenced by extension_from_domain(), has_anchored_subtree(), isl::schedule_node::is_subtree_anchored(), isl_schedule_insert_partial_schedule(), isl_schedule_node_band_mod(), isl_schedule_node_band_scale(), isl_schedule_node_band_scale_down(), isl_schedule_node_band_shift(), isl_schedule_node_band_sink(), isl_schedule_node_band_tile(), isl_schedule_node_delete(), and isl_schedule_node_insert_partial_schedule().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_map_descendant_bottom_up | ( | __isl_take isl_schedule_node * | node, |
__isl_give isl_schedule_node *(*)(__isl_take isl_schedule_node *node, void *user) | fn, | ||
void * | user | ||
) |
Definition at line 1526 of file isl_schedule_node.c.
References fn, postorder_enter(), postorder_leave(), traverse(), and user.
Referenced by isl_schedule_map_schedule_node_bottom_up(), isl_schedule_node_expand(), and isl::schedule_node::map_descendant_bottom_up().
__isl_give isl_id * isl_schedule_node_mark_get_id | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 2286 of file isl_schedule_node.c.
References isl_schedule_tree_mark_get_id().
Referenced by build_ast_from_mark(), and isl::schedule_node_mark::id().
__isl_export isl_size isl_schedule_node_n_children | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 1074 of file isl_schedule_node.c.
References isl_schedule_tree_is_leaf(), isl_schedule_tree_n_children(), isl_size_error, and n.
Referenced by after_in_sequence(), after_in_set(), build_ast_from_sequence(), isl_schedule_node_delete(), isl_schedule_node_sequence_splice_child(), isl_schedule_node_sequence_splice_children(), isl::schedule_node::n_children(), and polly::ScheduleTreeVisitor< Derived, RetTy, Args >::visit().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_next_sibling | ( | __isl_take isl_schedule_node * | node | ) |
Definition at line 1271 of file isl_schedule_node.c.
References isl_schedule_tree::children, isl_die, isl_error_invalid, isl_schedule_node_cow(), isl_schedule_node_free(), isl_schedule_node_get_ctx(), isl_schedule_node_has_next_sibling(), isl_schedule_tree_free(), n, and tree.
Referenced by isl::schedule_node::next_sibling(), and traverse().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_order_after | ( | __isl_take isl_schedule_node * | node, |
__isl_take isl_union_set * | filter | ||
) |
Definition at line 4688 of file isl_schedule_node.c.
References isl_schedule_node_order_before_or_after().
Referenced by isl::schedule_node::order_after().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_order_before | ( | __isl_take isl_schedule_node * | node, |
__isl_take isl_union_set * | filter | ||
) |
Definition at line 4675 of file isl_schedule_node.c.
References isl_schedule_node_order_before_or_after().
Referenced by isl::schedule_node::order_before().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_parent | ( | __isl_take isl_schedule_node * | node | ) |
Definition at line 1132 of file isl_schedule_node.c.
References isl_die, isl_error_invalid, isl_schedule_node_ancestor(), isl_schedule_node_free(), isl_schedule_node_get_ctx(), and isl_schedule_node_has_parent().
Referenced by compute_next_band(), extend_extension(), extension_from_domain(), gist_enter(), graft_or_splice(), isl_schedule_node_domain_intersect_domain(), isl_schedule_node_order_before_or_after(), isl_schedule_node_sequence_splice_child(), isl::schedule_node::parent(), test_schedule_tree_group_1(), traverse(), and update_ancestors().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_previous_sibling | ( | __isl_take isl_schedule_node * | node | ) |
Definition at line 1235 of file isl_schedule_node.c.
References isl_schedule_tree::children, isl_die, isl_error_invalid, isl_schedule_node_cow(), isl_schedule_node_free(), isl_schedule_node_get_ctx(), isl_schedule_node_has_previous_sibling(), isl_schedule_tree_free(), n, and tree.
Referenced by isl::schedule_node::previous_sibling().
__isl_give isl_schedule_node * isl_schedule_node_reset_user | ( | __isl_take isl_schedule_node * | node | ) |
Definition at line 4697 of file isl_schedule_node.c.
References isl_schedule_node_get_tree(), isl_schedule_node_graft_tree(), isl_schedule_tree_reset_user(), and tree.
Referenced by reset_user().
__isl_export __isl_give isl_schedule_node * isl_schedule_node_root | ( | __isl_take isl_schedule_node * | node | ) |
Definition at line 1154 of file isl_schedule_node.c.
References isl_schedule_node_ancestor(), isl_schedule_node_free(), isl_schedule_node_get_tree_depth(), and n.
Referenced by isl::schedule_node::root(), and test_schedule_tree_group_2().
__isl_give isl_schedule_node * isl_schedule_node_sequence_splice_child | ( | __isl_take isl_schedule_node * | node, |
int | pos | ||
) |
Definition at line 2341 of file isl_schedule_node.c.
References check_is_sequence(), isl_schedule_node_child(), isl_schedule_node_copy(), isl_schedule_node_filter_get_filter(), isl_schedule_node_filter_intersect_filter(), isl_schedule_node_free(), isl_schedule_node_get_tree(), isl_schedule_node_grandchild(), isl_schedule_node_n_children(), isl_schedule_node_parent(), isl_schedule_node_sequence_splice(), isl_union_set_copy(), isl_union_set_free(), n, pos(), and tree.
Referenced by isl_schedule_node_sequence_splice_children().
__isl_give isl_schedule_node * isl_schedule_node_sequence_splice_children | ( | __isl_take isl_schedule_node * | node | ) |
Definition at line 2384 of file isl_schedule_node.c.
References check_is_sequence(), isl_schedule_node_free(), isl_schedule_node_get_type(), isl_schedule_node_grandchild(), isl_schedule_node_grandparent(), isl_schedule_node_n_children(), isl_schedule_node_sequence, isl_schedule_node_sequence_splice_child(), n, and type.
Referenced by compute_split_schedule(), and isl_scc_graph_decompose().
__isl_give char * isl_schedule_node_to_str | ( | __isl_keep isl_schedule_node * | node | ) |
Definition at line 4949 of file isl_schedule_node.c.
References isl_printer_free(), isl_printer_get_str(), isl_printer_print_schedule_node(), isl_printer_set_yaml_style(), isl_printer_to_str(), isl_schedule_node_get_ctx(), and ISL_YAML_STYLE_BLOCK.
Referenced by isl::operator<<().