Polly 20.0.0git
|
Go to the source code of this file.
Macros | |
#define | ISL_AST_BUILD_SEPARATION_BOUNDS_EXPLICIT 0 |
#define | ISL_AST_BUILD_SEPARATION_BOUNDS_IMPLICIT 1 |
Typedefs | |
typedef struct isl_ast_build | isl_ast_build |
#define ISL_AST_BUILD_SEPARATION_BOUNDS_EXPLICIT 0 |
Definition at line 32 of file ast_build.h.
#define ISL_AST_BUILD_SEPARATION_BOUNDS_IMPLICIT 1 |
Definition at line 33 of file ast_build.h.
struct __isl_export isl_ast_build |
Definition at line 14 of file ast_build.h.
__isl_overload __isl_give isl_ast_expr * isl_ast_build_access_from_multi_pw_aff | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_multi_pw_aff * | mpa | ||
) |
Definition at line 2703 of file isl_ast_build_expr.c.
References isl_from_pw_aff_data::build, isl_ast_build_from_multi_pw_aff(), and isl_ast_expr_op_access.
Referenced by isl::ast_build::access_from().
__isl_overload __isl_give isl_ast_expr * isl_ast_build_access_from_pw_multi_aff | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_pw_multi_aff * | pma | ||
) |
Definition at line 2746 of file isl_ast_build_expr.c.
References isl_from_pw_aff_data::build, isl_ast_build_from_pw_multi_aff(), isl_ast_expr_op_access, and pma.
Referenced by isl::ast_build::access_from(), and polly::IslNodeBuilder::preloadUnconditionally().
__isl_constructor __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_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_overload __isl_give isl_ast_expr * isl_ast_build_call_from_multi_pw_aff | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_multi_pw_aff * | mpa | ||
) |
Definition at line 2690 of file isl_ast_build_expr.c.
References isl_from_pw_aff_data::build, isl_ast_build_from_multi_pw_aff(), and isl_ast_expr_op_call.
Referenced by isl::ast_build::call_from().
__isl_overload __isl_give isl_ast_expr * isl_ast_build_call_from_pw_multi_aff | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_pw_multi_aff * | pma | ||
) |
Definition at line 2733 of file isl_ast_build_expr.c.
References isl_from_pw_aff_data::build, isl_ast_build_from_pw_multi_aff(), isl_ast_expr_op_call, and pma.
Referenced by isl::ast_build::call_from().
__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_overload __isl_give isl_ast_expr * isl_ast_build_expr_from_pw_aff | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_pw_aff * | pa | ||
) |
Definition at line 2468 of file isl_ast_build_expr.c.
References isl_from_pw_aff_data::build, isl_ast_build_expr_from_pw_aff_internal(), isl_ast_build_get_schedule_map_multi_aff(), isl_ast_build_need_schedule_map(), isl_pw_aff_free(), isl_pw_aff_pullback_multi_aff(), and ma.
Referenced by isl::ast_build::expr_from(), print_pw_aff_c(), and test_ast_expr().
__isl_overload __isl_give isl_ast_expr * isl_ast_build_expr_from_set | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_set * | set | ||
) |
Definition at line 1799 of file isl_ast_build_expr.c.
References isl_ast_add_term_data::build, isl_ast_build_compute_gist(), isl_ast_build_expr_from_set_internal(), isl_ast_build_get_schedule_map_multi_aff(), isl_ast_build_need_schedule_map(), isl_set_compute_divs(), isl_set_free(), isl_set_preimage_multi_aff(), ma, and set.
Referenced by isl::ast_build::expr_from(), polly::IslNodeBuilder::preloadInvariantLoad(), and test_ast_build().
__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_export __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_export __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_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_overload __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_export __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().
__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_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_export __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_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_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().
int isl_options_get_ast_build_allow_else | ( | isl_ctx * | ctx | ) |
Referenced by insert_pending_guard_nodes().
int isl_options_get_ast_build_allow_or | ( | isl_ctx * | ctx | ) |
Referenced by ast_node_insert_if().
int isl_options_get_ast_build_atomic_upper_bound | ( | isl_ctx * | ctx | ) |
Referenced by use_upper_bound_list().
int isl_options_get_ast_build_detect_min_max | ( | isl_ctx * | ctx | ) |
Referenced by extends(), and test_ast_expr().
int isl_options_get_ast_build_exploit_nested_bounds | ( | isl_ctx * | ctx | ) |
Referenced by extract_shared_enforced(), and test_ast_gen4().
int isl_options_get_ast_build_group_coscheduled | ( | isl_ctx * | ctx | ) |
Referenced by generate_components().
int isl_options_get_ast_build_prefer_pdiv | ( | isl_ctx * | ctx | ) |
Referenced by extract_modulos(), and var_div().
int isl_options_get_ast_build_scale_strides | ( | isl_ctx * | ctx | ) |
Referenced by create_node().
int isl_options_get_ast_build_separation_bounds | ( | isl_ctx * | ctx | ) |
Referenced by separate_schedule_domains().
Referenced by polly::IslAst::init().
Referenced by polly::IslAst::init(), main(), and test_ast_expr().
Referenced by test_ast_gen4().