Polly 20.0.0git
|
#include <isl/id.h>
#include <isl/val.h>
#include <isl/space.h>
#include <isl/map.h>
#include <isl/aff.h>
#include <isl/constraint.h>
#include <isl/union_set.h>
#include <isl/union_map.h>
#include <isl_ast_build_private.h>
#include <isl_ast_private.h>
#include <isl_config.h>
Go to the source code of this file.
Variables | |
static const char * | option_str [] |
|
static |
Definition at line 539 of file isl_ast_build.c.
References isl_ast_build::depth, and isl_ast_build_has_affine_value().
Referenced by isl_ast_build_need_schedule_map().
|
static |
Definition at line 1499 of file isl_ast_build.c.
References isl_basic_map_from_constraint(), isl_basic_map_lower_bound_si(), isl_basic_map_union(), isl_basic_map_upper_bound_si(), isl_constraint_alloc_equality(), isl_constraint_copy(), isl_constraint_set_coefficient_si(), isl_constraint_set_constant_si(), isl_dim_in, isl_dim_out, isl_dim_set, isl_local_space_from_space(), isl_space_add_dims(), isl_space_map_from_set(), isl_space_set_from_params(), and pos().
Referenced by options_insert_dim().
|
static |
Definition at line 1798 of file isl_ast_build.c.
References isl_map_range_map(), isl_map_universe(), isl_space_unwrap(), isl_union_map_apply_range(), isl_union_map_from_map(), and map.
Referenced by isl_ast_build_product().
|
static |
Definition at line 1071 of file isl_ast_build.c.
References isl_alloc_array, isl_ast_build_free(), isl_ast_build_get_ctx(), isl_die, isl_error_internal, isl_schedule_node_band_member_get_ast_loop_type(), isl_schedule_node_band_n_member(), and n.
Referenced by isl_ast_build_set_schedule_node().
|
static |
Definition at line 731 of file isl_ast_build.c.
References aff, isl_set_free(), isl_stat_error, p, set, and user.
Referenced by update_values().
|
static |
Definition at line 1472 of file isl_ast_build.c.
References isl_bool_not(), isl_dim_in, isl_map_involves_dims(), map, and user.
Referenced by isl_ast_build_options_involve_depth().
|
static |
Definition at line 99 of file isl_ast_build.c.
References isl_dim_param, isl_id_alloc(), isl_set_find_dim_by_name(), and name.
Referenced by generate_names(), and isl_ast_build_from_context().
|
static |
Definition at line 1757 of file isl_ast_build.c.
References generate_name(), id, and n.
Referenced by isl_ast_build_product().
|
static |
Definition at line 744 of file isl_ast_build.c.
References isl_ast_build_get_stride_constraint(), isl_ast_build_has_stride(), isl_set_free(), isl_set_intersect(), and set.
Referenced by update_values().
isl_bool isl_ast_build_aff_is_nonneg | ( | __isl_keep isl_ast_build * | build, |
__isl_keep isl_aff * | aff | ||
) |
Definition at line 1913 of file isl_ast_build.c.
References aff, isl_aff_copy(), isl_aff_neg_basic_set(), isl_bool_error, isl_set_copy(), isl_set_free(), isl_set_from_basic_set(), isl_set_intersect(), isl_set_is_empty(), and test.
Referenced by extract_nonneg_mod(), is_non_neg_after_stealing(), and var_div().
__isl_give isl_ast_build * isl_ast_build_align_params | ( | __isl_take isl_ast_build * | build, |
__isl_take isl_space * | model | ||
) |
Definition at line 253 of file isl_ast_build.c.
References isl_ast_build_cow(), isl_ast_build_free(), isl_set_align_params(), isl_space_copy(), isl_space_free(), and isl_union_map_align_params().
Referenced by build_ast_from_context(), and generate_code().
__isl_give isl_ast_build * isl_ast_build_alloc | ( | isl_ctx * | ctx | ) |
Definition at line 165 of file isl_ast_build.c.
References context, isl_ast_build_from_context(), isl_set_universe(), and isl_space_params_alloc().
Referenced by isl::ast_build::ast_build(), construct_ast_from_schedule(), and test_ast_expr().
__isl_give isl_ast_build * isl_ast_build_clear_local_info | ( | __isl_take isl_ast_build * | build | ) |
Definition at line 503 of file isl_ast_build.c.
References isl_ast_build_cow(), isl_ast_build_free(), isl_union_map_empty(), isl_union_map_free(), and isl_union_map_get_space().
Referenced by call_create_leaf().
__isl_give isl_set * isl_ast_build_compute_gist | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_set * | set | ||
) |
Definition at line 2060 of file isl_ast_build.c.
References isl_set_copy(), isl_set_free(), isl_set_gist(), isl_set_is_params(), isl_set_preimage_multi_aff(), and set.
Referenced by add_implied_guards(), compute_class_domains(), and isl_ast_build_expr_from_set().
__isl_give isl_aff * isl_ast_build_compute_gist_aff | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_aff * | aff | ||
) |
Definition at line 2131 of file isl_ast_build.c.
References aff, isl_aff_free(), isl_aff_gist(), and isl_set_copy().
Referenced by lower_bound().
__isl_give isl_basic_set * isl_ast_build_compute_gist_basic_set | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_basic_set * | bset | ||
) |
Definition at line 2038 of file isl_ast_build.c.
References isl_basic_set_free(), isl_basic_set_gist(), isl_basic_set_preimage_multi_aff(), isl_set_copy(), and isl_set_simple_hull().
Referenced by create_node_scaled().
__isl_give isl_map * isl_ast_build_compute_gist_map_domain | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_map * | map | ||
) |
Definition at line 2112 of file isl_ast_build.c.
References isl_map_free(), isl_map_gist_domain(), isl_set_copy(), and map.
Referenced by generate_domain().
__isl_give isl_pw_aff * isl_ast_build_compute_gist_pw_aff | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_pw_aff * | pa | ||
) |
Definition at line 2150 of file isl_ast_build.c.
References isl_pw_aff_free(), isl_pw_aff_gist(), isl_pw_aff_pullback_multi_aff(), isl_set_copy(), and isl_set_is_params().
Referenced by exact_bound(), isl_ast_build_expr_from_pw_aff_internal(), and update_values().
__isl_give isl_pw_multi_aff * isl_ast_build_compute_gist_pw_multi_aff | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_pw_multi_aff * | pma | ||
) |
Definition at line 2172 of file isl_ast_build.c.
References isl_pw_multi_aff_free(), isl_pw_multi_aff_gist(), isl_pw_multi_aff_pullback_multi_aff(), isl_set_copy(), and pma.
Referenced by isl_ast_build_call_from_executed().
__isl_give isl_ast_build * isl_ast_build_copy | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 176 of file isl_ast_build.c.
References isl_ast_build::ref.
Referenced by add_domain(), add_intermediate_piece(), add_last_piece(), add_node(), add_nodes(), at_each_domain(), build_ast_from_context(), build_ast_from_domain(), build_ast_from_guard(), build_ast_from_leaf(), build_ast_from_mark(), build_ast_from_sequence(), call_create_leaf(), isl::ast_build::copy(), create_node_scaled(), do_unroll_tree_iteration(), foreach_iteration(), generate_code_in_space(), generate_components(), generate_non_single_valued(), generate_shifted_component_tree_part(), generate_sorted_domains(), isl_ast_build_expr_from_basic_set(), isl_ast_build_node_from_schedule(), isl_ast_build_node_from_schedule_map(), and isl_ast_graft_alloc_from_children().
__isl_give isl_ast_build * isl_ast_build_cow | ( | __isl_take isl_ast_build * | build | ) |
Definition at line 292 of file isl_ast_build.c.
References isl_ast_build_dup(), and isl_ast_build::ref.
Referenced by isl_ast_build_align_params(), isl_ast_build_clear_local_info(), isl_ast_build_extract_isolated(), isl_ast_build_include_stride(), isl_ast_build_increase_depth(), isl_ast_build_init(), isl_ast_build_init_derived(), isl_ast_build_insert_dim(), isl_ast_build_product(), isl_ast_build_replace_pending_by_guard(), isl_ast_build_reset_schedule_node(), isl_ast_build_restrict_generated(), isl_ast_build_restrict_internal(), isl_ast_build_scale_down(), isl_ast_build_set_after_each_for(), isl_ast_build_set_after_each_mark(), isl_ast_build_set_at_each_domain(), isl_ast_build_set_before_each_for(), isl_ast_build_set_before_each_mark(), isl_ast_build_set_create_leaf(), isl_ast_build_set_executed(), isl_ast_build_set_iterators(), isl_ast_build_set_loop_bounds(), isl_ast_build_set_options(), isl_ast_build_set_pending_generated(), isl_ast_build_set_schedule_node(), isl_ast_build_set_single_valued(), node_insert_dim(), and set_stride().
__isl_give isl_ast_build * isl_ast_build_detect_strides | ( | __isl_take isl_ast_build * | build, |
__isl_take isl_set * | set | ||
) |
Definition at line 1438 of file isl_ast_build.c.
References isl_aff_free(), isl_ast_build_free(), isl_ast_build_get_depth(), isl_set_free(), isl_set_get_stride_info(), isl_stride_info_free(), isl_stride_info_get_offset(), isl_stride_info_get_stride(), isl_val_free(), isl_val_is_one(), offset, pos(), set, and set_stride().
Referenced by add_node(), and foreach_iteration().
isl_size isl_ast_build_dim | ( | __isl_keep isl_ast_build * | build, |
enum isl_dim_type | type | ||
) |
Definition at line 1176 of file isl_ast_build.c.
References isl_set_dim(), isl_size_error, and type.
Referenced by build_ast_from_band(), generate_next_level(), hoist_out_of_context(), isl_ast_build_get_schedule_map_multi_aff(), isl_ast_build_get_space(), isl_ast_build_need_schedule_map(), isl_ast_build_product(), and isl_ast_build_set_iterators().
void isl_ast_build_dump | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 672 of file isl_ast_build.c.
References isl_multi_aff_dump(), isl_pw_aff_dump(), isl_set_dump(), and isl_vec_dump().
__isl_give isl_ast_build * isl_ast_build_dup | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 185 of file isl_ast_build.c.
References dup(), isl_alloc_array, isl_ast_build_free(), isl_ast_build_get_ctx(), isl_calloc_type, isl_pw_aff_copy(), isl_schedule_node_copy(), isl_set_copy(), isl_union_map_copy(), and isl_vec_copy().
Referenced by isl_ast_build_cow().
__isl_give isl_set * isl_ast_build_eliminate | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_set * | domain | ||
) |
Definition at line 2436 of file isl_ast_build.c.
References domain, isl_ast_build_eliminate_divs(), and isl_ast_build_eliminate_inner().
Referenced by compute_atomic_domain(), compute_class_domains(), compute_domains(), compute_partial_domains(), generate_shifted_component_tree(), generate_shifted_component_tree_base(), implicit_bounds(), and isl_ast_build_get_option_domain().
__isl_give isl_set * isl_ast_build_eliminate_divs | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_set * | set | ||
) |
Definition at line 2415 of file isl_ast_build.c.
References isl_dim_set, isl_set_free(), isl_set_remove_divs_involving_dims(), isl_set_remove_unknown_divs(), and set.
Referenced by create_node_scaled(), foreach_iteration(), and isl_ast_build_eliminate().
__isl_give isl_set * isl_ast_build_eliminate_inner | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_set * | set | ||
) |
Definition at line 2391 of file isl_ast_build.c.
References isl_dim_set, isl_set_detect_equalities(), isl_set_dim(), isl_set_eliminate(), isl_set_free(), and set.
Referenced by add_node(), eliminate_non_fixed(), foreach_iteration(), and isl_ast_build_eliminate().
__isl_give isl_ast_build * isl_ast_build_extract_isolated | ( | __isl_take isl_ast_build * | build | ) |
Definition at line 2281 of file isl_ast_build.c.
References isl_ast_build_cow(), isl_ast_build_free(), isl_schedule_node_band_get_ast_isolate_option(), isl_set_flatten(), and isl_set_preimage_multi_aff().
Referenced by generate_shifted_component_tree().
__isl_null isl_ast_build * isl_ast_build_free | ( | __isl_take isl_ast_build * | build | ) |
Definition at line 303 of file isl_ast_build.c.
References isl_pw_aff_free(), isl_schedule_node_free(), isl_set_free(), isl_union_map_free(), and isl_vec_free().
Referenced by add_domain(), add_intermediate_piece(), add_last_piece(), add_node(), at_each_domain(), build_ast_from_band(), build_ast_from_context(), build_ast_from_domain(), build_ast_from_expansion(), build_ast_from_filter(), build_ast_from_guard(), build_ast_from_leaf(), build_ast_from_mark(), build_ast_from_schedule_node(), build_ast_from_sequence(), call_create_leaf(), construct_ast_from_schedule(), construct_ast_from_union_map(), create_leaf(), create_node(), create_node_scaled(), extract_loop_types(), foreach_iteration(), generate_code(), generate_component(), generate_components(), generate_inner_level(), generate_next_level(), generate_shift_component(), generate_shifted_component_flat(), generate_shifted_component_parts(), generate_shifted_component_tree(), generate_shifted_component_tree_base(), generate_shifted_component_tree_part(), generate_shifted_component_tree_separate(), generate_shifted_component_tree_unroll(), polly::IslAst::init(), isl_ast_build_align_params(), isl_ast_build_clear_local_info(), isl_ast_build_detect_strides(), isl_ast_build_dup(), isl_ast_build_expr_from_basic_set(), isl_ast_build_extract_isolated(), isl_ast_build_include_stride(), isl_ast_build_init(), isl_ast_build_init_derived(), isl_ast_build_insert_dim(), isl_ast_build_node_from_schedule(), isl_ast_build_node_from_schedule_map(), isl_ast_build_product(), isl_ast_build_replace_pending_by_guard(), isl_ast_build_restrict(), isl_ast_build_restrict_generated(), isl_ast_build_restrict_internal(), isl_ast_build_scale_down(), isl_ast_build_set_executed(), isl_ast_build_set_iterators(), isl_ast_build_set_loop_bounds(), isl_ast_build_set_options(), isl_ast_build_set_pending_generated(), isl_ast_build_set_schedule_node(), isl_ast_graft_alloc_from_children(), node_insert_dim(), polly::IslNodeBuilder::preloadInvariantLoad(), print_pw_aff_c(), set_stride(), test_ast_build(), test_ast_expr(), test_ast_gen1(), test_ast_gen2(), test_ast_gen3(), test_ast_gen4(), test_ast_gen5(), update_values(), and isl::ast_build::~ast_build().
__isl_give isl_ast_build * isl_ast_build_from_context | ( | __isl_take isl_set * | set | ) |
Definition at line 119 of file isl_ast_build.c.
References isl_ast_build::depth, isl_ast_build::domain, generate_name(), isl_ast_build::generated, id, isl_ast_build_init_derived(), isl_calloc_type, isl_dim_set, isl_set_compute_divs(), isl_set_copy(), isl_set_dim(), isl_set_free(), isl_set_get_ctx(), isl_set_get_dim_id(), isl_set_get_space(), isl_set_has_dim_id(), isl_set_universe(), isl_space_is_params(), isl_space_params_alloc(), isl_space_set_from_params(), isl_union_map_empty(), isl_ast_build::iterators, n, isl_ast_build::options, isl_ast_build::pending, isl_ast_build::ref, and set.
Referenced by construct_ast_from_union_map(), isl::ast_build::from_context(), polly::IslAst::init(), isl_ast_build_alloc(), polly::IslNodeBuilder::preloadInvariantLoad(), print_pw_aff_c(), test_ast_build(), test_ast_gen1(), test_ast_gen2(), test_ast_gen3(), test_ast_gen4(), and test_ast_gen5().
isl_ctx * isl_ast_build_get_ctx | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 333 of file isl_ast_build.c.
References isl_set_get_ctx().
Referenced by add_intermediate_piece(), add_last_piece(), ast_expr_from_aff_list(), ast_node_insert_if(), astBuildBeforeFor(), AtEachDomain(), before_for(), build_ast_from_band(), build_ast_from_domain(), build_ast_from_expansion(), build_ast_from_filter(), build_ast_from_guard(), build_ast_from_schedule_node(), build_ast_from_sequence(), build_pieces(), create_node(), isl::ast_build::ctx(), extends(), extract_loop_types(), for_inc(), generate_code(), generate_component(), generate_components(), generate_next_level(), generate_shifted_component_tree_part(), init_unroll_tree(), insert_pending_guard_nodes(), isl_ast_build_dup(), isl_ast_build_expr_from_set_internal(), isl_ast_build_from_multi_pw_aff(), isl_ast_build_from_multi_pw_aff_internal(), isl_ast_build_from_multi_pw_aff_member(), isl_ast_build_get_isolated(), isl_ast_build_get_loop_type(), isl_ast_build_get_separation_class(), isl_ast_build_has_isolated(), isl_ast_build_init_derived(), isl_ast_build_insert_dim(), isl_ast_build_node_from_schedule(), isl_ast_build_product(), isl_ast_build_set_iterators(), isl_ast_build_with_arguments(), isl_ast_graft_fuse(), isl_ast_graft_list_extract_hoistable_guard(), isl_ast_graft_list_merge(), lower_bounds(), node_insert_dim(), separate_schedule_domains(), and upper_bounds().
isl_size isl_ast_build_get_depth | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 651 of file isl_ast_build.c.
References isl_size_error.
Referenced by add_implied_guards(), add_nodes(), construct_shifted_executed(), create_for(), create_node(), create_node_scaled(), equal_independent_guards(), explicit_bounds(), extract_disjunction(), for_inc(), foreach_iteration(), generate_component(), generate_components(), generate_next_level(), generate_parallel_domains(), generate_shift_component(), generate_shifted_component_tree(), generate_sorted_domains(), graft_extend_body(), has_pure_outer_disjunction(), hoist_guard(), isl_ast_build_detect_strides(), isl_ast_build_get_stride_expansion(), isl_ast_graft_list_extract_shared_enforced(), refine_generic_bounds(), and refine_generic_split().
__isl_give isl_set * isl_ast_build_get_domain | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 1143 of file isl_ast_build.c.
References isl_set_copy().
Referenced by build_ast_from_domain(), extends(), foreach_iteration(), generate_code_in_space(), generate_domain(), isl_ast_build_call_from_executed(), isl_ast_build_expr_from_set_internal(), isl_ast_graft_list_extract_hoistable_guard(), remove_redundant_lower_bounds(), and steal_from_cst().
__isl_give isl_set * isl_ast_build_get_generated | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 1158 of file isl_ast_build.c.
References isl_set_copy().
Referenced by add_domain(), build_ast_from_extension(), extract_pending(), and store_guard().
__isl_give isl_multi_aff * isl_ast_build_get_internal2input | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 1167 of file isl_ast_build.c.
Referenced by build_ast_from_context().
__isl_give isl_set * isl_ast_build_get_isolated | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 2337 of file isl_ast_build.c.
References isl_ast_build_get_ctx(), isl_die, isl_error_internal, and isl_set_copy().
Referenced by generate_shifted_component_tree().
__isl_give isl_id * isl_ast_build_get_iterator_id | ( | __isl_keep isl_ast_build * | build, |
int | pos | ||
) |
Definition at line 1289 of file isl_ast_build.c.
References pos().
Referenced by create_for(), isl_ast_build_get_schedule_space(), set_iterator_names(), and var().
enum isl_ast_loop_type isl_ast_build_get_loop_type | ( | __isl_keep isl_ast_build * | build, |
int | isolated | ||
) |
Definition at line 2243 of file isl_ast_build.c.
References isl_ast_build_get_ctx(), isl_ast_loop_error, isl_die, isl_error_internal, and isl_schedule_node_band_member_get_isolate_ast_loop_type().
Referenced by generate_shifted_component_tree_base().
__isl_give isl_aff * isl_ast_build_get_offset | ( | __isl_keep isl_ast_build * | build, |
int | pos | ||
) |
Definition at line 1969 of file isl_ast_build.c.
References pos().
Referenced by create_node(), isl_ast_build_get_stride_constraint(), isl_ast_build_get_stride_expansion(), and lower_bound().
__isl_give isl_set * isl_ast_build_get_option_domain | ( | __isl_keep isl_ast_build * | build, |
enum isl_ast_loop_type | type | ||
) |
Definition at line 2203 of file isl_ast_build.c.
References domain, isl_ast_build_eliminate(), isl_ast_build_get_space(), isl_dim_out, isl_map_domain(), isl_map_fix_si(), isl_space_add_dims(), isl_space_from_domain(), isl_space_set_tuple_name(), isl_union_map_extract_map(), name, option_str, and type.
Referenced by compute_domains_init_options().
__isl_give isl_set * isl_ast_build_get_pending | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 1150 of file isl_ast_build.c.
References isl_set_copy().
Referenced by add_domain(), call_create_leaf(), and extract_pending().
__isl_give isl_union_map * isl_ast_build_get_schedule | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 1265 of file isl_ast_build.c.
References isl_ast_build_get_schedule_map(), isl_ast_build_need_schedule_map(), isl_union_map_apply_domain(), isl_union_map_copy(), isl_union_map_from_map(), isl_union_map_reverse(), and schedule.
Referenced by before_for(), create_leaf(), and isl::ast_build::schedule().
__isl_give isl_map * isl_ast_build_get_schedule_map | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 639 of file isl_ast_build.c.
References isl_ast_build_get_schedule_map_multi_aff(), isl_map_from_multi_aff(), and ma.
Referenced by internal_executed(), and isl_ast_build_get_schedule().
__isl_give isl_multi_aff * isl_ast_build_get_schedule_map_multi_aff | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 600 of file isl_ast_build.c.
References isl_ast_build_dim(), isl_ast_build_get_space(), isl_ast_build_has_affine_value(), isl_ast_build_need_schedule_map(), isl_dim_out, isl_dim_set, isl_space_map_from_set(), and ma.
Referenced by isl_ast_build_expr_from_pw_aff(), isl_ast_build_expr_from_set(), isl_ast_build_from_multi_pw_aff(), isl_ast_build_get_schedule_map(), and isl_ast_build_restrict().
__isl_give isl_schedule_node * isl_ast_build_get_schedule_node | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 1060 of file isl_ast_build.c.
References isl_schedule_node_copy().
Referenced by after_in_subtree(), generate_inner_level(), and has_anchored_subtree().
__isl_give isl_space * isl_ast_build_get_schedule_space | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 1235 of file isl_ast_build.c.
References id, isl_ast_build_get_iterator_id(), isl_ast_build_get_space(), isl_ast_build_has_affine_value(), isl_dim_set, and isl_space_set_dim_id().
Referenced by before_for().
__isl_give isl_map * isl_ast_build_get_separation_class | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 2361 of file isl_ast_build.c.
References isl_ast_build_get_ctx(), isl_ast_build_get_space(), isl_dim_out, isl_dim_set, isl_map_coalesce(), isl_map_fix_si(), isl_space_align_params(), isl_space_alloc(), isl_space_copy(), isl_space_map_from_domain_and_range(), isl_space_set_tuple_name(), isl_space_wrap(), isl_union_map_extract_map(), and res.
Referenced by compute_domains().
__isl_give isl_space * isl_ast_build_get_space | ( | __isl_keep isl_ast_build * | build, |
int | internal | ||
) |
Definition at line 1193 of file isl_ast_build.c.
References isl_ast_build_dim(), isl_ast_build_has_affine_value(), isl_ast_build_need_schedule_map(), isl_dim_set, isl_set_get_space(), isl_space_drop_dims(), and isl_space_free().
Referenced by build_ast_from_band(), build_ast_from_context(), build_ast_from_domain(), build_ast_from_guard(), construct_shifted_executed(), create_node(), extract_shared_enforced(), generate_code(), generate_code_set(), generate_shift_component(), generate_shifted_component_tree_separate(), graft_extend_body(), isl_ast_build_from_multi_pw_aff(), isl_ast_build_get_option_domain(), isl_ast_build_get_schedule_map_multi_aff(), isl_ast_build_get_schedule_space(), isl_ast_build_get_separation_class(), isl_ast_build_get_stride_constraint(), isl_ast_build_get_stride_expansion(), isl_ast_build_insert_dim(), isl_ast_build_product(), isl_ast_graft_alloc(), isl_ast_graft_list_extract_hoistable_guard(), isl_ast_graft_list_extract_shared_enforced(), isl_ast_graft_list_insert_pending_guard_nodes(), and list_add_one().
__isl_give isl_val * isl_ast_build_get_stride | ( | __isl_keep isl_ast_build * | build, |
int | pos | ||
) |
Definition at line 1954 of file isl_ast_build.c.
References isl_vec_get_element_val(), and pos().
Referenced by create_node(), for_inc(), isl_ast_build_get_stride_constraint(), isl_ast_build_get_stride_expansion(), and lower_bound().
__isl_give isl_set * isl_ast_build_get_stride_constraint | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 1335 of file isl_ast_build.c.
References aff, isl_aff_add_coefficient_si(), isl_aff_mod_val(), isl_aff_zero_basic_set(), isl_ast_build_get_offset(), isl_ast_build_get_space(), isl_ast_build_get_stride(), isl_ast_build_has_stride(), isl_dim_in, isl_set_from_basic_set(), isl_set_universe(), pos(), and set.
Referenced by add_implied_guards(), exact_bound(), intersect_stride_constraint(), and isl_ast_build_include_stride().
__isl_give isl_multi_aff * isl_ast_build_get_stride_expansion | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 1371 of file isl_ast_build.c.
References aff, isl_aff_add(), isl_aff_scale_val(), isl_ast_build_get_depth(), isl_ast_build_get_offset(), isl_ast_build_get_space(), isl_ast_build_get_stride(), isl_ast_build_has_stride(), isl_space_map_from_set(), ma, offset, and pos().
Referenced by foreach_iteration().
isl_bool isl_ast_build_has_affine_value | ( | __isl_keep isl_ast_build * | build, |
int | pos | ||
) |
Definition at line 1987 of file isl_ast_build.c.
References aff, isl_aff_free(), isl_aff_involves_dims(), isl_bool_error, isl_bool_not(), isl_dim_in, and pos().
Referenced by any_eliminated(), create_node_scaled(), isl_ast_build_get_schedule_map_multi_aff(), isl_ast_build_get_schedule_space(), isl_ast_build_get_space(), isl_ast_build_set_loop_bounds(), and isl_ast_build_set_pending_generated().
int isl_ast_build_has_isolated | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 2313 of file isl_ast_build.c.
References isl_ast_build_get_ctx(), isl_die, isl_error_internal, and isl_set_plain_is_empty().
Referenced by generate_shifted_component_tree().
int isl_ast_build_has_schedule_node | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 1051 of file isl_ast_build.c.
Referenced by any_scheduled_after(), generate_component(), generate_inner_level(), and generate_shifted_component().
isl_bool isl_ast_build_has_stride | ( | __isl_keep isl_ast_build * | build, |
int | pos | ||
) |
Definition at line 1933 of file isl_ast_build.c.
References isl_bool_error, isl_bool_not(), isl_val_free(), isl_val_is_one(), isl_vec_get_element_val(), and pos().
Referenced by add_implied_guards(), create_node(), for_inc(), intersect_stride_constraint(), isl_ast_build_get_stride_constraint(), isl_ast_build_get_stride_expansion(), isl_ast_build_include_stride(), lower_bound(), and lower_bounds().
int isl_ast_build_has_value | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 2025 of file isl_ast_build.c.
Referenced by create_node_scaled().
__isl_give isl_ast_build * isl_ast_build_include_stride | ( | __isl_take isl_ast_build * | build | ) |
Definition at line 1404 of file isl_ast_build.c.
References isl_ast_build_cow(), isl_ast_build_free(), isl_ast_build_get_stride_constraint(), isl_ast_build_has_stride(), isl_set_copy(), isl_set_intersect(), and set.
Referenced by isl_ast_build_set_loop_bounds().
__isl_give isl_ast_build * isl_ast_build_increase_depth | ( | __isl_take isl_ast_build * | build | ) |
Definition at line 660 of file isl_ast_build.c.
References isl_ast_build_cow(), isl_ast_build_reset_schedule_map(), and isl_pw_aff_free().
Referenced by create_node_scaled().
|
static |
Definition at line 704 of file isl_ast_build.c.
References isl_ast_build_cow(), isl_ast_build_free(), isl_ast_build_init_derived(), isl_set_copy(), isl_set_intersect_params(), isl_set_universe(), isl_space_copy(), isl_space_free(), and set.
Referenced by isl_ast_build_product().
|
static |
Definition at line 55 of file isl_ast_build.c.
References isl_ast_build_cow(), isl_ast_build_free(), isl_ast_build_get_ctx(), isl_dim_set, isl_space_copy(), isl_space_dim(), isl_space_free(), isl_space_map_from_set(), isl_vec_alloc(), isl_vec_free(), and isl_vec_set_si().
Referenced by isl_ast_build_from_context(), and isl_ast_build_init().
__isl_give isl_ast_build * isl_ast_build_insert_dim | ( | __isl_take isl_ast_build * | build, |
int | pos | ||
) |
Definition at line 1642 of file isl_ast_build.c.
References id, isl_ast_build_cow(), isl_ast_build_free(), isl_ast_build_get_ctx(), isl_ast_build_get_space(), isl_dim_set, isl_id_alloc(), isl_set_insert_dims(), isl_space_add_dims(), isl_space_copy(), isl_space_map_from_set(), isl_space_params(), isl_space_set_from_params(), isl_vec_insert_els(), isl_vec_set_element_si(), ma, node_insert_dim(), options_insert_dim(), and pos().
Referenced by generate_shift_component().
__isl_give isl_map * isl_ast_build_map_to_iterator | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_set * | set | ||
) |
Definition at line 32 of file isl_ast_build.c.
References isl_dim_in, isl_dim_out, isl_map_add_dims(), isl_map_eliminate(), isl_map_equate(), isl_map_free(), isl_map_from_domain(), map, and set.
Referenced by exact_bound(), first_offset(), get_expanded_n_div(), and update_values().
isl_bool isl_ast_build_need_schedule_map | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 572 of file isl_ast_build.c.
References any_eliminated(), isl_ast_build_dim(), isl_bool_error, isl_bool_ok(), and isl_dim_set.
Referenced by isl_ast_build_expr_from_pw_aff(), isl_ast_build_expr_from_set(), isl_ast_build_from_multi_pw_aff(), isl_ast_build_get_schedule(), isl_ast_build_get_schedule_map_multi_aff(), isl_ast_build_get_space(), and isl_ast_build_restrict().
int isl_ast_build_options_involve_depth | ( | __isl_keep isl_ast_build * | build | ) |
Definition at line 1481 of file isl_ast_build.c.
References free_of_depth(), isl_bool_not(), and isl_union_map_every_map().
Referenced by generate_component().
__isl_give isl_ast_build * isl_ast_build_product | ( | __isl_take isl_ast_build * | build, |
__isl_take isl_space * | space | ||
) |
Definition at line 1834 of file isl_ast_build.c.
References embed_options(), generate_names(), isl_ast_build_cow(), isl_ast_build_dim(), isl_ast_build_free(), isl_ast_build_get_ctx(), isl_ast_build_get_space(), isl_ast_build_init(), isl_dim_set, isl_set_copy(), isl_set_is_params(), isl_set_product(), isl_set_universe(), isl_space_copy(), isl_space_dim(), isl_space_free(), isl_space_map_from_set(), isl_vec_alloc(), isl_vec_concat(), isl_vec_set_si(), and set.
Referenced by build_ast_from_band(), build_ast_from_domain(), and generate_code_in_space().
__isl_give isl_ast_build * isl_ast_build_replace_pending_by_guard | ( | __isl_take isl_ast_build * | build, |
__isl_take isl_set * | guard | ||
) |
Definition at line 984 of file isl_ast_build.c.
References isl_ast_build_cow(), isl_ast_build_free(), isl_ast_build_restrict_generated(), isl_set_copy(), isl_set_free(), isl_set_get_space(), and isl_set_universe().
Referenced by add_domain(), call_create_leaf(), create_node_scaled(), and isl_ast_graft_alloc_from_children().
|
static |
Definition at line 556 of file isl_ast_build.c.
Referenced by isl_ast_build_increase_depth(), and update_values().
__isl_give isl_ast_build * isl_ast_build_reset_schedule_node | ( | __isl_take isl_ast_build * | build | ) |
Definition at line 1128 of file isl_ast_build.c.
References isl_ast_build_cow(), and isl_schedule_node_free().
Referenced by generate_inner_level().
__isl_give isl_ast_build * isl_ast_build_restrict | ( | __isl_take isl_ast_build * | build, |
__isl_take isl_set * | set | ||
) |
Definition at line 1006 of file isl_ast_build.c.
References isl_ast_build_free(), isl_ast_build_get_schedule_map_multi_aff(), isl_ast_build_need_schedule_map(), isl_ast_build_restrict_generated(), isl_set_free(), isl_set_is_params(), isl_set_preimage_multi_aff(), ma, and set.
Referenced by isl::ast_build::restrict().
__isl_give isl_ast_build * isl_ast_build_restrict_generated | ( | __isl_take isl_ast_build * | build, |
__isl_take isl_set * | set | ||
) |
Definition at line 957 of file isl_ast_build.c.
References isl_ast_build_cow(), isl_ast_build_free(), isl_ast_build_restrict_internal(), isl_set_coalesce(), isl_set_compute_divs(), isl_set_copy(), isl_set_free(), isl_set_intersect(), and set.
Referenced by add_intermediate_piece(), add_last_piece(), build_ast_from_context(), build_ast_from_guard(), generate_shifted_component_tree_part(), isl_ast_build_expr_from_basic_set(), isl_ast_build_replace_pending_by_guard(), and isl_ast_build_restrict().
|
static |
Definition at line 933 of file isl_ast_build.c.
References isl_ast_build_cow(), isl_ast_build_free(), isl_set_coalesce(), isl_set_compute_divs(), isl_set_free(), isl_set_intersect(), and set.
Referenced by isl_ast_build_restrict_generated().
__isl_give isl_ast_build * isl_ast_build_scale_down | ( | __isl_take isl_ast_build * | build, |
__isl_take isl_val * | m, | ||
__isl_take isl_union_map * | umap | ||
) |
Definition at line 1704 of file isl_ast_build.c.
References aff, isl_aff_scale_down_val(), isl_aff_scale_val(), isl_ast_build_cow(), isl_ast_build_free(), isl_multi_aff_pullback_multi_aff(), isl_space_domain(), isl_space_map_from_set(), isl_union_map_apply_domain(), isl_union_map_free(), isl_val_copy(), isl_val_div(), isl_val_free(), isl_vec_get_element_val(), isl_vec_set_element_val(), m, and ma.
Referenced by create_node().
__isl_give isl_ast_build * isl_ast_build_set_after_each_for | ( | __isl_take isl_ast_build * | build, |
__isl_give isl_ast_node *(*)(__isl_take isl_ast_node *node, __isl_keep isl_ast_build *build, void *user) | fn, | ||
void * | user | ||
) |
Definition at line 430 of file isl_ast_build.c.
References fn, isl_ast_build_cow(), and user.
Referenced by polly::IslAst::init(), and test_ast_gen1().
__isl_give isl_ast_build * isl_ast_build_set_after_each_mark | ( | __isl_take isl_ast_build * | build, |
__isl_give isl_ast_node *(*)(__isl_take isl_ast_node *node, __isl_keep isl_ast_build *build, void *user) | fn, | ||
void * | user | ||
) |
Definition at line 466 of file isl_ast_build.c.
References fn, isl_ast_build_cow(), and user.
Referenced by polly::IslAst::init().
__isl_give isl_ast_build * isl_ast_build_set_at_each_domain | ( | __isl_take isl_ast_build * | build, |
__isl_give isl_ast_node *(*)(__isl_take isl_ast_node *node, __isl_keep isl_ast_build *build, void *user) | fn, | ||
void * | user | ||
) |
Definition at line 394 of file isl_ast_build.c.
References fn, isl_ast_build_cow(), and user.
Referenced by polly::IslAst::init(), isl::ast_build::set_at_each_domain_data(), and test_ast_gen3().
__isl_give isl_ast_build * isl_ast_build_set_before_each_for | ( | __isl_take isl_ast_build * | build, |
__isl_give isl_id *(*)(__isl_keep isl_ast_build *build, void *user) | fn, | ||
void * | user | ||
) |
Definition at line 412 of file isl_ast_build.c.
References fn, isl_ast_build_cow(), and user.
Referenced by polly::IslAst::init(), and test_ast_gen1().
__isl_give isl_ast_build * isl_ast_build_set_before_each_mark | ( | __isl_take isl_ast_build * | build, |
isl_stat(*)(__isl_keep isl_id *mark, __isl_keep isl_ast_build *build, void *user) | fn, | ||
void * | user | ||
) |
Definition at line 448 of file isl_ast_build.c.
References fn, isl_ast_build_cow(), and user.
Referenced by polly::IslAst::init().
__isl_give isl_ast_build * isl_ast_build_set_create_leaf | ( | __isl_take isl_ast_build * | build, |
__isl_give isl_ast_node *(*)(__isl_take isl_ast_build *build, void *user) | fn, | ||
void * | user | ||
) |
Definition at line 484 of file isl_ast_build.c.
References fn, isl_ast_build_cow(), and user.
Referenced by test_ast_gen5().
__isl_give isl_ast_build * isl_ast_build_set_executed | ( | __isl_take isl_ast_build * | build, |
__isl_take isl_union_map * | executed | ||
) |
Definition at line 1031 of file isl_ast_build.c.
References isl_ast_build_cow(), isl_ast_build_free(), and isl_union_map_free().
Referenced by at_each_domain(), build_ast_from_mark(), call_create_leaf(), and create_node_scaled().
__isl_give isl_ast_build * isl_ast_build_set_iterators | ( | __isl_take isl_ast_build * | build, |
__isl_take isl_id_list * | iterators | ||
) |
Definition at line 363 of file isl_ast_build.c.
References isl_ast_build_cow(), isl_ast_build_dim(), isl_ast_build_free(), isl_ast_build_get_ctx(), isl_die, isl_dim_set, and isl_error_internal.
__isl_give isl_ast_build * isl_ast_build_set_loop_bounds | ( | __isl_take isl_ast_build * | build, |
__isl_take isl_basic_set * | bounds | ||
) |
Definition at line 850 of file isl_ast_build.c.
References isl_ast_build_cow(), isl_ast_build_free(), isl_ast_build_has_affine_value(), isl_ast_build_include_stride(), isl_basic_set_copy(), isl_basic_set_free(), isl_dim_set, isl_set_compute_divs(), isl_set_copy(), isl_set_eliminate(), isl_set_from_basic_set(), isl_set_intersect(), set, and update_values().
Referenced by create_node_scaled().
__isl_give isl_ast_build * isl_ast_build_set_options | ( | __isl_take isl_ast_build * | build, |
__isl_take isl_union_map * | options | ||
) |
Definition at line 340 of file isl_ast_build.c.
References isl_ast_build_cow(), isl_ast_build_free(), and isl_union_map_free().
Referenced by set_options(), test_ast_gen2(), test_ast_gen3(), and test_ast_gen5().
__isl_give isl_ast_build * isl_ast_build_set_pending_generated | ( | __isl_take isl_ast_build * | build, |
__isl_take isl_basic_set * | bounds | ||
) |
Definition at line 892 of file isl_ast_build.c.
References isl_ast_build_cow(), isl_ast_build_free(), isl_ast_build_has_affine_value(), isl_basic_set_copy(), isl_basic_set_drop_constraints_involving_dims(), isl_basic_set_drop_constraints_not_involving_dims(), isl_basic_set_free(), isl_dim_set, isl_set_from_basic_set(), and isl_set_intersect().
Referenced by create_node_scaled().
__isl_give isl_ast_build * isl_ast_build_set_schedule_node | ( | __isl_take isl_ast_build * | build, |
__isl_take isl_schedule_node * | node | ||
) |
Definition at line 1106 of file isl_ast_build.c.
References extract_loop_types(), isl_ast_build_cow(), isl_ast_build_free(), and isl_schedule_node_free().
Referenced by build_ast_from_band().
__isl_give isl_ast_build * isl_ast_build_set_single_valued | ( | __isl_take isl_ast_build * | build, |
int | sv | ||
) |
Definition at line 2446 of file isl_ast_build.c.
References isl_ast_build_cow(), and sv.
Referenced by generate_non_single_valued(), isl_ast_build_node_from_schedule(), and isl_ast_build_node_from_schedule_map().
__isl_give isl_set * isl_ast_build_specialize | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_set * | set | ||
) |
Definition at line 2085 of file isl_ast_build.c.
References isl_set_free(), isl_set_preimage_multi_aff(), and set.
Referenced by add_domain(), add_node(), build_ast_from_guard(), extract_disjunction(), and generate_shifted_component_tree().
__isl_give isl_basic_set * isl_ast_build_specialize_basic_set | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_basic_set * | bset | ||
) |
Definition at line 2097 of file isl_ast_build.c.
References isl_basic_set_free(), and isl_basic_set_preimage_multi_aff().
Referenced by create_node_scaled().
__isl_give isl_union_map * isl_ast_build_substitute_values_union_map_domain | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_union_map * | umap | ||
) |
Definition at line 2009 of file isl_ast_build.c.
References isl_union_map_free(), and isl_union_map_preimage_domain_multi_aff().
Referenced by build_ast_from_extension(), and plug_in_values().
|
static |
Definition at line 1595 of file isl_ast_build.c.
References isl_ast_build_cow(), isl_ast_build_free(), isl_ast_build_get_ctx(), isl_ast_loop_default, isl_realloc_array, and pos().
Referenced by isl_ast_build_insert_dim().
|
static |
Definition at line 1548 of file isl_ast_build.c.
References construct_insertion_map(), isl_ast_loop_atomic, isl_ast_loop_separate, isl_dim_in, isl_dim_out, isl_map_copy(), isl_map_get_space(), isl_map_identity(), isl_map_insert_dims(), isl_map_product(), isl_map_set_tuple_name(), isl_space_map_from_set(), isl_union_map_add_map(), isl_union_map_apply_domain(), isl_union_map_apply_range(), isl_union_map_empty(), isl_union_map_from_map(), isl_union_map_get_space(), map, map_type, name, option_str, pos(), and type.
Referenced by isl_ast_build_insert_dim().
|
static |
Definition at line 1301 of file isl_ast_build.c.
References isl_aff_free(), isl_ast_build_cow(), isl_ast_build_free(), isl_val_free(), isl_vec_set_element_val(), offset, and pos().
Referenced by isl_ast_build_detect_strides().
|
static |
Definition at line 775 of file isl_ast_build.c.
References aff, extract_single_piece(), intersect_stride_constraint(), isl_ast_build_compute_gist_pw_aff(), isl_ast_build_free(), isl_ast_build_map_to_iterator(), isl_ast_build_reset_schedule_map(), isl_map_free(), isl_map_is_single_valued(), isl_pw_aff_coalesce(), isl_pw_aff_foreach_piece(), isl_pw_aff_n_piece(), isl_pw_multi_aff_free(), isl_pw_multi_aff_from_map(), isl_pw_multi_aff_get_pw_aff(), isl_set_copy(), isl_set_from_basic_set(), isl_set_intersect(), n, pma, set, and sv.
Referenced by isl_ast_build_set_loop_bounds().
|
static |
Definition at line 1521 of file isl_ast_build.c.
Referenced by isl_ast_build_get_option_domain(), and options_insert_dim().