Polly 20.0.0git
|
#include <isl_schedule_band.h>
#include <isl/schedule.h>
#include <isl/set.h>
#include <isl/union_set.h>
Go to the source code of this file.
Classes | |
struct | isl_schedule_tree |
Typedefs | |
typedef struct isl_schedule_tree | isl_schedule_tree |
typedef struct isl_schedule_tree isl_schedule_tree |
Definition at line 10 of file isl_schedule_tree.h.
__isl_give isl_printer * isl_printer_print_schedule_tree | ( | __isl_take isl_printer * | p, |
__isl_keep isl_schedule_tree * | tree | ||
) |
Definition at line 2886 of file isl_schedule_tree.c.
References isl_printer_print_schedule_tree_mark(), p, and tree.
Referenced by isl_printer_print_schedule(), and isl_schedule_tree_dump().
__isl_give isl_printer * isl_printer_print_schedule_tree_mark | ( | __isl_take isl_printer * | p, |
__isl_keep isl_schedule_tree * | tree, | ||
int | n_ancestor, | ||
int * | child_pos | ||
) |
Definition at line 2771 of file isl_schedule_tree.c.
References isl_id_get_name(), isl_printer_end_line(), isl_printer_free(), isl_printer_get_ctx(), isl_printer_get_yaml_style(), isl_printer_print_schedule_tree_mark(), isl_printer_print_str(), isl_printer_start_line(), isl_printer_yaml_end_mapping(), isl_printer_yaml_end_sequence(), isl_printer_yaml_next(), isl_printer_yaml_start_mapping(), isl_printer_yaml_start_sequence(), isl_schedule_node_band, isl_schedule_node_context, isl_schedule_node_domain, isl_schedule_node_error, isl_schedule_node_expansion, isl_schedule_node_extension, isl_schedule_node_filter, isl_schedule_node_guard, isl_schedule_node_leaf, isl_schedule_node_mark, isl_schedule_node_sequence, isl_schedule_node_set, isl_schedule_tree_free(), isl_schedule_tree_get_child(), isl_schedule_tree_leaf(), isl_schedule_tree_n_children(), ISL_YAML_STYLE_BLOCK, n, p, print_tree_band(), t, and tree.
Referenced by isl_printer_print_schedule_node(), isl_printer_print_schedule_tree(), and isl_printer_print_schedule_tree_mark().
__isl_give isl_schedule_tree * isl_schedule_tree_align_params | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_space * | space | ||
) |
Definition at line 2459 of file isl_schedule_tree.c.
References isl_schedule_band_align_params(), isl_schedule_node_band, isl_schedule_node_context, isl_schedule_node_domain, isl_schedule_node_error, isl_schedule_node_expansion, isl_schedule_node_extension, isl_schedule_node_filter, isl_schedule_node_guard, isl_schedule_node_leaf, isl_schedule_node_mark, isl_schedule_node_sequence, isl_schedule_node_set, isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_is_leaf(), isl_set_align_params(), isl_space_copy(), isl_space_free(), isl_union_map_align_params(), isl_union_pw_multi_aff_align_params(), isl_union_set_align_params(), and tree.
Referenced by isl_schedule_node_align_params().
__isl_give isl_schedule_tree * isl_schedule_tree_append_to_leaves | ( | __isl_take isl_schedule_tree * | tree1, |
__isl_take isl_schedule_tree * | tree2 | ||
) |
Definition at line 2361 of file isl_schedule_tree.c.
References isl_schedule_tree_append_to_leaves(), isl_schedule_tree_copy(), isl_schedule_tree_free(), isl_schedule_tree_get_child(), isl_schedule_tree_n_children(), isl_schedule_tree_replace_child(), isl_schedule_tree_set_children(), and n.
Referenced by isl_schedule_node_band_sink(), and isl_schedule_tree_append_to_leaves().
__isl_give isl_union_set * isl_schedule_tree_band_get_ast_build_options | ( | __isl_keep isl_schedule_tree * | tree | ) |
Definition at line 1260 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_band_get_ast_build_options(), isl_schedule_node_band, isl_schedule_tree_get_ctx(), and tree.
Referenced by isl_schedule_node_band_get_ast_build_options().
__isl_give isl_set * isl_schedule_tree_band_get_ast_isolate_option | ( | __isl_keep isl_schedule_tree * | tree, |
int | depth | ||
) |
Definition at line 1308 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_band_get_ast_isolate_option(), isl_schedule_node_band, isl_schedule_tree_get_ctx(), and tree.
Referenced by isl_schedule_node_band_get_ast_isolate_option(), and isl_schedule_tree_band_split().
__isl_give isl_multi_union_pw_aff * isl_schedule_tree_band_get_partial_schedule | ( | __isl_keep isl_schedule_tree * | tree | ) |
Definition at line 1142 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_band_get_partial_schedule(), isl_schedule_node_band, isl_schedule_tree_get_ctx(), and tree.
Referenced by collect_filter_prefix_init(), collect_filter_prefix_update(), group_band(), and isl_schedule_node_band_get_partial_schedule().
isl_bool isl_schedule_tree_band_get_permutable | ( | __isl_keep isl_schedule_tree * | tree | ) |
Definition at line 1066 of file isl_schedule_tree.c.
References isl_bool_error, isl_die, isl_error_invalid, isl_schedule_band_get_permutable(), isl_schedule_node_band, isl_schedule_tree_get_ctx(), and tree.
Referenced by isl_schedule_node_band_get_permutable(), and isl_schedule_tree_band_set_permutable().
__isl_give isl_space * isl_schedule_tree_band_get_space | ( | __isl_keep isl_schedule_tree * | tree | ) |
Definition at line 1103 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_band_get_space(), isl_schedule_node_band, isl_schedule_tree_get_ctx(), and tree.
Referenced by isl_schedule_node_band_get_space().
__isl_give isl_schedule_tree * isl_schedule_tree_band_gist | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_union_set * | context | ||
) |
Definition at line 2630 of file isl_schedule_tree.c.
References context, isl_die, isl_error_invalid, isl_schedule_band_gist(), isl_schedule_node_band, isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), isl_union_set_free(), and tree.
Referenced by isl_schedule_node_band_gist().
__isl_give isl_schedule_tree * isl_schedule_tree_band_intersect_domain | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_union_set * | domain | ||
) |
Definition at line 1119 of file isl_schedule_tree.c.
References domain, isl_die, isl_error_invalid, isl_schedule_band_intersect_domain(), isl_schedule_node_band, isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), isl_union_set_free(), and tree.
Referenced by group_band().
enum isl_ast_loop_type isl_schedule_tree_band_member_get_ast_loop_type | ( | __isl_keep isl_schedule_tree * | tree, |
int | pos | ||
) |
Definition at line 1181 of file isl_schedule_tree.c.
References isl_ast_loop_error, isl_die, isl_error_invalid, isl_schedule_band_member_get_ast_loop_type(), isl_schedule_node_band, isl_schedule_tree_get_ctx(), pos(), and tree.
Referenced by isl_schedule_node_band_member_get_ast_loop_type().
isl_bool isl_schedule_tree_band_member_get_coincident | ( | __isl_keep isl_schedule_tree * | tree, |
int | pos | ||
) |
Definition at line 1026 of file isl_schedule_tree.c.
References isl_bool_error, isl_die, isl_error_invalid, isl_schedule_band_member_get_coincident(), isl_schedule_node_band, isl_schedule_tree_get_ctx(), pos(), and tree.
Referenced by isl_schedule_node_band_member_get_coincident(), and isl_schedule_tree_band_member_set_coincident().
enum isl_ast_loop_type isl_schedule_tree_band_member_get_isolate_ast_loop_type | ( | __isl_keep isl_schedule_tree * | tree, |
int | pos | ||
) |
Definition at line 1220 of file isl_schedule_tree.c.
References isl_ast_loop_error, isl_die, isl_error_invalid, isl_schedule_band_member_get_isolate_ast_loop_type(), isl_schedule_node_band, isl_schedule_tree_get_ctx(), pos(), and tree.
Referenced by isl_schedule_node_band_member_get_isolate_ast_loop_type().
__isl_give isl_schedule_tree * isl_schedule_tree_band_member_set_ast_loop_type | ( | __isl_take isl_schedule_tree * | tree, |
int | pos, | ||
enum isl_ast_loop_type | type | ||
) |
Definition at line 1197 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_band_member_set_ast_loop_type(), isl_schedule_node_band, isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), pos(), tree, and type.
Referenced by isl_schedule_node_band_member_set_ast_loop_type().
__isl_give isl_schedule_tree * isl_schedule_tree_band_member_set_coincident | ( | __isl_take isl_schedule_tree * | tree, |
int | pos, | ||
int | coincident | ||
) |
Definition at line 1042 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_band_member_set_coincident(), isl_schedule_node_band, isl_schedule_tree_band_member_get_coincident(), isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), pos(), and tree.
Referenced by isl_schedule_node_band_member_set_coincident().
__isl_give isl_schedule_tree * isl_schedule_tree_band_member_set_isolate_ast_loop_type | ( | __isl_take isl_schedule_tree * | tree, |
int | pos, | ||
enum isl_ast_loop_type | type | ||
) |
Definition at line 1238 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_band_member_set_isolate_ast_loop_type(), isl_schedule_node_band, isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), pos(), tree, and type.
Referenced by isl_schedule_node_band_member_set_isolate_ast_loop_type().
__isl_give isl_schedule_tree * isl_schedule_tree_band_mod | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_multi_val * | mv | ||
) |
Definition at line 2086 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_band_mod(), isl_schedule_node_band, isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), and tree.
Referenced by isl_schedule_node_band_mod().
isl_size isl_schedule_tree_band_n_member | ( | __isl_keep isl_schedule_tree * | tree | ) |
Definition at line 1011 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_band_n_member(), isl_schedule_node_band, isl_schedule_tree_get_ctx(), isl_size_error, and tree.
Referenced by collect_filter_prefix_init(), collect_filter_prefix_update(), domain_less(), group_band(), initial_domain(), isl_schedule_node_band_n_member(), isl_schedule_node_get_schedule_depth(), isl_schedule_tree_band_split(), and subtree_schedule_extend().
__isl_give isl_schedule_tree * isl_schedule_tree_band_scale | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_multi_val * | mv | ||
) |
Definition at line 2032 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_band_scale(), isl_schedule_node_band, isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), and tree.
Referenced by isl_schedule_node_band_scale().
__isl_give isl_schedule_tree * isl_schedule_tree_band_scale_down | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_multi_val * | mv | ||
) |
Definition at line 2059 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_band_scale_down(), isl_schedule_node_band, isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), and tree.
Referenced by isl_schedule_node_band_scale_down().
__isl_give isl_schedule_tree * isl_schedule_tree_band_set_ast_build_options | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_union_set * | options | ||
) |
Definition at line 1277 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_band_set_ast_build_options(), isl_schedule_node_band, isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), isl_schedule_tree_is_anchored(), isl_schedule_tree_update_anchored(), isl_union_set_free(), and tree.
Referenced by isl_schedule_node_band_set_ast_build_options().
__isl_give isl_schedule_tree * isl_schedule_tree_band_set_partial_schedule | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_multi_union_pw_aff * | schedule | ||
) |
Definition at line 1157 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_band_set_partial_schedule(), isl_schedule_node_band, isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), schedule, and tree.
Referenced by group_band().
__isl_give isl_schedule_tree * isl_schedule_tree_band_set_permutable | ( | __isl_take isl_schedule_tree * | tree, |
int | permutable | ||
) |
Definition at line 1081 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_band_set_permutable(), isl_schedule_node_band, isl_schedule_tree_band_get_permutable(), isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), and tree.
Referenced by isl_schedule_node_band_set_permutable().
__isl_give isl_schedule_tree * isl_schedule_tree_band_shift | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_multi_union_pw_aff * | shift | ||
) |
Definition at line 2112 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_band_shift(), isl_schedule_node_band, isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), and tree.
Referenced by isl_schedule_node_band_shift().
__isl_give isl_schedule_tree * isl_schedule_tree_band_split | ( | __isl_take isl_schedule_tree * | tree, |
int | pos, | ||
int | depth | ||
) |
Definition at line 2306 of file isl_schedule_tree.c.
References isl_schedule_tree::band, isl_die, isl_error_invalid, isl_schedule_band_drop(), isl_schedule_band_replace_ast_build_option(), isl_schedule_node_band, isl_schedule_tree_band_get_ast_isolate_option(), isl_schedule_tree_band_n_member(), isl_schedule_tree_copy(), isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), isl_schedule_tree_replace_child(), isl_set_copy(), isl_set_free(), isolate(), isolate_final(), isolate_initial(), n, pos(), and tree.
Referenced by isl_schedule_node_band_split().
__isl_give isl_schedule_tree * isl_schedule_tree_band_tile | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_multi_val * | sizes | ||
) |
Definition at line 2187 of file isl_schedule_tree.c.
References isl_schedule_tree::band, isl_die, isl_error_invalid, isl_schedule_band_point(), isl_schedule_band_tile(), isl_schedule_node_band, isl_schedule_tree_copy(), isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), isl_schedule_tree_replace_child(), sizes, and tree.
Referenced by isl_schedule_node_band_tile().
__isl_give isl_schedule_tree * isl_schedule_tree_child | ( | __isl_take isl_schedule_tree * | tree, |
int | pos | ||
) |
Definition at line 748 of file isl_schedule_tree.c.
References isl_schedule_tree_free(), isl_schedule_tree_get_child(), pos(), and tree.
Referenced by insert_filter_in_child_of_type(), isl_schedule_node_delete(), and isl_schedule_tree_first_schedule_descendant().
__isl_give isl_schedule_tree * isl_schedule_tree_children_insert_filter | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_union_set * | filter | ||
) |
Definition at line 958 of file isl_schedule_tree.c.
References isl_schedule_tree_free(), isl_schedule_tree_get_child(), isl_schedule_tree_insert_filter(), isl_schedule_tree_n_children(), isl_schedule_tree_replace_child(), isl_union_set_copy(), isl_union_set_free(), n, and tree.
Referenced by insert_filter_in_child_of_type().
__isl_give isl_set * isl_schedule_tree_context_get_context | ( | __isl_keep isl_schedule_tree * | tree | ) |
Definition at line 1323 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_node_context, isl_schedule_tree_get_ctx(), isl_set_copy(), and tree.
Referenced by isl_schedule_node_context_get_context().
__isl_give isl_schedule_tree * isl_schedule_tree_copy | ( | __isl_keep isl_schedule_tree * | tree | ) |
Definition at line 164 of file isl_schedule_tree.c.
References tree.
Referenced by expand(), isl_schedule_cow(), isl_schedule_get_root(), isl_schedule_node_band_member_set_ast_loop_type(), isl_schedule_node_band_member_set_coincident(), isl_schedule_node_band_member_set_isolate_ast_loop_type(), isl_schedule_node_band_set_ast_build_options(), isl_schedule_node_band_set_permutable(), isl_schedule_node_child(), isl_schedule_node_domain_gist_params(), isl_schedule_node_domain_intersect_domain(), isl_schedule_node_dup(), isl_schedule_node_expansion_set_contraction_and_expansion(), isl_schedule_node_extension_set_extension(), isl_schedule_node_filter_set_filter(), isl_schedule_node_get_leaf(), isl_schedule_node_get_tree(), isl_schedule_pair(), isl_schedule_tree_append_to_leaves(), isl_schedule_tree_band_split(), isl_schedule_tree_band_tile(), isl_schedule_tree_first_schedule_descendant(), and update_ancestors().
__isl_give isl_union_set * isl_schedule_tree_domain_get_domain | ( | __isl_keep isl_schedule_tree * | tree | ) |
Definition at line 1338 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_node_domain, isl_schedule_tree_get_ctx(), isl_union_set_copy(), and tree.
Referenced by collect_filter_prefix_init(), collect_filter_prefix_update(), group_domain(), initial_domain(), isl_schedule_get_domain(), isl_schedule_get_space(), isl_schedule_node_domain_get_domain(), isl_schedule_node_domain_gist_params(), isl_schedule_node_domain_intersect_domain(), isl_schedule_pair(), and subtree_schedule_extend().
__isl_give isl_schedule_tree * isl_schedule_tree_domain_set_domain | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_union_set * | domain | ||
) |
Definition at line 1353 of file isl_schedule_tree.c.
References domain, isl_die, isl_error_invalid, isl_schedule_node_domain, isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), isl_union_set_free(), and tree.
Referenced by group_domain(), isl_schedule_node_domain_gist_params(), and isl_schedule_node_domain_intersect_domain().
__isl_give isl_schedule_tree * isl_schedule_tree_drop_child | ( | __isl_take isl_schedule_tree * | tree, |
int | pos | ||
) |
Definition at line 773 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), isl_schedule_tree_n_children(), isl_schedule_tree_reset_children(), n, pos(), and tree.
Referenced by gist_leave().
__isl_give isl_union_pw_multi_aff * isl_schedule_tree_expansion_get_contraction | ( | __isl_keep isl_schedule_tree * | tree | ) |
Definition at line 1376 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_node_expansion, isl_schedule_tree_get_ctx(), isl_union_pw_multi_aff_copy(), and tree.
Referenced by collect_filter_prefix_expansion(), group_expansion(), and isl_schedule_node_expansion_get_contraction().
__isl_give isl_union_map * isl_schedule_tree_expansion_get_expansion | ( | __isl_keep isl_schedule_tree * | tree | ) |
Definition at line 1391 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_node_expansion, isl_schedule_tree_get_ctx(), isl_union_map_copy(), and tree.
Referenced by collect_filter_prefix_expansion(), group_expansion(), initial_domain(), isl_schedule_node_expansion_get_expansion(), and subtree_schedule_extend().
__isl_give isl_schedule_tree * isl_schedule_tree_expansion_set_contraction_and_expansion | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_union_pw_multi_aff * | contraction, | ||
__isl_take isl_union_map * | expansion | ||
) |
Definition at line 1408 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_node_expansion, isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), isl_union_map_free(), isl_union_pw_multi_aff_free(), and tree.
Referenced by group_expansion(), and isl_schedule_node_expansion_set_contraction_and_expansion().
__isl_give isl_union_map * isl_schedule_tree_extension_get_extension | ( | __isl_keep isl_schedule_tree * | tree | ) |
__isl_give isl_schedule_tree * isl_schedule_tree_extension_set_extension | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_union_map * | extension | ||
) |
Definition at line 1451 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_node_extension, isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), isl_union_map_free(), and tree.
Referenced by isl_schedule_node_extension_set_extension().
__isl_give isl_union_set * isl_schedule_tree_filter_get_filter | ( | __isl_keep isl_schedule_tree * | tree | ) |
Definition at line 1473 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_node_filter, isl_schedule_tree_get_ctx(), isl_union_set_copy(), and tree.
Referenced by collect_filter_prefix_init(), collect_filter_prefix_update(), extract_space_from_filter_child(), gist_leave(), group_ancestor(), initial_domain(), isl_schedule_node_filter_get_filter(), isl_schedule_tree_insert_filter(), subtree_schedule_extend(), and subtree_schedule_extend_from_children().
__isl_give isl_schedule_tree * isl_schedule_tree_filter_set_filter | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_union_set * | filter | ||
) |
Definition at line 1488 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_node_filter, isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), isl_union_set_free(), and tree.
Referenced by group_ancestor(), isl_schedule_node_filter_set_filter(), and isl_schedule_tree_insert_filter().
__isl_give isl_schedule_tree * isl_schedule_tree_first_schedule_descendant | ( | __isl_take isl_schedule_tree * | tree, |
__isl_keep isl_schedule_tree * | leaf | ||
) |
Definition at line 1644 of file isl_schedule_tree.c.
References domain_less(), isl_bool_true, isl_schedule_tree_child(), isl_schedule_tree_copy(), isl_schedule_tree_free(), isl_schedule_tree_has_children(), and tree.
Referenced by isl_schedule_node_get_subtree_schedule_union_map().
__isl_null isl_schedule_tree * isl_schedule_tree_free | ( | __isl_take isl_schedule_tree * | tree | ) |
Definition at line 176 of file isl_schedule_tree.c.
References isl_ctx_deref(), isl_id_free(), isl_schedule_band_free(), isl_schedule_node_band, isl_schedule_node_context, isl_schedule_node_domain, isl_schedule_node_error, isl_schedule_node_expansion, isl_schedule_node_extension, isl_schedule_node_filter, isl_schedule_node_guard, isl_schedule_node_leaf, isl_schedule_node_mark, isl_schedule_node_sequence, isl_schedule_node_set, isl_set_free(), isl_union_map_free(), isl_union_pw_multi_aff_free(), isl_union_set_free(), and tree.
Referenced by collect_filter_prefix(), collect_filter_prefix_expansion(), collect_universe_domain_extension(), extract_space_from_filter_child(), gist_leave(), group_ancestor(), group_band(), group_context(), group_domain(), group_expansion(), has_ancestors(), initial_domain_from_children(), insert_filter_in_child_of_type(), isl_printer_print_schedule_tree_mark(), isl_schedule_free(), isl_schedule_from_schedule_tree(), isl_schedule_node_alloc(), isl_schedule_node_ancestor(), isl_schedule_node_child(), isl_schedule_node_delete(), isl_schedule_node_expand(), isl_schedule_node_free(), isl_schedule_node_get_ancestor_child_position(), isl_schedule_node_get_parent_type(), isl_schedule_node_get_schedule_depth(), isl_schedule_node_get_subtree_schedule_union_map(), isl_schedule_node_graft_tree(), isl_schedule_node_has_next_sibling(), isl_schedule_node_next_sibling(), isl_schedule_node_previous_sibling(), isl_schedule_node_sequence_splice(), isl_schedule_set_root(), isl_schedule_tree_align_params(), isl_schedule_tree_append_to_leaves(), isl_schedule_tree_band_gist(), isl_schedule_tree_band_intersect_domain(), isl_schedule_tree_band_member_set_ast_loop_type(), isl_schedule_tree_band_member_set_coincident(), isl_schedule_tree_band_member_set_isolate_ast_loop_type(), isl_schedule_tree_band_mod(), isl_schedule_tree_band_scale(), isl_schedule_tree_band_scale_down(), isl_schedule_tree_band_set_ast_build_options(), isl_schedule_tree_band_set_partial_schedule(), isl_schedule_tree_band_set_permutable(), isl_schedule_tree_band_shift(), isl_schedule_tree_band_split(), isl_schedule_tree_band_tile(), isl_schedule_tree_child(), isl_schedule_tree_children_insert_filter(), isl_schedule_tree_domain_set_domain(), isl_schedule_tree_drop_child(), isl_schedule_tree_dup(), isl_schedule_tree_expansion_set_contraction_and_expansion(), isl_schedule_tree_extension_set_extension(), isl_schedule_tree_filter_set_filter(), isl_schedule_tree_first_schedule_descendant(), isl_schedule_tree_from_pair(), isl_schedule_tree_plain_is_equal(), isl_schedule_tree_pullback_union_pw_multi_aff(), isl_schedule_tree_replace_child(), isl_schedule_tree_reset_user(), isl_schedule_tree_sequence_splice(), isl_schedule_tree_set_children(), isl_schedule_tree_update_anchored(), isl_stream_read_schedule_tree(), read_band(), read_expansion(), subtree_schedule_extend_child(), subtree_schedule_extend_from_children(), and update_ancestors().
__isl_give isl_schedule_tree * isl_schedule_tree_from_band | ( | __isl_take isl_schedule_band * | band | ) |
Definition at line 233 of file isl_schedule_tree.c.
References isl_schedule_band_free(), isl_schedule_band_get_ctx(), isl_schedule_band_is_anchored(), isl_schedule_node_band, isl_schedule_tree_alloc(), and tree.
Referenced by isl_schedule_tree_insert_band(), and read_band().
__isl_give isl_schedule_tree * isl_schedule_tree_from_children | ( | enum isl_schedule_node_type | type, |
__isl_take isl_schedule_tree_list * | list | ||
) |
Definition at line 521 of file isl_schedule_tree.c.
References isl_schedule_tree_alloc(), isl_schedule_tree_update_anchored(), tree, and type.
Referenced by isl_schedule_node_insert_children(), isl_schedule_tree_from_pair(), isl_schedule_tree_sequence_splice(), and read_children().
__isl_give isl_schedule_tree * isl_schedule_tree_from_context | ( | __isl_take isl_set * | context | ) |
Definition at line 260 of file isl_schedule_tree.c.
References context, isl_schedule_node_context, isl_schedule_tree_alloc(), isl_set_free(), isl_set_get_ctx(), and tree.
Referenced by isl_schedule_tree_insert_context(), and read_context().
__isl_give isl_schedule_tree * isl_schedule_tree_from_domain | ( | __isl_take isl_union_set * | domain | ) |
Definition at line 285 of file isl_schedule_tree.c.
References domain, isl_schedule_node_domain, isl_schedule_tree_alloc(), isl_union_set_free(), isl_union_set_get_ctx(), and tree.
Referenced by isl_schedule_from_domain(), isl_schedule_tree_insert_domain(), and read_domain().
__isl_give isl_schedule_tree * isl_schedule_tree_from_expansion | ( | __isl_take isl_union_pw_multi_aff * | contraction, |
__isl_take isl_union_map * | expansion | ||
) |
Definition at line 310 of file isl_schedule_tree.c.
References isl_schedule_node_expansion, isl_schedule_tree_alloc(), isl_union_map_free(), isl_union_map_get_ctx(), isl_union_pw_multi_aff_free(), and tree.
Referenced by isl_schedule_tree_insert_expansion(), and read_expansion().
__isl_give isl_schedule_tree * isl_schedule_tree_from_extension | ( | __isl_take isl_union_map * | extension | ) |
Definition at line 340 of file isl_schedule_tree.c.
References isl_schedule_node_extension, isl_schedule_tree_alloc(), isl_union_map_free(), isl_union_map_get_ctx(), and tree.
Referenced by isl_schedule_node_from_extension(), isl_schedule_tree_insert_extension(), and read_extension().
__isl_give isl_schedule_tree * isl_schedule_tree_from_filter | ( | __isl_take isl_union_set * | filter | ) |
Definition at line 365 of file isl_schedule_tree.c.
References isl_schedule_node_filter, isl_schedule_tree_alloc(), isl_union_set_free(), isl_union_set_get_ctx(), and tree.
Referenced by graft_extension(), insert_filter_in_child_of_type(), isl_schedule_tree_insert_filter(), and read_filter().
__isl_give isl_schedule_tree * isl_schedule_tree_from_guard | ( | __isl_take isl_set * | guard | ) |
Definition at line 391 of file isl_schedule_tree.c.
References isl_schedule_node_guard, isl_schedule_tree_alloc(), isl_set_free(), isl_set_get_ctx(), and tree.
Referenced by isl_schedule_tree_insert_guard(), and read_guard().
__isl_give isl_schedule_tree * isl_schedule_tree_from_pair | ( | enum isl_schedule_node_type | type, |
__isl_take isl_schedule_tree * | tree1, | ||
__isl_take isl_schedule_tree * | tree2 | ||
) |
Definition at line 550 of file isl_schedule_tree.c.
References isl_schedule_tree_free(), isl_schedule_tree_from_children(), isl_schedule_tree_get_ctx(), isl_schedule_tree_get_type(), and type.
Referenced by isl_schedule_pair(), isl_schedule_tree_sequence_pair(), and isl_schedule_tree_set_pair().
__isl_give isl_schedule_tree * isl_schedule_tree_get_child | ( | __isl_keep isl_schedule_tree * | tree, |
int | pos | ||
) |
Definition at line 734 of file isl_schedule_tree.c.
References isl_die, isl_error_internal, isl_schedule_tree_get_ctx(), pos(), and tree.
Referenced by gist_leave(), initial_domain_from_children(), isl_printer_print_schedule_tree_mark(), isl_schedule_node_band_sink(), isl_schedule_node_child(), isl_schedule_tree_append_to_leaves(), isl_schedule_tree_child(), isl_schedule_tree_children_insert_filter(), isl_schedule_tree_plain_is_equal(), isl_schedule_tree_update_anchored(), and subtree_schedule_extend_child().
isl_ctx * isl_schedule_tree_get_ctx | ( | __isl_keep isl_schedule_tree * | tree | ) |
Definition at line 612 of file isl_schedule_tree.c.
References tree.
Referenced by collect_filter_prefix_init(), collect_filter_prefix_update(), domain_less(), group_ancestor(), group_domain(), group_expansion(), initial_domain(), initial_domain_from_children(), involves_iteration_domain(), isl_schedule_from_schedule_tree(), isl_schedule_get_ctx(), isl_schedule_tree_band_get_ast_build_options(), isl_schedule_tree_band_get_ast_isolate_option(), isl_schedule_tree_band_get_partial_schedule(), isl_schedule_tree_band_get_permutable(), isl_schedule_tree_band_get_space(), isl_schedule_tree_band_gist(), isl_schedule_tree_band_intersect_domain(), isl_schedule_tree_band_member_get_ast_loop_type(), isl_schedule_tree_band_member_get_coincident(), isl_schedule_tree_band_member_get_isolate_ast_loop_type(), isl_schedule_tree_band_member_set_ast_loop_type(), isl_schedule_tree_band_member_set_coincident(), isl_schedule_tree_band_member_set_isolate_ast_loop_type(), isl_schedule_tree_band_mod(), isl_schedule_tree_band_n_member(), isl_schedule_tree_band_scale(), isl_schedule_tree_band_scale_down(), isl_schedule_tree_band_set_ast_build_options(), isl_schedule_tree_band_set_partial_schedule(), isl_schedule_tree_band_set_permutable(), isl_schedule_tree_band_shift(), isl_schedule_tree_band_split(), isl_schedule_tree_band_tile(), isl_schedule_tree_context_get_context(), isl_schedule_tree_domain_get_domain(), isl_schedule_tree_domain_set_domain(), isl_schedule_tree_drop_child(), isl_schedule_tree_dump(), isl_schedule_tree_dup(), isl_schedule_tree_expansion_get_contraction(), isl_schedule_tree_expansion_get_expansion(), isl_schedule_tree_expansion_set_contraction_and_expansion(), isl_schedule_tree_extension_get_extension(), isl_schedule_tree_extension_set_extension(), isl_schedule_tree_filter_get_filter(), isl_schedule_tree_filter_set_filter(), isl_schedule_tree_from_pair(), isl_schedule_tree_get_child(), isl_schedule_tree_guard_get_guard(), isl_schedule_tree_is_anchored(), isl_schedule_tree_mark_get_id(), isl_schedule_tree_pullback_union_pw_multi_aff(), isl_schedule_tree_replace_child(), isl_schedule_tree_sequence_splice(), subtree_schedule_extend(), and subtree_schedule_extend_from_children().
__isl_give isl_union_map * isl_schedule_tree_get_subtree_schedule_union_map | ( | __isl_keep isl_schedule_tree * | tree | ) |
Definition at line 2018 of file isl_schedule_tree.c.
References domain, initial_domain(), isl_union_map_from_domain(), subtree_schedule_extend(), and tree.
Referenced by isl_schedule_node_get_subtree_schedule_union_map().
enum isl_schedule_node_type isl_schedule_tree_get_type | ( | __isl_keep isl_schedule_tree * | tree | ) |
Definition at line 620 of file isl_schedule_tree.c.
References isl_schedule_node_error, and tree.
Referenced by collect_filter_prefix(), collect_filter_prefix_init(), collect_filter_prefix_update(), domain_less(), group_ancestor(), has_ancestors(), insert_filter_in_child_of_type(), isl_schedule_from_schedule_tree(), isl_schedule_get_map(), isl_schedule_get_space(), isl_schedule_gist_domain_params(), isl_schedule_intersect_domain(), isl_schedule_node_get_parent_type(), isl_schedule_node_get_type(), isl_schedule_node_sequence_splice(), isl_schedule_pair(), isl_schedule_tree_from_pair(), isl_schedule_tree_insert_filter(), isl_schedule_tree_is_anchored(), isl_schedule_tree_is_leaf(), and isl_schedule_tree_sequence_splice().
__isl_give isl_set * isl_schedule_tree_guard_get_guard | ( | __isl_keep isl_schedule_tree * | tree | ) |
int isl_schedule_tree_has_children | ( | __isl_keep isl_schedule_tree * | tree | ) |
Definition at line 710 of file isl_schedule_tree.c.
References tree.
Referenced by insert_filter_in_child_of_type(), isl_schedule_node_child(), isl_schedule_node_delete(), isl_schedule_tree_first_schedule_descendant(), and subtree_schedule_extend_child().
__isl_give isl_schedule_tree * isl_schedule_tree_insert_band | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_schedule_band * | band | ||
) |
Definition at line 873 of file isl_schedule_tree.c.
References isl_schedule_tree_from_band(), isl_schedule_tree_replace_child(), res, and tree.
Referenced by isl_schedule_node_insert_partial_schedule(), and read_band().
__isl_give isl_schedule_tree * isl_schedule_tree_insert_context | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_set * | context | ||
) |
Definition at line 885 of file isl_schedule_tree.c.
References context, isl_schedule_tree_from_context(), isl_schedule_tree_replace_child(), res, and tree.
Referenced by isl_schedule_node_insert_context(), and read_context().
__isl_give isl_schedule_tree * isl_schedule_tree_insert_domain | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_union_set * | domain | ||
) |
Definition at line 897 of file isl_schedule_tree.c.
References domain, isl_schedule_tree_from_domain(), isl_schedule_tree_replace_child(), res, and tree.
Referenced by isl_schedule_pair(), and read_domain().
__isl_give isl_schedule_tree * isl_schedule_tree_insert_expansion | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_union_pw_multi_aff * | contraction, | ||
__isl_take isl_union_map * | expansion | ||
) |
Definition at line 909 of file isl_schedule_tree.c.
References isl_schedule_tree_from_expansion(), isl_schedule_tree_replace_child(), res, and tree.
Referenced by isl_schedule_node_expand(), isl_schedule_node_insert_expansion(), and read_expansion().
__isl_give isl_schedule_tree * isl_schedule_tree_insert_extension | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_union_map * | extension | ||
) |
Definition at line 923 of file isl_schedule_tree.c.
References isl_schedule_tree_from_extension(), isl_schedule_tree_replace_child(), res, and tree.
Referenced by isl_schedule_node_insert_extension(), and read_extension().
__isl_give isl_schedule_tree * isl_schedule_tree_insert_filter | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_union_set * | filter | ||
) |
Definition at line 937 of file isl_schedule_tree.c.
References isl_schedule_node_filter, isl_schedule_tree_filter_get_filter(), isl_schedule_tree_filter_set_filter(), isl_schedule_tree_from_filter(), isl_schedule_tree_get_type(), isl_schedule_tree_replace_child(), isl_union_set_intersect(), res, and tree.
Referenced by expand(), graft_extension(), insert_filter_in_child_of_type(), isl_schedule_node_insert_children(), isl_schedule_node_insert_filter(), isl_schedule_node_order_before_or_after(), isl_schedule_tree_children_insert_filter(), and read_filter().
__isl_give isl_schedule_tree * isl_schedule_tree_insert_guard | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_set * | guard | ||
) |
Definition at line 988 of file isl_schedule_tree.c.
References isl_schedule_tree_from_guard(), isl_schedule_tree_replace_child(), res, and tree.
Referenced by isl_schedule_node_insert_guard(), and read_guard().
__isl_give isl_schedule_tree * isl_schedule_tree_insert_mark | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_id * | mark | ||
) |
Definition at line 1000 of file isl_schedule_tree.c.
References isl_schedule_tree_from_mark(), isl_schedule_tree_replace_child(), res, and tree.
Referenced by isl_schedule_node_insert_mark(), and read_mark().
int isl_schedule_tree_is_leaf | ( | __isl_keep isl_schedule_tree * | tree | ) |
Definition at line 35 of file isl_schedule_tree.c.
References isl_schedule_node_leaf, isl_schedule_tree_get_type(), and tree.
Referenced by extension_from_domain(), isl_schedule_node_has_children(), isl_schedule_node_n_children(), isl_schedule_tree_align_params(), isl_schedule_tree_replace_child(), isl_schedule_tree_reset_user(), and update_ancestors().
isl_bool isl_schedule_tree_is_subtree_anchored | ( | __isl_keep isl_schedule_tree * | tree | ) |
Definition at line 442 of file isl_schedule_tree.c.
References isl_bool_error, isl_bool_ok(), and tree.
Referenced by isl_schedule_node_is_subtree_anchored().
__isl_give isl_schedule_tree * isl_schedule_tree_leaf | ( | isl_ctx * | ctx | ) |
Definition at line 225 of file isl_schedule_tree.c.
References isl_schedule_node_leaf, and isl_schedule_tree_alloc().
Referenced by isl_printer_print_schedule_tree_mark(), isl_schedule_from_schedule_tree(), and isl_stream_read_schedule_tree().
__isl_give isl_id * isl_schedule_tree_mark_get_id | ( | __isl_keep isl_schedule_tree * | tree | ) |
Definition at line 1526 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_id_copy(), isl_schedule_node_mark, isl_schedule_tree_get_ctx(), and tree.
Referenced by isl_schedule_node_mark_get_id().
isl_size isl_schedule_tree_n_children | ( | __isl_keep isl_schedule_tree * | tree | ) |
Definition at line 722 of file isl_schedule_tree.c.
References isl_size_error, and tree.
Referenced by gist_leave(), initial_domain_from_children(), isl_printer_print_schedule_tree_mark(), isl_schedule_node_band_sink(), isl_schedule_node_has_next_sibling(), isl_schedule_node_n_children(), isl_schedule_tree_append_to_leaves(), isl_schedule_tree_children_insert_filter(), isl_schedule_tree_drop_child(), isl_schedule_tree_plain_is_equal(), isl_schedule_tree_replace_child(), isl_schedule_tree_sequence_splice(), isl_schedule_tree_update_anchored(), and subtree_schedule_extend_from_children().
isl_bool isl_schedule_tree_plain_is_equal | ( | __isl_keep isl_schedule_tree * | tree1, |
__isl_keep isl_schedule_tree * | tree2 | ||
) |
Definition at line 628 of file isl_schedule_tree.c.
References equal, isl_bool_error, isl_bool_false, isl_bool_ok(), isl_bool_true, isl_schedule_band_plain_is_equal(), isl_schedule_node_band, isl_schedule_node_context, isl_schedule_node_domain, isl_schedule_node_error, isl_schedule_node_expansion, isl_schedule_node_extension, isl_schedule_node_filter, isl_schedule_node_guard, isl_schedule_node_leaf, isl_schedule_node_mark, isl_schedule_node_sequence, isl_schedule_node_set, isl_schedule_tree_free(), isl_schedule_tree_get_child(), isl_schedule_tree_n_children(), isl_schedule_tree_plain_is_equal(), isl_set_is_equal(), isl_union_map_is_equal(), isl_union_pw_multi_aff_plain_is_equal(), and isl_union_set_is_equal().
Referenced by isl_schedule_plain_is_equal(), and isl_schedule_tree_plain_is_equal().
__isl_give isl_schedule_tree * isl_schedule_tree_pullback_union_pw_multi_aff | ( | __isl_take isl_schedule_tree * | tree, |
__isl_take isl_union_pw_multi_aff * | upma | ||
) |
Definition at line 2572 of file isl_schedule_tree.c.
References involves_iteration_domain(), isl_die, isl_error_unsupported, isl_schedule_band_pullback_union_pw_multi_aff(), isl_schedule_node_band, isl_schedule_node_domain, isl_schedule_node_expansion, isl_schedule_node_extension, isl_schedule_node_filter, isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), isl_union_map_preimage_range_union_pw_multi_aff(), isl_union_pw_multi_aff_free(), isl_union_set_preimage_union_pw_multi_aff(), and tree.
Referenced by isl_schedule_node_band_sink(), and isl_schedule_node_pullback_union_pw_multi_aff().
__isl_give isl_schedule_tree * isl_schedule_tree_replace_child | ( | __isl_take isl_schedule_tree * | tree, |
int | pos, | ||
__isl_take isl_schedule_tree * | new_child | ||
) |
Definition at line 809 of file isl_schedule_tree.c.
References isl_die, isl_error_internal, isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_get_ctx(), isl_schedule_tree_is_leaf(), isl_schedule_tree_n_children(), isl_schedule_tree_reset_children(), isl_schedule_tree_update_anchored(), n, pos(), and tree.
Referenced by isl_schedule_tree_append_to_leaves(), isl_schedule_tree_band_split(), isl_schedule_tree_band_tile(), isl_schedule_tree_children_insert_filter(), isl_schedule_tree_insert_band(), isl_schedule_tree_insert_context(), isl_schedule_tree_insert_domain(), isl_schedule_tree_insert_expansion(), isl_schedule_tree_insert_extension(), isl_schedule_tree_insert_filter(), isl_schedule_tree_insert_guard(), isl_schedule_tree_insert_mark(), and update_ancestors().
__isl_give isl_schedule_tree * isl_schedule_tree_reset_children | ( | __isl_take isl_schedule_tree * | tree | ) |
Definition at line 760 of file isl_schedule_tree.c.
References isl_schedule_tree_cow(), and tree.
Referenced by isl_schedule_node_band_sink(), isl_schedule_tree_drop_child(), and isl_schedule_tree_replace_child().
__isl_give isl_schedule_tree * isl_schedule_tree_reset_user | ( | __isl_take isl_schedule_tree * | tree | ) |
Definition at line 2397 of file isl_schedule_tree.c.
References isl_schedule_band_reset_user(), isl_schedule_node_band, isl_schedule_node_context, isl_schedule_node_domain, isl_schedule_node_error, isl_schedule_node_expansion, isl_schedule_node_extension, isl_schedule_node_filter, isl_schedule_node_guard, isl_schedule_node_leaf, isl_schedule_node_mark, isl_schedule_node_sequence, isl_schedule_node_set, isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_is_leaf(), isl_set_reset_user(), isl_union_map_reset_user(), isl_union_pw_multi_aff_reset_user(), isl_union_set_reset_user(), and tree.
Referenced by isl_schedule_node_reset_user().
__isl_give isl_schedule_tree * isl_schedule_tree_sequence_pair | ( | __isl_take isl_schedule_tree * | tree1, |
__isl_take isl_schedule_tree * | tree2 | ||
) |
Definition at line 590 of file isl_schedule_tree.c.
References isl_schedule_node_sequence, and isl_schedule_tree_from_pair().
Referenced by graft_extension(), and isl_schedule_node_order_before_or_after().
__isl_give isl_schedule_tree * isl_schedule_tree_sequence_splice | ( | __isl_take isl_schedule_tree * | tree, |
int | pos, | ||
__isl_take isl_schedule_tree * | child | ||
) |
Definition at line 2140 of file isl_schedule_tree.c.
References isl_die, isl_error_invalid, isl_schedule_node_sequence, isl_schedule_tree_cow(), isl_schedule_tree_free(), isl_schedule_tree_from_children(), isl_schedule_tree_get_ctx(), isl_schedule_tree_get_type(), isl_schedule_tree_n_children(), n, pos(), and tree.
Referenced by isl_schedule_node_sequence_splice().
__isl_give isl_schedule_tree * isl_schedule_tree_set_pair | ( | __isl_take isl_schedule_tree * | tree1, |
__isl_take isl_schedule_tree * | tree2 | ||
) |
Definition at line 603 of file isl_schedule_tree.c.
References isl_schedule_node_set, and isl_schedule_tree_from_pair().
Referenced by expand().