Polly 20.0.0git
|
#include <limits.h>
#include <isl/id.h>
#include <isl/val.h>
#include <isl/space.h>
#include <isl/aff.h>
#include <isl/constraint.h>
#include <isl/set.h>
#include <isl/ilp.h>
#include <isl/union_set.h>
#include <isl/union_map.h>
#include <isl/schedule_node.h>
#include <isl/options.h>
#include <isl_sort.h>
#include <isl_tarjan.h>
#include <isl_ast_private.h>
#include <isl_ast_build_expr.h>
#include <isl_ast_build_private.h>
#include <isl_ast_graft_private.h>
Go to the source code of this file.
Classes | |
struct | isl_generate_domain_data |
struct | isl_ast_count_constraints_data |
struct | isl_check_scaled_data |
struct | isl_add_nodes_data |
struct | isl_ast_generate_parallel_domains_data |
struct | isl_separate_domain_data |
struct | isl_find_unroll_data |
struct | isl_codegen_domains |
struct | isl_ast_unroll_data |
struct | isl_ast_unroll_tree_data |
struct | isl_set_map_pair |
struct | isl_any_scheduled_after_data |
struct | isl_generate_code_data |
|
static |
Definition at line 153 of file isl_ast_codegen.c.
References at_each_domain(), isl_generate_domain_data::build, isl_ast_build_copy(), isl_ast_build_free(), isl_ast_build_get_generated(), isl_ast_build_get_pending(), isl_ast_build_replace_pending_by_guard(), isl_ast_build_specialize(), isl_ast_graft_add_guard(), isl_ast_graft_alloc_domain(), isl_map_copy(), isl_map_domain(), isl_map_free(), isl_set_coalesce_preserve(), isl_set_compute_divs(), isl_set_gist(), isl_stat_ok, isl_generate_domain_data::list, and map.
Referenced by generate_domain().
|
static |
Definition at line 734 of file isl_ast_codegen.c.
References isl_generate_domain_data::build, isl_ast_build_compute_gist(), isl_ast_build_get_depth(), isl_ast_build_get_stride_constraint(), isl_ast_build_has_stride(), isl_basic_set_copy(), isl_basic_set_drop_constraints_not_involving_dims(), isl_basic_set_get_space(), isl_dim_set, isl_set_eliminate(), isl_set_free(), isl_set_from_basic_set(), isl_set_intersect(), isl_set_universe(), and set.
Referenced by create_node_scaled().
|
static |
Definition at line 1816 of file isl_ast_codegen.c.
References create_node(), domain, isl_ast_build_copy(), isl_ast_build_detect_strides(), isl_ast_build_eliminate_inner(), isl_ast_build_free(), isl_ast_build_specialize(), isl_basic_set_copy(), isl_basic_set_free(), isl_set_compute_divs(), isl_set_copy(), isl_set_free(), isl_set_from_union_set(), isl_set_is_disjoint(), isl_union_map_copy(), isl_union_map_domain(), isl_union_map_free(), isl_union_map_intersect_domain(), isl_union_map_is_empty(), and isl_union_set_from_basic_set().
Referenced by add_nodes(), do_unroll_tree_iteration(), and generate_sorted_domains().
|
static |
Definition at line 1988 of file isl_ast_codegen.c.
References add_node(), add_split_on(), isl_add_nodes_data::build, isl_add_nodes_data::executed, generate_sorted_domains(), isl_ast_build_copy(), isl_ast_build_get_depth(), isl_basic_map_equate(), isl_basic_map_free(), isl_basic_map_order_gt(), isl_basic_map_universe(), isl_basic_set_copy(), isl_basic_set_free(), isl_basic_set_get_space(), isl_basic_set_is_disjoint(), isl_basic_set_list, isl_die, isl_dim_in, isl_dim_out, isl_error_internal, isl_space_map_from_set(), isl_stat_error, isl_stat_ok, isl_union_map_copy(), isl_add_nodes_data::list, n, and user.
Referenced by generate_sorted_domains().
|
static |
Definition at line 1890 of file isl_ast_codegen.c.
References isl_basic_map_copy(), isl_basic_map_free(), isl_basic_map_intersect_domain(), isl_basic_map_intersect_range(), isl_basic_map_range(), isl_basic_set_copy(), isl_basic_set_free(), isl_basic_set_is_empty(), isl_basic_set_list, isl_basic_set_list_from_set(), isl_set_from_basic_set(), isl_set_make_disjoint(), isl_set_subtract(), n, res, set1, and set2.
Referenced by add_nodes().
|
static |
Definition at line 930 of file isl_ast_codegen.c.
References aff, isl_aff_get_constant_val(), isl_val_free(), and isl_val_is_neg().
Referenced by pw_aff_constant_is_negative().
|
static |
Definition at line 368 of file isl_ast_codegen.c.
References isl_ast_build::after_each_for, isl_ast_build::after_each_for_user, isl_generate_domain_data::build, and isl_ast_graft_free().
Referenced by create_node_scaled().
|
static |
Definition at line 5661 of file isl_ast_codegen.c.
References isl_ast_build::after_each_mark, isl_ast_build::after_each_mark_user, isl_generate_code_data::build, and isl_ast_graft_free().
Referenced by build_ast_from_mark().
|
static |
Definition at line 4325 of file isl_ast_codegen.c.
References after_in_child(), domain, isl_bool_error, isl_bool_not(), isl_map_lex_gt(), isl_schedule_node_band_get_partial_schedule(), isl_schedule_node_band_n_member(), isl_union_map_apply_domain(), isl_union_map_apply_range(), isl_union_map_copy(), isl_union_map_domain(), isl_union_map_free(), isl_union_map_from_map(), isl_union_map_from_multi_union_pw_aff(), isl_union_map_intersect(), isl_union_map_intersect_domain(), isl_union_map_is_empty(), isl_union_map_range(), isl_union_map_reverse(), isl_union_map_universe(), mupa, n, range, test, and universe().
Referenced by after_in_tree().
|
static |
Definition at line 4300 of file isl_ast_codegen.c.
References after_in_tree(), isl_schedule_node_free(), and isl_schedule_node_get_child().
Referenced by after_in_band(), after_in_context(), after_in_expansion(), after_in_filter(), and after_in_tree().
|
static |
Definition at line 4381 of file isl_ast_codegen.c.
References after_in_child(), context, domain, isl_schedule_node_context_get_context(), isl_schedule_node_get_prefix_schedule_union_map(), isl_union_map_apply_range(), isl_union_map_copy(), isl_union_map_domain(), isl_union_map_free(), isl_union_map_intersect(), isl_union_map_intersect_domain(), isl_union_map_intersect_range(), isl_union_map_range(), isl_union_map_reverse(), isl_union_map_universe(), isl_union_set_from_set(), range, and universe().
Referenced by after_in_tree().
|
static |
Definition at line 4417 of file isl_ast_codegen.c.
References after_in_child(), isl_schedule_node_expansion_get_expansion(), isl_union_map_apply_domain(), isl_union_map_apply_range(), isl_union_map_copy(), and isl_union_map_free().
Referenced by after_in_tree().
|
static |
Definition at line 4443 of file isl_ast_codegen.c.
References isl_bool_true.
Referenced by after_in_tree().
|
static |
Definition at line 4456 of file isl_ast_codegen.c.
References after_in_child(), isl_schedule_node_filter_get_filter(), isl_union_map_copy(), isl_union_map_free(), isl_union_map_intersect_domain(), isl_union_map_intersect_range(), and isl_union_set_copy().
Referenced by after_in_tree().
|
static |
Definition at line 4532 of file isl_ast_codegen.c.
References after_in_set(), child_filter(), isl_bool_error, isl_bool_false, isl_bool_true, isl_schedule_node_n_children(), isl_union_map_copy(), isl_union_map_free(), isl_union_map_intersect_domain(), isl_union_map_intersect_range(), isl_union_map_is_empty(), and n.
Referenced by after_in_tree().
|
static |
Definition at line 4484 of file isl_ast_codegen.c.
References after_in_tree(), isl_bool_error, isl_bool_false, isl_schedule_node_free(), isl_schedule_node_get_child(), isl_schedule_node_n_children(), and n.
Referenced by after_in_sequence(), and after_in_tree().
|
static |
Definition at line 4656 of file isl_ast_codegen.c.
References after_in_tree(), isl_ast_build_get_schedule_node(), isl_bool_error, isl_bool_false, isl_map_apply_domain(), isl_map_copy(), isl_schedule_node_child(), isl_schedule_node_free(), isl_schedule_node_get_type(), isl_schedule_node_leaf, isl_union_map_free(), isl_union_map_from_map(), map, map1, and map2.
Referenced by any_scheduled_after().
|
static |
Definition at line 4597 of file isl_ast_codegen.c.
References after_in_band(), after_in_child(), after_in_context(), after_in_expansion(), after_in_extension(), after_in_filter(), after_in_sequence(), after_in_set(), isl_bool_error, isl_bool_false, isl_bool_true, isl_die, isl_error_internal, 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_get_ctx(), isl_schedule_node_get_type(), isl_schedule_node_guard, isl_schedule_node_leaf, isl_schedule_node_mark, isl_schedule_node_sequence, isl_schedule_node_set, isl_union_map_is_empty(), and type.
Referenced by after_in_child(), after_in_set(), and after_in_subtree().
|
static |
Definition at line 4711 of file isl_ast_codegen.c.
References after_in_subtree(), isl_any_scheduled_after_data::build, isl_any_scheduled_after_data::depth, isl_any_scheduled_after_data::domain, isl_any_scheduled_after_data::group_coscheduled, isl_ast_build_has_schedule_node(), isl_bool_error, isl_bool_false, isl_bool_ok(), isl_bool_true, isl_dim_set, isl_set_dim(), isl_set_follows_at(), isl_set_map_pair::map, pos(), isl_set_map_pair::set, and user.
Referenced by generate_components().
|
static |
Definition at line 111 of file isl_ast_codegen.c.
References isl_ast_build_copy(), isl_ast_build_free(), isl_ast_build_set_executed(), isl_ast_graft_free(), isl_map_copy(), and isl_union_map_from_map().
Referenced by add_domain().
|
static |
Definition at line 3771 of file isl_ast_codegen.c.
References dim_is_fixed(), domain, f, n, and set.
Referenced by generate_component().
|
static |
Definition at line 2367 of file isl_ast_codegen.c.
References aff, isl_aff_add_coefficient_si(), isl_aff_add_constant_si(), isl_aff_copy(), isl_dim_in, isl_equality_from_aff(), and offset.
Referenced by foreach_iteration(), and get_expanded_n_div().
|
static |
Definition at line 1624 of file isl_ast_codegen.c.
References constraint_check_scaled(), isl_basic_map_foreach_constraint(), isl_basic_map_free(), and user.
Referenced by map_check_scaled().
|
static |
Definition at line 352 of file isl_ast_codegen.c.
References isl_ast_build::before_each_for, isl_ast_build::before_each_for_user, isl_generate_domain_data::build, id, isl_ast_node_free(), and isl_ast_node_set_annotation().
Referenced by create_node_scaled().
|
static |
Definition at line 5645 of file isl_ast_codegen.c.
References isl_ast_build::before_each_mark, isl_ast_build::before_each_mark_user, isl_generate_code_data::build, isl_stat_error, and isl_stat_ok.
Referenced by build_ast_from_mark().
|
static |
Definition at line 5249 of file isl_ast_codegen.c.
References isl_generate_code_data::build, build_ast_from_child(), check_band_schedule_total_on_instances(), isl_generate_code_data::executed, generate_next_level(), isl_ast_build_dim(), isl_ast_build_free(), isl_ast_build_get_ctx(), isl_ast_build_get_space(), isl_ast_build_product(), isl_ast_build_set_schedule_node(), isl_ast_graft_list_unembed(), isl_die, isl_dim_param, isl_error_invalid, isl_schedule_node_band_get_partial_schedule(), isl_schedule_node_band_n_member(), isl_schedule_node_free(), isl_union_map_detect_equalities(), isl_union_map_domain_product(), isl_union_map_free(), isl_union_map_from_multi_union_pw_aff(), isl_union_map_reverse(), isl_generate_code_data::list, and n.
Referenced by build_ast_from_schedule_node().
|
static |
Definition at line 5834 of file isl_ast_codegen.c.
References isl_generate_code_data::build, build_ast_from_schedule_node(), isl_generate_code_data::executed, and isl_schedule_node_child().
Referenced by build_ast_from_band(), build_ast_from_context(), build_ast_from_domain(), build_ast_from_expansion(), build_ast_from_extension(), build_ast_from_filter(), build_ast_from_guard(), build_ast_from_mark(), and generate_inner_level().
|
static |
Definition at line 5378 of file isl_ast_codegen.c.
References isl_generate_code_data::build, build_ast_from_child(), context, isl_generate_code_data::executed, hoist_out_of_context(), isl_ast_build_align_params(), isl_ast_build_copy(), isl_ast_build_free(), isl_ast_build_get_internal2input(), isl_ast_build_get_space(), isl_ast_build_restrict_generated(), isl_ast_graft_list_fuse(), isl_ast_graft_list_insert_pending_guard_nodes(), isl_schedule_node_context_get_context(), isl_schedule_node_get_tree_depth(), isl_set_align_params(), isl_set_copy(), isl_set_from_basic_set(), isl_set_get_space(), isl_set_preimage_multi_aff(), isl_set_simple_hull(), isl_union_map_intersect_domain(), isl_union_set_from_set(), isl_generate_code_data::list, and n.
Referenced by build_ast_from_schedule_node().
|
static |
Definition at line 5857 of file isl_ast_codegen.c.
References isl_generate_code_data::build, build_ast_from_child(), domain, isl_generate_code_data::executed, isl_ast_build_copy(), isl_ast_build_free(), isl_ast_build_get_ctx(), isl_ast_build_get_domain(), isl_ast_build_get_space(), isl_ast_build_product(), isl_ast_node_from_graft_list(), isl_die, isl_error_unsupported, isl_schedule_node_domain_get_domain(), isl_schedule_node_free(), isl_set_from_basic_set(), isl_set_simple_hull(), isl_space_free(), isl_space_is_params(), isl_space_set_from_params(), isl_union_map_from_domain_and_range(), isl_union_set_coalesce(), isl_union_set_from_set(), isl_union_set_get_space(), isl_generate_code_data::list, and set.
Referenced by isl_ast_build_node_from_schedule().
|
static |
Definition at line 5436 of file isl_ast_codegen.c.
References isl_generate_code_data::build, build_ast_from_child(), isl_generate_code_data::executed, isl_ast_build_free(), isl_ast_build_get_ctx(), isl_die, isl_dim_param, isl_error_invalid, isl_schedule_node_expansion_get_expansion(), isl_schedule_node_free(), isl_union_map_align_params(), isl_union_map_apply_range(), isl_union_map_dim(), isl_union_map_free(), and isl_union_map_get_space().
Referenced by build_ast_from_schedule_node().
|
static |
Definition at line 5477 of file isl_ast_codegen.c.
References isl_generate_code_data::build, build_ast_from_child(), isl_generate_code_data::executed, isl_ast_build::internal2input, isl_ast_build_get_generated(), isl_ast_build_substitute_values_union_map_domain(), isl_schedule_node_extension_get_extension(), isl_set_from_basic_set(), isl_set_simple_hull(), isl_union_map_intersect_domain(), isl_union_map_preimage_domain_multi_aff(), isl_union_map_union(), isl_union_set_from_set(), and set.
Referenced by build_ast_from_schedule_node().
|
static |
Definition at line 5518 of file isl_ast_codegen.c.
References isl_generate_code_data::build, build_ast_from_child(), isl_generate_code_data::executed, isl_ast_build_free(), isl_ast_build_get_ctx(), isl_die, isl_dim_param, isl_error_invalid, isl_schedule_node_filter_get_filter(), isl_schedule_node_free(), isl_union_map_copy(), isl_union_map_dim(), isl_union_map_free(), isl_union_map_get_space(), isl_union_map_intersect_range(), isl_union_map_is_empty(), isl_union_map_is_subset(), isl_union_set_align_params(), and isl_generate_code_data::list.
Referenced by build_ast_from_schedule_node().
|
static |
Definition at line 5586 of file isl_ast_codegen.c.
References isl_generate_code_data::build, build_ast_from_child(), isl_generate_code_data::executed, extract_shared_enforced(), isl_ast_build::generated, isl_ast_build::internal2input, isl_ast_build_copy(), isl_ast_build_free(), isl_ast_build_get_ctx(), isl_ast_build_get_space(), isl_ast_build_restrict_generated(), isl_ast_build_specialize(), isl_ast_graft_alloc_from_children(), isl_ast_graft_list_extract_hoistable_guard(), isl_ast_graft_list_gist_guards(), isl_die, isl_dim_param, isl_error_invalid, isl_schedule_node_guard_get_guard(), isl_set_align_params(), isl_set_copy(), isl_set_dim(), isl_set_free(), isl_set_gist(), isl_set_intersect(), isl_set_n_basic_set(), isl_set_preimage_multi_aff(), isl_space_dim(), isl_generate_code_data::list, and n.
Referenced by build_ast_from_schedule_node().
|
static |
Definition at line 5195 of file isl_ast_codegen.c.
References isl_generate_code_data::build, isl_generate_code_data::executed, generate_inner_level(), isl_ast_build_copy(), isl_ast_build_free(), isl_ast_graft_list_group_on_guard(), isl_schedule_node_free(), and isl_generate_code_data::list.
Referenced by build_ast_from_schedule_node().
|
static |
Definition at line 5690 of file isl_ast_codegen.c.
References after_each_mark(), before_each_mark(), isl_generate_code_data::build, build_ast_from_child(), isl_generate_code_data::executed, isl_ast_build_copy(), isl_ast_build_free(), isl_ast_build_set_executed(), isl_ast_graft_insert_mark(), isl_ast_graft_list_fuse(), isl_id_free(), isl_schedule_node_free(), isl_schedule_node_mark_get_id(), isl_union_map_copy(), isl_generate_code_data::list, and n.
Referenced by build_ast_from_schedule_node().
|
static |
Definition at line 5779 of file isl_ast_codegen.c.
References isl_generate_code_data::build, build_ast_from_band(), build_ast_from_context(), build_ast_from_expansion(), build_ast_from_extension(), build_ast_from_filter(), build_ast_from_guard(), build_ast_from_leaf(), build_ast_from_mark(), build_ast_from_sequence(), isl_generate_code_data::executed, isl_ast_build_free(), isl_ast_build_get_ctx(), isl_die, isl_error_internal, isl_error_unsupported, 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_free(), isl_schedule_node_get_ctx(), isl_schedule_node_get_type(), isl_schedule_node_guard, isl_schedule_node_leaf, isl_schedule_node_mark, isl_schedule_node_sequence, isl_schedule_node_set, isl_union_map_free(), and type.
Referenced by build_ast_from_child(), and build_ast_from_sequence().
|
static |
Definition at line 5737 of file isl_ast_codegen.c.
References isl_generate_code_data::build, build_ast_from_schedule_node(), isl_generate_code_data::executed, isl_ast_build_copy(), isl_ast_build_free(), isl_ast_build_get_ctx(), isl_schedule_node_free(), isl_schedule_node_get_child(), isl_schedule_node_n_children(), isl_union_map_copy(), isl_union_map_free(), isl_generate_code_data::list, and n.
Referenced by build_ast_from_schedule_node().
|
static |
Definition at line 279 of file isl_ast_codegen.c.
References isl_generate_domain_data::build, isl_ast_build::create_leaf, isl_ast_build::create_leaf_user, isl_ast_build_clear_local_info(), isl_ast_build_copy(), isl_ast_build_free(), isl_ast_build_get_pending(), isl_ast_build_replace_pending_by_guard(), isl_ast_build_set_executed(), isl_ast_graft_add_guard(), isl_ast_graft_alloc(), and isl_set_copy().
Referenced by generate_inner_level().
|
static |
Definition at line 5212 of file isl_ast_codegen.c.
References domain, isl_generate_code_data::executed, isl_die, isl_error_invalid, isl_multi_union_pw_aff_domain(), isl_stat_error, isl_stat_ok, isl_union_map_copy(), isl_union_map_get_ctx(), isl_union_map_range(), isl_union_set_free(), isl_union_set_is_subset(), and subset.
Referenced by build_ast_from_band().
|
static |
Definition at line 4510 of file isl_ast_codegen.c.
References isl_schedule_node_filter_get_filter(), isl_schedule_node_free(), and isl_schedule_node_get_child().
Referenced by after_in_sequence().
|
static |
Definition at line 412 of file isl_ast_codegen.c.
References a(), b(), constraint_type(), t1, t2, and user.
Referenced by refine_generic_split().
|
static |
Definition at line 1768 of file isl_ast_codegen.c.
References isl_basic_set_list, isl_stat_ok, and user.
Referenced by isl_basic_set_list_from_set().
|
static |
Definition at line 2878 of file isl_ast_codegen.c.
References isl_codegen_domains::build, isl_ast_unroll_data::class_domain, domain, isl_ast_unroll_data::domains, isl_ast_build_eliminate(), isl_ast_loop_atomic, isl_basic_set_list, isl_basic_set_list_from_set(), isl_set_coalesce_preserve(), isl_set_copy(), isl_set_free(), isl_set_from_basic_set(), isl_set_intersect(), isl_set_is_empty(), isl_set_make_disjoint(), isl_set_subtract(), isl_set_unshifted_simple_hull(), isl_codegen_domains::list, isl_codegen_domains::option, and isl_codegen_domains::schedule_domain.
Referenced by compute_partial_domains().
|
static |
Definition at line 3039 of file isl_ast_codegen.c.
References isl_codegen_domains::build, compute_partial_domains(), domain, isl_ast_build_compute_gist(), isl_ast_build_eliminate(), isl_map_copy(), isl_map_domain(), isl_map_intersect_range(), isl_set_free(), isl_set_from_point(), isl_set_plain_is_disjoint(), isl_stat_error, isl_stat_ok, isl_codegen_domains::schedule_domain, isl_codegen_domains::sep_class, and user.
Referenced by compute_domains().
|
static |
Definition at line 3110 of file isl_ast_codegen.c.
References isl_codegen_domains::build, compute_class_domains(), compute_domains_init_options(), compute_partial_domains(), domain, isl_codegen_domains::done, isl_codegen_domains::executed, isl_ast_build_eliminate(), isl_ast_build_get_separation_class(), isl_ast_loop_atomic, isl_ast_loop_separate, isl_dim_param, isl_map_copy(), isl_map_free(), isl_map_range(), isl_set_copy(), isl_set_dim(), isl_set_empty(), isl_set_foreach_point(), isl_set_free(), isl_set_from_union_set(), isl_set_get_space(), isl_set_is_empty(), isl_set_project_out(), isl_set_universe(), isl_union_map_copy(), isl_union_map_domain(), isl_union_map_get_ctx(), isl_codegen_domains::list, isl_codegen_domains::option, isl_codegen_domains::schedule_domain, isl_codegen_domains::sep_class, and type.
Referenced by generate_shifted_component_flat().
|
static |
Definition at line 3069 of file isl_ast_codegen.c.
References isl_codegen_domains::build, isl_ast_build_get_option_domain(), isl_ast_loop_atomic, isl_ast_loop_separate, isl_ast_loop_unroll, isl_set_coalesce(), isl_set_copy(), isl_set_make_disjoint(), isl_set_subtract(), isl_codegen_domains::option, and type.
Referenced by compute_domains().
|
static |
Definition at line 2990 of file isl_ast_codegen.c.
References isl_codegen_domains::build, isl_ast_unroll_data::class_domain, compute_atomic_domain(), compute_separate_domain(), compute_unroll_domains(), domain, isl_ast_unroll_data::domains, isl_codegen_domains::done, isl_ast_build_eliminate(), isl_ast_loop_separate, isl_basic_set_list, isl_basic_set_list_from_set(), isl_set_coalesce_preserve(), isl_set_copy(), isl_set_free(), isl_set_intersect(), isl_set_make_disjoint(), isl_set_subtract(), isl_set_union(), isl_stat_error, isl_stat_ok, isl_codegen_domains::list, isl_codegen_domains::option, and isl_codegen_domains::schedule_domain.
Referenced by compute_class_domains(), and compute_domains().
|
static |
Definition at line 2924 of file isl_ast_codegen.c.
References isl_codegen_domains::build, isl_ast_unroll_data::class_domain, domain, isl_ast_unroll_data::domains, isl_codegen_domains::executed, isl_ast_loop_separate, isl_basic_set_list, isl_basic_set_list_from_set(), isl_set_copy(), isl_set_get_space(), isl_set_intersect(), isl_union_map_copy(), isl_union_map_free(), isl_union_map_intersect_domain(), isl_union_map_is_empty(), isl_union_set_from_set(), isl_codegen_domains::list, isl_codegen_domains::option, and separate_schedule_domains().
Referenced by compute_partial_domains().
|
static |
Definition at line 2816 of file isl_ast_codegen.c.
References isl_ast_unroll_data::class_domain, do_unroll(), isl_ast_unroll_data::domains, isl_ast_loop_unroll, isl_basic_set_list, isl_basic_set_list_from_set(), isl_set_copy(), isl_set_free(), isl_set_from_basic_set(), isl_set_intersect(), isl_set_is_empty(), n, isl_codegen_domains::option, isl_codegen_domains::schedule_domain, and isl_ast_unroll_data::unroll_domain.
Referenced by compute_partial_domains().
|
static |
Definition at line 1580 of file isl_ast_codegen.c.
References isl_check_scaled_data::depth, isl_constraint_dim(), isl_constraint_free(), isl_constraint_get_coefficient_val(), isl_constraint_involves_dims(), isl_dim_div, isl_dim_in, isl_dim_out, isl_dim_param, isl_stat_error, isl_stat_ok, isl_val_gcd(), isl_val_is_one(), isl_check_scaled_data::m, n, t, and user.
Referenced by basic_map_check_scaled().
|
static |
Definition at line 2538 of file isl_ast_codegen.c.
References isl_constraint_free(), update_unrolling_lower_bound(), and user.
Referenced by find_unroll_lower_bound().
|
static |
Definition at line 398 of file isl_ast_codegen.c.
References isl_constraint_is_lower_bound(), isl_constraint_is_upper_bound(), isl_dim_set, and pos().
Referenced by cmp_constraint().
|
static |
Definition at line 3716 of file isl_ast_codegen.c.
References domain, isl_map_copy(), isl_union_map_add_map(), isl_union_map_from_map(), map, and n.
Referenced by generate_shifted_component_from_list().
|
static |
Definition at line 3959 of file isl_ast_codegen.c.
References domain, isl_ast_build_get_depth(), isl_ast_build_get_space(), isl_constraint_alloc_equality(), isl_constraint_copy(), isl_constraint_free(), isl_constraint_set_coefficient_si(), isl_constraint_set_constant_val(), isl_dim_in, isl_dim_out, isl_local_space_from_space(), isl_map_add_constraint(), isl_map_apply_domain(), isl_map_copy(), isl_map_eliminate(), isl_map_fix_val(), isl_map_free(), isl_map_identity(), isl_map_insert_dims(), isl_space_copy(), isl_space_insert_dims(), isl_space_map_from_set(), isl_union_map_add_map(), isl_union_map_empty(), isl_union_map_free(), isl_val_copy(), isl_val_neg(), map, n, and offset.
Referenced by generate_shift_component().
|
static |
Definition at line 1242 of file isl_ast_codegen.c.
References isl_constraint_free(), isl_constraint_is_lower_bound(), isl_constraint_is_upper_bound(), isl_dim_set, isl_stat_ok, isl_ast_count_constraints_data::n_indep, isl_ast_count_constraints_data::n_lower, isl_ast_count_constraints_data::n_upper, isl_ast_count_constraints_data::pos, and user.
Referenced by refine_generic_split().
|
static |
Definition at line 1341 of file isl_ast_codegen.c.
References id, isl_ast_build_get_depth(), isl_ast_build_get_iterator_id(), isl_ast_node_alloc_for(), and isl_ast_node_for_mark_degenerate().
Referenced by create_node_scaled().
|
static |
Definition at line 1691 of file isl_ast_codegen.c.
References aff, create_node_scaled(), isl_check_scaled_data::depth, domain, isl_aff_free(), isl_aff_get_denominator_val(), isl_aff_scale_down_val(), isl_aff_scale_val(), isl_ast_build_free(), isl_ast_build_get_ctx(), 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_ast_build_scale_down(), isl_basic_set_preimage_multi_aff(), isl_map_from_multi_aff(), isl_map_reverse(), isl_options_get_ast_build_scale_strides(), isl_set_preimage_multi_aff(), isl_space_map_from_set(), isl_union_map_apply_domain(), isl_union_map_copy(), isl_union_map_foreach_map(), isl_union_map_free(), isl_union_map_from_map(), isl_val_copy(), isl_val_div(), isl_val_free(), isl_val_is_divisible_by(), isl_val_is_one(), isl_val_set_si(), isl_check_scaled_data::m, ma, map, map_check_scaled(), and offset.
Referenced by add_node().
|
static |
Definition at line 1469 of file isl_ast_codegen.c.
References add_implied_guards(), after_each_for(), before_each_for(), create_for(), domain, extract_pending(), extract_shared_enforced(), generate_next_level(), hull, isl_ast_build_compute_gist_basic_set(), isl_ast_build_copy(), isl_ast_build_eliminate_divs(), isl_ast_build_free(), isl_ast_build_get_depth(), isl_ast_build_has_affine_value(), isl_ast_build_has_value(), isl_ast_build_increase_depth(), isl_ast_build_replace_pending_by_guard(), isl_ast_build_set_executed(), isl_ast_build_set_loop_bounds(), isl_ast_build_set_pending_generated(), isl_ast_build_specialize_basic_set(), isl_ast_graft_alloc_from_children(), isl_ast_graft_insert_for(), isl_ast_graft_list_extract_hoistable_guard(), isl_ast_graft_list_gist_guards(), isl_basic_set_copy(), isl_basic_set_free(), isl_basic_set_intersect(), isl_basic_set_remove_redundancies(), isl_set_copy(), isl_set_detect_equalities(), isl_set_free(), isl_set_intersect(), isl_set_n_basic_set(), isl_set_unshifted_simple_hull(), isl_union_map_copy(), isl_union_map_free(), n, plug_in_values(), refine_degenerate(), and refine_generic().
Referenced by create_node().
|
static |
Definition at line 3751 of file isl_ast_codegen.c.
References isl_dim_set, isl_set_plain_get_val_if_fixed(), isl_val_free(), isl_val_is_nan(), pos(), and set.
Referenced by at_most_one_non_fixed(), eliminate_non_fixed(), and generate_component().
|
static |
Definition at line 2777 of file isl_ast_codegen.c.
References isl_codegen_domains::build, isl_ast_unroll_data::class_domain, do_unroll_iteration(), domain, isl_ast_unroll_data::domains, foreach_iteration(), isl_set_empty(), isl_set_free(), isl_set_get_space(), isl_set_subtract(), and isl_ast_unroll_data::unroll_domain.
Referenced by compute_unroll_domains().
|
static |
Definition at line 2748 of file isl_ast_codegen.c.
References isl_ast_unroll_data::class_domain, isl_ast_unroll_data::domains, isl_basic_set_list, isl_basic_set_list_from_set(), isl_set_copy(), isl_set_from_basic_set(), isl_set_intersect(), isl_set_make_disjoint(), isl_set_union(), isl_codegen_domains::list, set, isl_ast_unroll_data::unroll_domain, and user.
Referenced by do_unroll().
|
static |
Definition at line 3252 of file isl_ast_codegen.c.
References add_node(), isl_ast_unroll_tree_data::build, isl_ast_unroll_tree_data::executed, isl_ast_build_copy(), isl_union_map_copy(), isl_ast_unroll_tree_data::list, and user.
Referenced by generate_shifted_component_tree_unroll().
|
static |
Definition at line 1865 of file isl_ast_codegen.c.
References isl_check_scaled_data::depth, isl_basic_map_equate(), isl_basic_map_free(), isl_basic_map_from_domain_and_range(), isl_basic_map_is_empty(), isl_basic_map_order_ge(), isl_basic_set_copy(), isl_bool_not(), isl_dim_in, isl_dim_out, test, and user.
Referenced by generate_sorted_domains().
|
static |
Definition at line 3802 of file isl_ast_codegen.c.
References dim_is_fixed(), domain, f, isl_ast_build_eliminate_inner(), n, and set.
Referenced by generate_component().
|
static |
Definition at line 481 of file isl_ast_codegen.c.
References isl_generate_domain_data::build, domain, isl_ast_build_compute_gist_pw_aff(), isl_ast_build_get_stride_constraint(), isl_ast_build_map_to_iterator(), isl_map_lexmax_pw_multi_aff(), isl_map_lexmin_pw_multi_aff(), isl_pw_aff_coalesce(), isl_pw_multi_aff_free(), isl_pw_multi_aff_get_pw_aff(), isl_set_copy(), isl_set_intersect(), and pma.
Referenced by lower_bounds(), and upper_bounds().
|
static |
Definition at line 2258 of file isl_ast_codegen.c.
References domain, isl_ast_build_get_depth(), isl_dim_out, isl_dim_set, isl_map_dim(), isl_map_domain(), isl_map_drop_constraints_involving_dims(), isl_map_free(), isl_set_detect_equalities(), isl_set_dim(), isl_set_drop_constraints_involving_dims(), isl_set_remove_divs_involving_dims(), isl_set_remove_unknown_divs(), and map.
Referenced by separate_domain().
|
static |
Definition at line 3418 of file isl_ast_codegen.c.
References isl_ast_unroll_tree_data::build, domain, hull, isl_ast_build_get_depth(), isl_ast_build_specialize(), isl_dim_set, isl_set_copy(), isl_set_dim(), isl_set_eliminate(), isl_set_free(), isl_set_from_basic_set(), isl_set_gist(), isl_set_remove_unknown_divs(), and isl_set_unshifted_simple_hull().
Referenced by generate_shifted_component_tree_part().
|
static |
Definition at line 4282 of file isl_ast_codegen.c.
References isl_map_copy(), isl_map_domain(), isl_stat_ok, map, and user.
Referenced by generate_components(), and SF().
|
static |
Definition at line 1385 of file isl_ast_codegen.c.
References context, isl_ast_build_get_generated(), isl_ast_build_get_pending(), isl_basic_set_copy(), isl_set_from_basic_set(), isl_set_gist(), and isl_set_intersect().
Referenced by create_node_scaled().
|
static |
Definition at line 1364 of file isl_ast_codegen.c.
References isl_ast_build_get_space(), isl_ast_graft_list_extract_shared_enforced(), isl_basic_set_universe(), and isl_options_get_ast_build_exploit_nested_bounds().
Referenced by build_ast_from_guard(), and create_node_scaled().
|
static |
Definition at line 2574 of file isl_ast_codegen.c.
References isl_find_unroll_data::build, constraint_find_unroll(), isl_find_unroll_data::depth, domain, isl_find_unroll_data::expansion, hull, isl_aff_free(), isl_basic_set_foreach_constraint(), isl_basic_set_free(), isl_die, isl_error_invalid, isl_set_copy(), isl_set_get_ctx(), isl_set_simple_hull(), isl_find_unroll_data::lower, and n.
Referenced by foreach_iteration().
|
static |
Definition at line 3841 of file isl_ast_codegen.c.
References domain, isl_ast_build_map_to_iterator(), isl_dim_in, isl_dim_out, isl_map_apply_domain(), isl_map_copy(), isl_map_free(), isl_map_is_empty(), isl_map_lexmin(), isl_map_order_lt(), isl_set_copy(), n, set, and test.
Referenced by generate_shift_component().
|
static |
Definition at line 1057 of file isl_ast_codegen.c.
References isl_generate_domain_data::build, isl_ast_build_get_ctx(), isl_ast_build_get_depth(), isl_ast_build_get_stride(), isl_ast_build_has_stride(), isl_ast_expr_alloc_int_si(), and isl_ast_expr_from_val().
Referenced by set_for_node_expressions().
|
static |
Definition at line 2633 of file isl_ast_codegen.c.
References at_offset(), isl_find_unroll_data::build, isl_find_unroll_data::depth, domain, isl_find_unroll_data::expansion, find_unroll_lower_bound(), fn, init(), isl_aff_free(), isl_ast_build_copy(), isl_ast_build_detect_strides(), isl_ast_build_eliminate_divs(), isl_ast_build_eliminate_inner(), isl_ast_build_free(), isl_ast_build_get_depth(), isl_ast_build_get_domain(), isl_ast_build_get_stride_expansion(), isl_basic_map_copy(), isl_basic_map_free(), isl_basic_map_from_multi_aff(), isl_basic_set_add_constraint(), isl_basic_set_apply(), isl_constraint_copy(), isl_set_add_constraint(), isl_set_copy(), isl_set_free(), isl_set_intersect(), isl_set_is_empty(), isl_set_preimage_multi_aff(), isl_set_unshifted_simple_hull(), isl_find_unroll_data::lower, n, set, and user.
Referenced by do_unroll(), and generate_shifted_component_tree_unroll().
|
static |
Definition at line 5078 of file isl_ast_codegen.c.
References isl_generate_code_data::build, isl_generate_code_data::executed, generate_code_set(), isl_generate_code_data::internal, isl_ast_build_align_params(), isl_ast_build_free(), isl_ast_build_get_ctx(), isl_ast_build_get_space(), isl_space_align_params(), isl_space_copy(), isl_union_map_align_params(), isl_union_map_copy(), isl_union_map_domain(), isl_union_map_free(), isl_union_map_get_space(), isl_union_map_universe(), isl_union_set_foreach_set(), isl_union_set_free(), isl_generate_code_data::list, isl_ast_build::options, and universe().
Referenced by generate_non_single_valued(), and isl_ast_build_node_from_schedule_map().
|
static |
Definition at line 4974 of file isl_ast_codegen.c.
References isl_generate_code_data::build, domain, isl_ast_build::domain, isl_generate_code_data::executed, generate_next_level(), isl_generate_code_data::internal, internal_executed(), isl_ast_build_copy(), isl_ast_build_get_domain(), isl_ast_build_product(), isl_ast_graft_list_unembed(), isl_set_from_basic_set(), isl_set_is_params(), isl_set_simple_hull(), isl_stat_ok, isl_union_map_copy(), isl_union_map_intersect_domain(), isl_union_map_intersect_params(), isl_union_set_from_set(), isl_generate_code_data::list, and set.
Referenced by generate_code_set().
|
static |
Definition at line 5025 of file isl_ast_codegen.c.
References isl_generate_code_data::build, isl_ast_build::domain, generate_code_in_space(), isl_generate_code_data::internal, isl_ast_build_get_space(), isl_die, isl_error_invalid, isl_set_free(), isl_set_get_ctx(), isl_set_get_space(), isl_set_is_params(), isl_space_free(), isl_space_is_domain(), isl_space_range(), isl_space_unwrap(), isl_stat_error, set, and user.
Referenced by generate_code().
|
static |
Definition at line 4173 of file isl_ast_codegen.c.
References a(), at_most_one_non_fixed(), b(), dim_is_fixed(), domain, eliminate_non_fixed(), gcd(), generate_shift_component(), generate_shifted_component_from_list(), has_anchored_subtree(), isl_ast_build_free(), isl_ast_build_get_ctx(), isl_ast_build_get_depth(), isl_ast_build_has_schedule_node(), isl_ast_build_options_involve_depth(), isl_dim_in, isl_dim_out, isl_map_deltas(), isl_map_equate(), isl_map_from_domain_and_range(), isl_set_copy(), isl_set_dim_residue_class_val(), isl_set_free(), isl_space_set_alloc(), isl_val_free(), isl_val_gcd(), isl_val_is_one(), isl_val_is_zero(), isl_val_ne(), m, map, n, res, and set.
Referenced by generate_components().
|
static |
Definition at line 4766 of file isl_ast_codegen.c.
References any_scheduled_after(), isl_any_scheduled_after_data::build, isl_any_scheduled_after_data::depth, isl_any_scheduled_after_data::domain, extract_domain(), generate_component(), isl_any_scheduled_after_data::group_coscheduled, isl_ast_build_copy(), isl_ast_build_free(), isl_ast_build_get_ctx(), isl_ast_build_get_depth(), isl_ast_graft_list_merge(), isl_calloc_array, isl_die, isl_error_internal, isl_map_free(), isl_options_get_ast_build_group_coscheduled(), isl_set_free(), isl_tarjan_graph_free(), isl_tarjan_graph_init(), isl_union_map_foreach_map(), isl_union_map_free(), isl_union_map_n_map(), isl_set_map_pair::map, n, isl_tarjan_graph::order, and isl_set_map_pair::set.
Referenced by generate_next_level().
|
static |
Definition at line 218 of file isl_ast_codegen.c.
References add_domain(), isl_generate_domain_data::build, domain, generate_non_single_valued(), isl_ast_build_compute_gist_map_domain(), isl_ast_build_get_domain(), isl_map_coalesce(), isl_map_copy(), isl_map_free(), isl_map_intersect_domain(), isl_map_is_empty(), isl_map_is_single_valued(), isl_map_plain_is_single_valued(), isl_set_from_basic_set(), isl_set_simple_hull(), isl_stat_error, isl_stat_ok, map, isl_ast_build::single_valued, sv, and user.
Referenced by generate_inner_level().
|
static |
Definition at line 319 of file isl_ast_codegen.c.
References isl_generate_domain_data::build, build_ast_from_child(), call_create_leaf(), isl_ast_build::create_leaf, generate_domain(), isl_ast_build_free(), isl_ast_build_get_schedule_node(), isl_ast_build_has_schedule_node(), isl_ast_build_reset_schedule_node(), isl_union_map_foreach_map(), isl_union_map_free(), isl_union_map_get_ctx(), and isl_generate_domain_data::list.
Referenced by build_ast_from_leaf(), and generate_next_level().
|
static |
Definition at line 4852 of file isl_ast_codegen.c.
References generate_components(), generate_inner_level(), generate_shifted_component(), isl_ast_build_dim(), isl_ast_build_free(), isl_ast_build_get_ctx(), isl_ast_build_get_depth(), isl_dim_set, isl_union_map_free(), isl_union_map_is_empty(), isl_union_map_n_map(), and n.
Referenced by build_ast_from_band(), create_node_scaled(), and generate_code_in_space().
|
static |
Definition at line 88 of file isl_ast_codegen.c.
References isl_generate_domain_data::build, generate_code(), identity(), isl_ast_build_copy(), isl_ast_build_set_single_valued(), isl_map_copy(), isl_map_domain_product(), isl_map_range(), isl_set_identity(), isl_stat_ok, isl_union_map_from_map(), and isl_generate_domain_data::list.
Referenced by generate_domain().
|
static |
Definition at line 2190 of file isl_ast_codegen.c.
References isl_ast_generate_parallel_domains_data::build, isl_ast_generate_parallel_domains_data::executed, generate_sorted_domains(), generate_sorted_domains_wrap(), isl_ast_build_get_depth(), isl_ast_graft_list_sort_guard(), isl_ast_generate_parallel_domains_data::list, isl_ast_generate_parallel_domains_data::n, shared_outer(), and isl_ast_generate_parallel_domains_data::single.
Referenced by generate_shifted_component_flat(), generate_shifted_component_tree_base(), and generate_shifted_component_tree_separate().
|
static |
Definition at line 4040 of file isl_ast_codegen.c.
References construct_shifted_executed(), domain, first_offset(), generate_shifted_component(), isl_ast_build_free(), isl_ast_build_get_depth(), isl_ast_build_get_space(), isl_ast_build_insert_dim(), isl_ast_graft_list_preimage_multi_aff(), isl_dim_out, isl_multi_val_add_val(), isl_multi_val_mod_val(), isl_space_add_dims(), isl_space_copy(), isl_space_domain(), isl_space_from_domain(), isl_space_map_from_set(), isl_val_copy(), isl_val_neg(), ma, n, offset, and val.
Referenced by generate_component().
|
static |
Definition at line 3697 of file isl_ast_codegen.c.
References isl_ast_unroll_tree_data::build, isl_ast_unroll_tree_data::executed, generate_shifted_component_flat(), generate_shifted_component_tree(), and isl_ast_build_has_schedule_node().
Referenced by generate_next_level(), generate_shift_component(), and generate_shifted_component_from_list().
|
static |
Definition at line 3180 of file isl_ast_codegen.c.
References isl_codegen_domains::build, compute_domains(), isl_codegen_domains::executed, generate_parallel_domains(), isl_ast_build_free(), isl_basic_set_list, isl_union_map_free(), and isl_codegen_domains::list.
Referenced by generate_shifted_component().
|
static |
Definition at line 3739 of file isl_ast_codegen.c.
References construct_component_executed(), domain, generate_shifted_component(), and n.
Referenced by generate_component().
|
static |
Definition at line 3573 of file isl_ast_codegen.c.
References isl_ast_unroll_tree_data::build, isl_ast_unroll_tree_data::executed, generate_shifted_component_parts(), isl_set_copy(), isl_set_empty(), isl_set_free(), and isl_set_get_space().
Referenced by generate_shifted_component_tree().
|
static |
Definition at line 3526 of file isl_ast_codegen.c.
References before(), isl_ast_unroll_tree_data::build, isl_ast_unroll_tree_data::executed, generate_shifted_component_tree_part(), isl_ast_build_free(), isl_union_map_free(), isl_ast_unroll_tree_data::list, and res.
Referenced by generate_shifted_component_only_after(), and generate_shifted_component_tree().
|
static |
Definition at line 3615 of file isl_ast_codegen.c.
References before(), isl_ast_unroll_tree_data::build, domain, isl_ast_unroll_tree_data::executed, generate_shifted_component_only_after(), generate_shifted_component_parts(), generate_shifted_component_tree_base(), hull, isl_ast_build_eliminate(), isl_ast_build_extract_isolated(), isl_ast_build_free(), isl_ast_build_get_depth(), isl_ast_build_get_isolated(), isl_ast_build_has_isolated(), isl_ast_build_specialize(), isl_dim_in, isl_dim_out, isl_map_copy(), isl_map_equate(), isl_map_order_gt(), isl_map_reverse(), isl_map_universe(), isl_set_apply(), isl_set_copy(), isl_set_free(), isl_set_from_basic_set(), isl_set_from_union_set(), isl_set_get_space(), isl_set_intersect(), isl_set_is_empty(), isl_set_subtract(), isl_set_unshifted_simple_hull(), isl_space_map_from_set(), isl_union_map_copy(), isl_union_map_domain(), isl_union_map_free(), only_intersects_first(), and test.
Referenced by generate_shifted_component().
|
static |
Definition at line 3356 of file isl_ast_codegen.c.
References isl_ast_unroll_tree_data::build, domain, isl_ast_unroll_tree_data::executed, generate_parallel_domains(), generate_shifted_component_tree_separate(), generate_shifted_component_tree_unroll(), has_pure_outer_disjunction(), hull, isl_ast_build_eliminate(), isl_ast_build_free(), isl_ast_build_get_loop_type(), isl_ast_loop_atomic, isl_ast_loop_separate, isl_ast_loop_unroll, isl_basic_set_list, isl_basic_set_list_from_set(), isl_set_coalesce_preserve(), isl_set_free(), isl_set_from_union_set(), isl_set_make_disjoint(), isl_set_unshifted_simple_hull(), isl_union_map_copy(), isl_union_map_domain(), isl_union_map_free(), isl_ast_unroll_tree_data::list, and type.
Referenced by generate_shifted_component_tree(), and generate_shifted_component_tree_part().
|
static |
Definition at line 3478 of file isl_ast_codegen.c.
References isl_ast_unroll_tree_data::build, domain, isl_ast_unroll_tree_data::executed, extract_disjunction(), generate_shifted_component_tree_base(), isl_ast_build_copy(), isl_ast_build_free(), isl_ast_build_get_ctx(), isl_ast_build_restrict_generated(), isl_set_copy(), isl_set_free(), isl_union_map_copy(), isl_union_map_free(), isl_union_map_intersect_domain(), isl_union_map_is_empty(), isl_union_set_from_set(), isl_ast_unroll_tree_data::list, and list_add_guard().
Referenced by generate_shifted_component_parts().
|
static |
Definition at line 3203 of file isl_ast_codegen.c.
References isl_codegen_domains::build, domain, isl_codegen_domains::executed, generate_parallel_domains(), isl_ast_build_free(), isl_ast_build_get_space(), isl_basic_set_list, isl_basic_set_list_from_set(), isl_union_map_copy(), isl_union_map_free(), isl_codegen_domains::list, and separate_schedule_domains().
Referenced by generate_shifted_component_tree_base().
|
static |
Definition at line 3269 of file isl_ast_codegen.c.
References isl_ast_unroll_tree_data::build, do_unroll_tree_iteration(), domain, isl_ast_unroll_tree_data::executed, foreach_iteration(), init_unroll_tree(), isl_ast_build_free(), isl_union_map_free(), and isl_ast_unroll_tree_data::list.
Referenced by generate_shifted_component_tree_base().
|
static |
Definition at line 2066 of file isl_ast_codegen.c.
References add_node(), add_nodes(), isl_add_nodes_data::build, domain_follows_at_depth(), isl_add_nodes_data::executed, isl_ast_build_copy(), isl_ast_build_get_depth(), isl_union_map_copy(), isl_add_nodes_data::list, and n.
Referenced by add_nodes(), generate_parallel_domains(), and generate_sorted_domains_wrap().
|
static |
Definition at line 2148 of file isl_ast_codegen.c.
References isl_ast_generate_parallel_domains_data::build, isl_ast_generate_parallel_domains_data::executed, generate_sorted_domains(), isl_ast_graft_list_fuse(), isl_stat_error, isl_stat_ok, isl_ast_generate_parallel_domains_data::list, isl_ast_generate_parallel_domains_data::n, n, isl_ast_generate_parallel_domains_data::single, and user.
Referenced by generate_parallel_domains().
|
static |
Definition at line 2402 of file isl_ast_codegen.c.
References at_offset(), isl_find_unroll_data::build, isl_find_unroll_data::depth, isl_find_unroll_data::domain, isl_find_unroll_data::expansion, isl_ast_build_map_to_iterator(), isl_basic_map_copy(), isl_map_from_basic_map(), isl_pw_multi_aff_foreach_piece(), isl_pw_multi_aff_free(), isl_pw_multi_aff_from_map(), isl_set_add_constraint(), isl_set_apply(), isl_set_copy(), n, pma, set, and update_n_div().
Referenced by is_better_lower_bound().
|
static |
Definition at line 4091 of file isl_ast_codegen.c.
References isl_ast_build_get_schedule_node(), isl_schedule_node_free(), and isl_schedule_node_is_subtree_anchored().
Referenced by generate_component().
|
static |
Definition at line 3292 of file isl_ast_codegen.c.
References isl_ast_unroll_tree_data::build, domain, equal, hull, isl_ast_build_get_depth(), isl_bool_error, isl_bool_false, isl_dim_set, isl_set_copy(), isl_set_dim(), isl_set_drop_constraints_not_involving_dims(), isl_set_free(), isl_set_from_basic_set(), isl_set_n_basic_set(), isl_set_plain_is_equal(), isl_set_plain_unshifted_simple_hull(), and n.
Referenced by generate_shifted_component_tree_base().
|
static |
Definition at line 5312 of file isl_ast_codegen.c.
References isl_generate_code_data::build, isl_ast_build_dim(), isl_ast_graft_alloc_from_children(), isl_ast_graft_list_extract_hoistable_guard(), isl_ast_graft_list_extract_shared_enforced(), isl_basic_set_project_out(), isl_basic_set_remove_unknown_divs(), isl_dim_param, isl_set_compute_divs(), isl_set_project_out(), isl_set_remove_divs_involving_dims(), and isl_generate_code_data::list.
Referenced by build_ast_from_context().
|
static |
Definition at line 2239 of file isl_ast_codegen.c.
References domain, isl_ast_build_eliminate(), isl_map_domain(), and map.
Referenced by separate_domain().
|
static |
Definition at line 3238 of file isl_ast_codegen.c.
References isl_ast_unroll_tree_data::build, isl_ast_build_get_ctx(), isl_ast_unroll_tree_data::list, n, and user.
Referenced by generate_shifted_component_tree_unroll().
|
static |
Definition at line 4921 of file isl_ast_codegen.c.
References id, isl_ast_build_get_schedule_map(), isl_map_identity(), isl_map_product(), isl_map_reverse(), isl_space_copy(), isl_space_map_from_set(), isl_union_map_apply_domain(), and isl_union_map_from_map().
Referenced by generate_code_in_space().
|
static |
Definition at line 806 of file isl_ast_codegen.c.
References isl_basic_set_from_constraint(), isl_basic_set_intersect(), isl_die, isl_error_internal, isl_set_from_basic_set(), isl_generate_domain_data::list, and n.
Referenced by refine_generic_bounds().
|
static |
Definition at line 2440 of file isl_ast_codegen.c.
References cmp(), get_expanded_n_div(), isl_val_cmp_si(), isl_val_is_infty(), isl_find_unroll_data::lower, isl_find_unroll_data::n, n, and isl_find_unroll_data::n_div.
Referenced by update_unrolling_lower_bound().
__isl_give isl_ast_node * isl_ast_build_ast_from_schedule | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_union_map * | schedule | ||
) |
Definition at line 5172 of file isl_ast_codegen.c.
References isl_generate_code_data::build, isl_ast_build_node_from_schedule_map(), and schedule.
__isl_give isl_ast_node * isl_ast_build_node_from_schedule | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_schedule * | schedule | ||
) |
Definition at line 5915 of file isl_ast_codegen.c.
References isl_generate_code_data::build, build_ast_from_domain(), isl_ast_build_copy(), isl_ast_build_free(), isl_ast_build_get_ctx(), isl_ast_build_set_single_valued(), isl_die, isl_error_unsupported, isl_schedule_free(), isl_schedule_get_root(), isl_schedule_node_domain, isl_schedule_node_get_type(), and schedule.
Referenced by construct_ast_from_schedule(), polly::IslAst::init(), and isl::ast_build::node_from().
__isl_give isl_ast_node * isl_ast_build_node_from_schedule_map | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_union_map * | schedule | ||
) |
Definition at line 5149 of file isl_ast_codegen.c.
References isl_generate_code_data::build, isl_generate_code_data::executed, generate_code(), isl_ast_build_copy(), isl_ast_build_free(), isl_ast_build_set_single_valued(), isl_ast_node_from_graft_list(), isl_union_map_coalesce(), isl_union_map_remove_redundancies(), isl_union_map_reverse(), isl_generate_code_data::list, and schedule.
Referenced by construct_ast_from_union_map(), create_leaf(), isl_ast_build_ast_from_schedule(), isl::ast_build::node_from_schedule_map(), test_ast_gen1(), test_ast_gen2(), test_ast_gen3(), test_ast_gen4(), and test_ast_gen5().
|
static |
Definition at line 1779 of file isl_ast_codegen.c.
References collect_basic_set(), isl_basic_set_list, isl_set_foreach_basic_set(), isl_set_free(), isl_set_get_ctx(), isl_set_n_basic_set(), n, and set.
Referenced by add_split_on(), compute_atomic_domain(), compute_partial_domains(), compute_separate_domain(), compute_unroll_domains(), do_unroll_iteration(), generate_shifted_component_tree_base(), and generate_shifted_component_tree_separate().
|
static |
Definition at line 35 of file isl_ast_codegen.c.
References isl_options_get_coalesce_preserve_locals(), isl_options_set_coalesce_preserve_locals(), isl_set_coalesce(), isl_set_get_ctx(), and set.
Referenced by add_domain(), compute_atomic_domain(), compute_partial_domains(), and generate_shifted_component_tree_base().
|
static |
Definition at line 3447 of file isl_ast_codegen.c.
References isl_ast_unroll_tree_data::build, isl_ast_graft_add_guard(), isl_ast_graft_list_fuse(), isl_set_copy(), isl_ast_unroll_tree_data::list, and n.
Referenced by generate_shifted_component_tree_part().
|
static |
Definition at line 961 of file isl_ast_codegen.c.
References aff, isl_generate_domain_data::build, isl_aff_add_constant_si(), isl_aff_zero_on_domain(), isl_ast_build_get_space(), isl_local_space_from_space(), isl_pw_aff_add(), isl_pw_aff_copy(), isl_pw_aff_free(), isl_pw_aff_from_aff(), isl_generate_domain_data::list, and n.
Referenced by set_for_cond_from_list().
|
static |
Definition at line 953 of file isl_ast_codegen.c.
References isl_generate_domain_data::list, and pw_aff_constant_is_negative().
Referenced by set_for_cond_from_list().
|
static |
Definition at line 442 of file isl_ast_codegen.c.
References aff, isl_generate_domain_data::build, isl_aff_add(), isl_aff_ceil(), isl_aff_copy(), isl_aff_scale_down_val(), isl_aff_scale_val(), isl_aff_sub(), isl_ast_build_compute_gist_aff(), isl_ast_build_get_offset(), isl_ast_build_get_stride(), isl_ast_build_has_stride(), isl_constraint_get_bound(), isl_dim_set, isl_val_copy(), offset, and pos().
Referenced by lower_bounds().
|
static |
Definition at line 598 of file isl_ast_codegen.c.
References aff, isl_generate_domain_data::build, domain, exact_bound(), isl_ast_build_get_ctx(), isl_ast_build_has_stride(), isl_constraint_free(), isl_pw_aff_from_aff(), isl_generate_domain_data::list, lower_bound(), n, pos(), and remove_redundant_lower_bounds().
Referenced by refine_generic_bounds().
|
static |
Definition at line 1641 of file isl_ast_codegen.c.
References basic_map_check_scaled(), isl_map_foreach_basic_map(), isl_map_free(), map, and user.
Referenced by create_node().
|
static |
Definition at line 3550 of file isl_ast_codegen.c.
References isl_bool_error, isl_bool_false, isl_set_is_disjoint(), and set.
Referenced by generate_shifted_component_tree().
|
static |
Definition at line 388 of file isl_ast_codegen.c.
References isl_generate_domain_data::build, and isl_ast_build_substitute_values_union_map_domain().
Referenced by create_node_scaled().
|
static |
Definition at line 945 of file isl_ast_codegen.c.
References aff_constant_is_negative(), and isl_pw_aff_every_piece().
Referenced by list_constant_is_negative().
|
static |
Definition at line 687 of file isl_ast_codegen.c.
References isl_generate_domain_data::build, isl_ast_build_expr_from_pw_aff_internal(), isl_ast_expr_alloc_op(), isl_ast_expr_free(), isl_ast_expr_op_add_arg(), isl_generate_domain_data::list, n, reduce_list_cmp(), and type.
Referenced by set_for_cond_from_list(), and set_for_node_expressions().
|
static |
Definition at line 510 of file isl_ast_codegen.c.
References a(), b(), and isl_pw_aff_plain_cmp().
Referenced by reduce_list(), and remove_redundant_lower_bounds().
|
static |
Definition at line 784 of file isl_ast_codegen.c.
References isl_generate_domain_data::build, init(), isl_ast_build_expr_from_pw_aff_internal(), isl_ast_graft_free(), isl_ast_node_for_set_init(), and isl_pw_aff_copy().
Referenced by create_node_scaled().
|
static |
Definition at line 1320 of file isl_ast_codegen.c.
References domain, isl_ast_graft_free(), isl_basic_set_get_constraint_list(), and refine_generic_split().
Referenced by create_node_scaled().
|
static |
Definition at line 1167 of file isl_ast_codegen.c.
References isl_generate_domain_data::build, domain, intersect_constraints(), isl_ast_build_get_depth(), isl_ast_graft_free(), isl_ast_graft_get_ctx(), isl_set_free(), isl_set_get_space(), isl_set_universe(), lower_bounds(), set_enforced_from_list(), set_enforced_from_set(), set_for_node_expressions(), upper_bounds(), and use_upper_bound_list().
Referenced by refine_generic_split().
|
static |
Definition at line 1274 of file isl_ast_codegen.c.
References cmp_constraint(), count_constraints(), domain, isl_ast_build_get_depth(), isl_ast_graft_free(), isl_ast_count_constraints_data::n_indep, isl_ast_count_constraints_data::n_lower, isl_ast_count_constraints_data::n_upper, isl_ast_count_constraints_data::pos, and refine_generic_bounds().
Referenced by refine_generic().
|
static |
Definition at line 529 of file isl_ast_codegen.c.
References isl_generate_domain_data::build, domain, isl_ast_build_get_domain(), isl_pw_aff_copy(), isl_pw_aff_free(), isl_pw_aff_gt_set(), isl_set_copy(), isl_set_free(), isl_set_intersect(), isl_set_is_empty(), isl_generate_domain_data::list, n, and reduce_list_cmp().
Referenced by lower_bounds().
|
static |
Definition at line 2288 of file isl_ast_codegen.c.
References isl_separate_domain_data::build, domain, isl_separate_domain_data::domain, isl_separate_domain_data::explicit, explicit_bounds(), implicit_bounds(), isl_set_coalesce(), isl_set_copy(), isl_set_intersect(), isl_set_make_disjoint(), isl_set_subtract(), isl_set_union(), isl_stat_ok, map, and user.
Referenced by separate_schedule_domains().
|
static |
Definition at line 2318 of file isl_ast_codegen.c.
References isl_separate_domain_data::build, isl_separate_domain_data::domain, isl_separate_domain_data::explicit, isl_ast_build_get_ctx(), ISL_AST_BUILD_SEPARATION_BOUNDS_EXPLICIT, isl_options_get_ast_build_separation_bounds(), isl_set_empty(), isl_set_free(), isl_union_map_foreach_map(), isl_union_map_free(), and separate_domain().
Referenced by compute_separate_domain(), and generate_shifted_component_tree_separate().
|
static |
Definition at line 912 of file isl_ast_codegen.c.
References isl_ast_graft_enforce(), isl_pw_aff_list_le_set(), and isl_set_simple_hull().
Referenced by refine_generic_bounds().
|
static |
Definition at line 861 of file isl_ast_codegen.c.
References hull, isl_ast_graft_enforce(), isl_ast_graft_free(), isl_basic_set_intersect(), isl_basic_set_universe(), isl_pw_aff_ceil(), isl_pw_multi_aff_copy(), isl_pw_multi_aff_free(), isl_pw_multi_aff_identity(), isl_pw_multi_aff_set_pw_aff(), isl_set_copy(), isl_set_get_space(), isl_set_preimage_pw_multi_aff(), isl_set_simple_hull(), isl_space_copy(), isl_space_map_from_set(), n, pma, and pos().
Referenced by refine_generic_bounds().
|
static |
Definition at line 1004 of file isl_ast_codegen.c.
References bound, isl_generate_domain_data::build, isl_ast_expr_alloc_binary(), isl_ast_expr_copy(), isl_ast_expr_op_le, isl_ast_expr_op_lt, isl_ast_expr_op_min, isl_ast_graft_free(), isl_ast_node_for_set_cond(), isl_generate_domain_data::list, list_add_one(), list_constant_is_negative(), neg(), reduce_list(), and type.
Referenced by set_for_node_expressions().
|
static |
Definition at line 1038 of file isl_ast_codegen.c.
References isl_generate_domain_data::build, isl_ast_build_expr_from_set_internal(), isl_ast_graft_free(), isl_ast_node_for_set_cond(), isl_set_copy(), and set.
Referenced by set_for_node_expressions().
|
static |
Definition at line 1111 of file isl_ast_codegen.c.
References isl_generate_domain_data::build, for_inc(), init(), isl_ast_expr_op_max, isl_ast_graft_free(), isl_ast_node_for_set_inc(), isl_ast_node_for_set_init(), reduce_list(), set_for_cond_from_list(), and set_for_cond_from_set().
Referenced by refine_generic_bounds().
|
static |
Definition at line 2101 of file isl_ast_codegen.c.
References isl_basic_map_equate(), isl_basic_map_free(), isl_basic_map_from_domain_and_range(), isl_basic_map_is_empty(), isl_basic_set_copy(), isl_bool_not(), isl_dim_in, isl_dim_out, test, and user.
Referenced by generate_parallel_domains().
|
static |
Definition at line 2379 of file isl_ast_codegen.c.
References aff, isl_aff_dim(), isl_aff_free(), isl_dim_div, isl_set_free(), isl_stat_error, isl_stat_ok, ma, n, set, and user.
Referenced by get_expanded_n_div().
|
static |
Definition at line 2501 of file isl_ast_codegen.c.
References aff, isl_find_unroll_data::depth, isl_find_unroll_data::domain, is_better_lower_bound(), isl_aff_add_coefficient_si(), isl_aff_add_constant_si(), isl_aff_ceil(), isl_aff_copy(), isl_aff_free(), isl_aff_neg(), isl_constraint_get_bound(), isl_constraint_is_lower_bound(), isl_dim_in, isl_dim_set, isl_set_max_val(), isl_stat_error, isl_stat_ok, isl_val_free(), isl_val_get_num_si(), isl_find_unroll_data::lower, and isl_find_unroll_data::n.
Referenced by constraint_find_unroll().
|
static |
Definition at line 643 of file isl_ast_codegen.c.
References aff, isl_generate_domain_data::build, domain, exact_bound(), isl_aff_floor(), isl_ast_build_get_ctx(), isl_constraint_free(), isl_constraint_get_bound(), isl_dim_set, isl_pw_aff_from_aff(), isl_generate_domain_data::list, n, and pos().
Referenced by refine_generic_bounds().
|
static |
Definition at line 1094 of file isl_ast_codegen.c.
References domain, isl_dim_set, isl_options_get_ast_build_atomic_upper_bound(), and isl_set_dim_has_upper_bound().
Referenced by refine_generic_bounds().