Polly 20.0.0git
|
#include <isl/id.h>
#include <isl/space.h>
#include <isl/constraint.h>
#include <isl/ilp.h>
#include <isl/val.h>
#include <isl_ast_build_expr.h>
#include <isl_ast_private.h>
#include <isl_ast_build_private.h>
#include <isl_sort.h>
Go to the source code of this file.
Classes | |
struct | isl_ast_add_term_data |
struct | isl_extract_mod_data |
struct | isl_ast_extract_rational_data |
struct | isl_ast_add_terms_data |
struct | isl_ast_coefficients_of_sign_data |
struct | isl_from_pw_aff_piece |
struct | isl_from_pw_aff_data |
Enumerations | |
enum | isl_from_pw_aff_state { isl_state_none , isl_state_single , isl_state_min , isl_state_max } |
Enumerator | |
---|---|
isl_state_none | |
isl_state_single | |
isl_state_min | |
isl_state_max |
Definition at line 1826 of file isl_ast_build_expr.c.
|
static |
Definition at line 2057 of file isl_ast_build_expr.c.
References isl_from_pw_aff_piece::aff_list, arg, ast_expr_from_aff_list(), isl_from_pw_aff_data::build, isl_from_pw_aff_data::dom, gist, isl_ast_build_copy(), isl_ast_build_expr_from_set_internal(), isl_ast_build_free(), isl_ast_build_get_ctx(), isl_ast_build_restrict_generated(), isl_ast_expr_alloc_op(), isl_ast_expr_op_add_arg(), isl_ast_expr_op_select, isl_set_copy(), isl_set_gist(), isl_state_none, isl_from_pw_aff_data::p, pos(), isl_from_pw_aff_piece::set, set, and isl_from_pw_aff_piece::state.
Referenced by build_pieces().
|
static |
Definition at line 2098 of file isl_ast_build_expr.c.
References isl_from_pw_aff_piece::aff_list, ast_expr_from_aff_list(), isl_from_pw_aff_data::build, isl_ast_build_copy(), isl_ast_build_free(), isl_ast_build_get_ctx(), isl_ast_build_restrict_generated(), isl_die, isl_error_invalid, isl_stat_error, isl_stat_ok, isl_state_none, isl_from_pw_aff_data::p, pos(), isl_from_pw_aff_piece::set, and isl_from_pw_aff_piece::state.
Referenced by build_pieces().
|
static |
Definition at line 1132 of file isl_ast_build_expr.c.
References isl_ast_extract_rational_data::d, isl_aff_add(), isl_aff_scale_val(), isl_aff_var_on_domain(), isl_bool_true, isl_local_space_copy(), isl_val_free(), isl_val_is_divisible_by(), isl_ast_extract_rational_data::ls, pos(), isl_ast_extract_rational_data::rat, type, and user.
Referenced by extract_rational().
|
static |
Definition at line 1222 of file isl_ast_build_expr.c.
References isl_ast_add_terms_data::expr, isl_ast_expr_add_term(), isl_bool_true, pos(), isl_ast_add_terms_data::term, type, and user.
Referenced by add_terms().
|
static |
Definition at line 1236 of file isl_ast_build_expr.c.
References add_term(), aff, every_non_zero_coefficient(), isl_ast_add_terms_data::expr, and isl_ast_expr_free().
Referenced by isl_ast_expr_from_aff(), and isl_ast_expr_from_constraint_no_stride().
|
static |
Definition at line 2225 of file isl_ast_build_expr.c.
References aff, isl_aff_get_denominator_val(), isl_bool_not(), isl_val_free(), and isl_val_is_one().
Referenced by extends(), and is_single_rational_aff().
|
static |
Definition at line 1416 of file isl_ast_build_expr.c.
References aff, isl_aff_coefficient_sgn(), isl_aff_dim(), isl_bool_error, isl_bool_false, isl_bool_true, isl_dim_in, isl_dim_param, and n.
Referenced by extract_stride_constraint().
|
static |
Definition at line 287 of file isl_ast_build_expr.c.
References ast_expr_is_zero(), isl_ast_expr_add(), and isl_ast_expr_free().
Referenced by extract_rational(), extract_term_and_mod(), isl_ast_expr_add_int(), and isl_ast_expr_add_term().
|
static |
Definition at line 2006 of file isl_ast_build_expr.c.
References aff, isl_ast_build_get_ctx(), isl_ast_expr_alloc_op(), isl_ast_expr_free(), isl_ast_expr_from_aff(), isl_ast_expr_op_add_arg(), isl_ast_expr_op_max, isl_ast_expr_op_min, isl_state_min, isl_state_single, n, and isl_from_pw_aff_piece::state.
Referenced by add_intermediate_piece(), and add_last_piece().
|
static |
Definition at line 2381 of file isl_ast_build_expr.c.
References aff, isl_from_pw_aff_piece::aff_list, extend_domain(), extend_max(), extend_min(), extends_max(), extends_min(), isl_aff_copy(), isl_aff_eq_set(), isl_aff_free(), isl_bool_false, isl_set_free(), isl_set_is_subset(), isl_stat_error, isl_stat_ok, isl_state_max, isl_state_min, isl_state_none, isl_state_single, isl_from_pw_aff_data::n, isl_from_pw_aff_data::p, set, set_single(), single_is_subset(), isl_from_pw_aff_piece::state, test, and user.
Referenced by isl_ast_build_expr_from_pw_aff_internal().
|
static |
Definition at line 275 of file isl_ast_build_expr.c.
References isl_ast_expr_int, isl_bool_error, isl_bool_false, and isl_val_is_zero().
Referenced by ast_expr_add(), ast_expr_sub(), constant_is_considered_positive(), isl_ast_expr_add_int(), and isl_ast_expr_add_term().
|
static |
Definition at line 321 of file isl_ast_build_expr.c.
References ast_expr_is_zero(), isl_ast_expr_free(), isl_ast_expr_neg(), and isl_ast_expr_sub().
Referenced by isl_ast_expr_add_int(), isl_ast_expr_add_term(), and isl_ast_expr_from_aff().
|
static |
Definition at line 2160 of file isl_ast_build_expr.c.
References add_intermediate_piece(), add_last_piece(), isl_from_pw_aff_data::build, isl_ast_build_get_ctx(), isl_die, isl_error_invalid, isl_set_coalesce(), isl_set_list_union(), isl_sort(), isl_state_none, isl_state_single, isl_from_pw_aff_data::n, isl_from_pw_aff_data::p, res, isl_from_pw_aff_piece::set, isl_from_pw_aff_piece::set_list, sort_pieces_cmp(), and isl_from_pw_aff_piece::state.
Referenced by isl_ast_build_expr_from_pw_aff_internal().
|
static |
Definition at line 742 of file isl_ast_build_expr.c.
References a(), b(), isl_extract_mod_data::d, isl_extract_mod_data::div, isl_extract_mod_data::i, isl_aff_free(), isl_aff_get_coefficient_val(), isl_aff_involves_dims(), isl_bool_false, isl_bool_true, isl_constraint_dim(), isl_constraint_free(), isl_constraint_get_aff(), isl_constraint_get_coefficient_val(), isl_constraint_get_constant_val(), isl_constraint_involves_dims(), isl_dim_in, isl_dim_param, isl_dim_set, isl_stat_error, isl_stat_ok, isl_val_abs(), isl_val_add(), isl_val_cmp_si(), isl_val_copy(), isl_val_free(), isl_val_is_divisible_by(), isl_val_sub(), mod_constraint_is_simpler(), n, isl_extract_mod_data::nonneg, isl_extract_mod_data::sign, t, user, and isl_extract_mod_data::v.
Referenced by try_extract_mod().
|
static |
Definition at line 1298 of file isl_ast_build_expr.c.
References isl_ast_coefficients_of_sign_data::aff, isl_aff_set_coefficient_si(), isl_bool_true, isl_dim_in, isl_dim_set, isl_val_free(), isl_val_sgn(), pos(), isl_ast_coefficients_of_sign_data::sign, type, and user.
Referenced by coefficients_of_sign().
|
static |
Definition at line 1640 of file isl_ast_build_expr.c.
References a(), b(), cmp(), isl_constraint_cmp_last_non_zero(), and isl_constraint_plain_cmp().
Referenced by isl_ast_build_expr_from_basic_set().
|
static |
Definition at line 1323 of file isl_ast_build_expr.c.
References isl_ast_coefficients_of_sign_data::aff, aff, clear_opposite_sign(), every_non_zero_coefficient(), isl_aff_copy(), isl_aff_free(), isl_aff_set_constant_si(), and isl_ast_coefficients_of_sign_data::sign.
Referenced by isl_ast_expr_from_constraint_no_stride().
|
static |
Definition at line 1348 of file isl_ast_build_expr.c.
References ast_expr_is_zero(), isl_bool_not(), isl_val_is_pos(), neg(), and pos().
Referenced by isl_ast_expr_from_constraint_no_stride().
|
static |
Definition at line 1500 of file isl_ast_build_expr.c.
References isl_ast_expr_alloc_binary(), isl_ast_expr_get_type(), isl_ast_expr_int, isl_ast_expr_op_eq, isl_ast_expr_op_ge, isl_ast_expr_op_le, and type.
Referenced by isl_ast_expr_from_constraint_no_stride().
|
static |
Definition at line 157 of file isl_ast_build_expr.c.
References aff, isl_ast_expr_alloc_binary(), isl_ast_expr_from_aff(), isl_ast_expr_from_val(), and type.
Referenced by extract_rational(), isl_ast_expr_mod(), and var_div().
|
static |
Definition at line 1079 of file isl_ast_build_expr.c.
References aff, fn, isl_extract_mod_data::i, isl_aff_dim(), isl_aff_get_coefficient_val(), isl_bool_error, isl_bool_true, isl_dim_div, isl_dim_in, isl_dim_param, isl_dim_set, isl_val_free(), isl_val_is_zero(), n, pos(), t, user, and isl_extract_mod_data::v.
Referenced by add_terms(), coefficients_of_sign(), and extract_rational().
|
static |
Definition at line 1978 of file isl_ast_build_expr.c.
References aff, isl_from_pw_aff_piece::aff_list, isl_aff_free(), isl_set_union(), isl_stat_error, isl_stat_ok, isl_from_pw_aff_data::n, n, isl_from_pw_aff_data::p, replace(), set, and isl_from_pw_aff_piece::set_list.
Referenced by ast_expr_from_pw_aff().
|
static |
Definition at line 1960 of file isl_ast_build_expr.c.
References aff, isl_from_pw_aff_piece::aff_list, isl_stat_error, isl_stat_ok, isl_state_max, isl_from_pw_aff_data::n, n, isl_from_pw_aff_data::p, set, isl_from_pw_aff_piece::set_list, and isl_from_pw_aff_piece::state.
Referenced by ast_expr_from_pw_aff().
|
static |
Definition at line 1944 of file isl_ast_build_expr.c.
References aff, isl_from_pw_aff_piece::aff_list, isl_stat_error, isl_stat_ok, isl_state_min, isl_from_pw_aff_data::n, n, isl_from_pw_aff_data::p, set, isl_from_pw_aff_piece::set_list, and isl_from_pw_aff_piece::state.
Referenced by ast_expr_from_pw_aff().
|
static |
Definition at line 2276 of file isl_ast_build_expr.c.
References aff, aff_is_rational(), isl_from_pw_aff_piece::aff_list, isl_from_pw_aff_data::build, is_rational(), is_single_rational_aff(), isl_aff_copy(), isl_ast_build_get_ctx(), isl_ast_build_get_domain(), isl_bool_error, isl_bool_false, isl_bool_not(), isl_bool_true, isl_options_get_ast_build_detect_min_max(), isl_set_copy(), isl_set_free(), isl_set_from_basic_set(), isl_set_intersect(), isl_set_is_subset(), isl_from_pw_aff_data::n, n, isl_from_pw_aff_data::p, set, isl_from_pw_aff_piece::set_list, and test.
Referenced by extends_max(), and extends_min().
|
static |
Definition at line 2357 of file isl_ast_build_expr.c.
References aff, extends(), isl_aff_le_basic_set(), and set.
Referenced by ast_expr_from_pw_aff().
|
static |
Definition at line 2344 of file isl_ast_build_expr.c.
References aff, extends(), isl_aff_ge_basic_set(), and set.
Referenced by ast_expr_from_pw_aff().
|
static |
Definition at line 643 of file isl_ast_build_expr.c.
References isl_extract_mod_data::div, extract_term_and_mod(), and isl_aff_copy().
Referenced by extract_nonneg_mod().
|
static |
Definition at line 993 of file isl_ast_build_expr.c.
References isl_extract_mod_data::aff, isl_extract_mod_data::d, isl_extract_mod_data::div, isl_extract_mod_data::i, isl_aff_free(), isl_aff_get_denominator_val(), isl_aff_get_div(), isl_aff_scale_val(), isl_val_copy(), isl_val_free(), isl_val_is_divisible_by(), try_extract_mod(), and isl_extract_mod_data::v.
Referenced by extract_modulos().
|
static |
Definition at line 1030 of file isl_ast_build_expr.c.
References isl_extract_mod_data::add, isl_extract_mod_data::aff, aff, isl_extract_mod_data::build, extract_modulo(), isl_extract_mod_data::i, isl_aff_add(), isl_aff_dim(), isl_aff_free(), isl_aff_get_coefficient_val(), isl_aff_get_ctx(), isl_dim_div, isl_options_get_ast_build_prefer_pdiv(), isl_val_free(), isl_val_is_negone(), isl_val_is_one(), isl_val_is_zero(), n, neg(), isl_extract_mod_data::neg, isl_extract_mod_data::pos, pos(), and isl_extract_mod_data::v.
Referenced by isl_ast_expr_from_aff(), and isl_ast_expr_from_constraint_no_stride().
|
static |
Definition at line 667 of file isl_ast_build_expr.c.
References isl_extract_mod_data::aff, isl_extract_mod_data::build, isl_extract_mod_data::d, isl_extract_mod_data::div, extract_mod(), isl_aff_free(), isl_ast_build_aff_is_nonneg(), isl_stat_error, isl_stat_ok, isl_val_copy(), isl_val_neg(), oppose_div_arg(), and isl_extract_mod_data::v.
Referenced by try_extract_mod().
|
static |
Definition at line 1156 of file isl_ast_build_expr.c.
References add_rational(), aff, ast_expr_add(), isl_ast_extract_rational_data::d, div_mod(), every_non_zero_coefficient(), isl_aff_add(), isl_aff_copy(), isl_aff_free(), isl_aff_get_constant_val(), isl_aff_get_denominator_val(), isl_aff_get_domain_local_space(), isl_aff_scale_down_val(), isl_aff_scale_val(), isl_aff_sub(), isl_aff_val_on_domain(), isl_aff_zero_on_domain(), isl_ast_expr_op_div, isl_local_space_copy(), isl_local_space_free(), isl_val_copy(), isl_val_free(), isl_val_is_divisible_by(), isl_val_is_one(), isl_ast_extract_rational_data::ls, and isl_ast_extract_rational_data::rat.
Referenced by isl_ast_expr_from_aff().
|
static |
Definition at line 1459 of file isl_ast_build_expr.c.
References aff, all_neg(), all_negative_coefficients(), isl_aff_free(), isl_aff_get_coefficient_val(), isl_aff_get_ctx(), isl_aff_neg(), isl_aff_set_coefficient_si(), isl_ast_expr_alloc_binary(), isl_ast_expr_alloc_int_si(), isl_ast_expr_from_aff(), isl_ast_expr_from_val(), isl_ast_expr_op_eq, isl_ast_expr_op_zdiv_r, isl_dim_div, isl_val_abs(), and pos().
Referenced by isl_ast_expr_from_constraint().
|
static |
Definition at line 584 of file isl_ast_build_expr.c.
References isl_extract_mod_data::add, isl_extract_mod_data::aff, arg, ast_expr_add(), isl_extract_mod_data::build, isl_extract_mod_data::d, isl_extract_mod_data::i, is_even_test(), isl_aff_add(), isl_aff_free(), isl_aff_scale_val(), isl_aff_set_coefficient_si(), isl_aff_set_constant_si(), isl_ast_expr_mod(), isl_dim_div, isl_stat_error, isl_stat_ok, isl_val_abs(), isl_val_copy(), isl_val_div(), isl_val_neg(), isl_val_sgn(), isl_extract_mod_data::neg, oppose_div_arg(), isl_extract_mod_data::pos, and isl_extract_mod_data::v.
Referenced by extract_mod(), and try_extract_mod().
|
static |
Definition at line 538 of file isl_ast_build_expr.c.
References arg, isl_extract_mod_data::d, isl_aff_get_constant_val(), isl_val_eq_si(), isl_val_free(), and res.
Referenced by extract_term_and_mod().
|
static |
Definition at line 78 of file isl_ast_build_expr.c.
References aff, isl_ast_add_term_data::build, isl_ast_add_term_data::cst, isl_aff_add_constant_val(), isl_aff_copy(), isl_aff_free(), isl_ast_build_aff_is_nonneg(), isl_bool_false, isl_bool_not(), isl_val_copy(), isl_val_div(), isl_val_floor(), isl_val_free(), isl_val_is_zero(), isl_val_mul(), isl_val_sgn(), and isl_ast_add_term_data::v.
Referenced by var_div().
|
static |
Definition at line 2239 of file isl_ast_build_expr.c.
References aff, aff_is_rational(), isl_aff_free(), isl_bool_error, isl_bool_false, and n.
Referenced by extends().
|
static |
Definition at line 1388 of file isl_ast_build_expr.c.
References aff, isl_aff_copy(), isl_aff_free(), isl_aff_get_coefficient_val(), isl_aff_get_denominator_val(), isl_aff_get_div(), isl_aff_neg(), isl_aff_plain_is_equal(), isl_aff_scale_val(), isl_aff_set_coefficient_si(), isl_dim_div, isl_val_abs_eq(), isl_val_free(), isl_val_is_pos(), and pos().
Referenced by isl_ast_expr_from_constraint().
__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_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_give isl_ast_node * isl_ast_build_call_from_executed | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_map * | executed | ||
) |
Definition at line 2759 of file isl_ast_build_expr.c.
References isl_from_pw_aff_data::build, isl_ast_build_compute_gist_pw_multi_aff(), isl_ast_build_from_pw_multi_aff_internal(), isl_ast_build_get_domain(), isl_ast_expr_op_call, isl_ast_node_alloc_user(), isl_pw_multi_aff_from_map(), and isl_pw_multi_aff_intersect_domain().
Referenced by isl_ast_graft_alloc_domain().
__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_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_expr * isl_ast_build_expr_from_basic_set | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_basic_set * | bset | ||
) |
Definition at line 1671 of file isl_ast_build_expr.c.
References isl_ast_add_term_data::build, cmp_constraint(), isl_ast_build_copy(), isl_ast_build_free(), isl_ast_build_restrict_generated(), isl_ast_expr_alloc_int_si(), isl_ast_expr_and(), isl_ast_expr_from_constraint(), isl_basic_set_free(), isl_basic_set_from_constraint(), isl_basic_set_get_constraint_list(), isl_constraint_copy(), isl_set_from_basic_set(), n, res, and set.
Referenced by isl_ast_build_expr_from_set_internal().
__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_give isl_ast_expr * isl_ast_build_expr_from_pw_aff_internal | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_pw_aff * | pa | ||
) |
Definition at line 2436 of file isl_ast_build_expr.c.
References ast_expr_from_pw_aff(), isl_from_pw_aff_data::build, build_pieces(), isl_ast_build_compute_gist_pw_aff(), isl_from_pw_aff_data_clear(), isl_from_pw_aff_data_init(), isl_pw_aff_coalesce(), isl_pw_aff_foreach_piece(), isl_pw_aff_free(), res, and set_none().
Referenced by isl_ast_build_expr_from_pw_aff(), isl_ast_build_with_arguments(), reduce_list(), and refine_degenerate().
__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_give isl_ast_expr * isl_ast_build_expr_from_set_internal | ( | __isl_keep isl_ast_build * | build, |
__isl_take isl_set * | set | ||
) |
Definition at line 1738 of file isl_ast_build_expr.c.
References isl_ast_add_term_data::build, domain, isl_ast_build_expr_from_basic_set(), isl_ast_build_get_ctx(), isl_ast_build_get_domain(), isl_ast_expr_from_val(), isl_ast_expr_or(), isl_basic_set_copy(), isl_basic_set_gist(), isl_basic_set_list, isl_set_copy(), isl_set_free(), isl_set_from_basic_set(), isl_set_get_basic_set_list(), isl_set_intersect(), isl_set_simple_hull(), isl_set_subtract(), isl_val_zero(), n, res, and set.
Referenced by add_intermediate_piece(), ast_node_insert_if(), isl_ast_build_expr_from_set(), and set_for_cond_from_set().
|
static |
Definition at line 2647 of file isl_ast_build_expr.c.
References isl_from_pw_aff_data::build, isl_ast_build_from_multi_pw_aff_internal(), isl_ast_build_get_ctx(), isl_ast_build_get_schedule_map_multi_aff(), isl_ast_build_get_space(), isl_ast_build_need_schedule_map(), isl_die, isl_dim_in, isl_dim_set, isl_error_invalid, isl_multi_pw_aff_pullback_multi_aff(), isl_space_free(), isl_space_tuple_is_equal(), ma, and type.
Referenced by isl_ast_build_access_from_multi_pw_aff(), isl_ast_build_call_from_multi_pw_aff(), and isl_ast_build_from_pw_multi_aff().
|
static |
Definition at line 2590 of file isl_ast_build_expr.c.
References isl_from_pw_aff_data::build, id, isl_ast_build_from_multi_pw_aff_member(), isl_ast_build_get_ctx(), isl_ast_build_with_arguments(), isl_ast_expr_from_id(), isl_ast_expr_op_access, isl_dim_out, isl_id_alloc(), set_iterator_names(), and type.
Referenced by isl_ast_build_from_multi_pw_aff(), isl_ast_build_from_multi_pw_aff_member(), and isl_ast_build_from_pw_multi_aff_internal().
|
static |
Definition at line 2554 of file isl_ast_build_expr.c.
References isl_from_pw_aff_data::build, domain, id, isl_ast_build_from_multi_pw_aff_internal(), isl_ast_build_get_ctx(), isl_ast_build_with_arguments(), isl_ast_expr_alloc_binary(), isl_ast_expr_from_id(), isl_ast_expr_op_access, isl_ast_expr_op_member, isl_die, isl_dim_out, isl_error_invalid, and type.
Referenced by isl_ast_build_from_multi_pw_aff_internal().
|
static |
Definition at line 2717 of file isl_ast_build_expr.c.
References isl_from_pw_aff_data::build, isl_ast_build_from_multi_pw_aff(), isl_multi_pw_aff_from_pw_multi_aff(), pma, and type.
Referenced by isl_ast_build_access_from_pw_multi_aff(), and isl_ast_build_call_from_pw_multi_aff().
|
static |
Definition at line 2630 of file isl_ast_build_expr.c.
References isl_from_pw_aff_data::build, isl_ast_build_from_multi_pw_aff_internal(), isl_multi_pw_aff_from_pw_multi_aff(), pma, and type.
Referenced by isl_ast_build_call_from_executed().
|
static |
Definition at line 2515 of file isl_ast_build_expr.c.
References arg, isl_from_pw_aff_data::build, isl_ast_build_expr_from_pw_aff_internal(), isl_ast_build_get_ctx(), isl_ast_expr_alloc_op(), isl_ast_expr_op_add_arg(), isl_dim_out, n, and type.
Referenced by isl_ast_build_from_multi_pw_aff_internal(), and isl_ast_build_from_multi_pw_aff_member().
|
static |
Definition at line 458 of file isl_ast_build_expr.c.
References ast_expr_add(), ast_expr_is_zero(), ast_expr_sub(), isl_ast_expr_free(), isl_ast_expr_from_val(), isl_val_free(), isl_val_is_neg(), isl_val_is_zero(), and isl_val_neg().
Referenced by isl_ast_expr_from_aff(), and isl_ast_expr_from_constraint_no_stride().
|
static |
Definition at line 433 of file isl_ast_build_expr.c.
References ast_expr_add(), ast_expr_is_zero(), ast_expr_sub(), isl_val_is_neg(), isl_val_neg(), pos(), scale(), type, isl_ast_add_term_data::v, and var().
Referenced by add_term().
__isl_give isl_ast_expr * isl_ast_expr_from_aff | ( | __isl_take isl_aff * | aff, |
__isl_keep isl_ast_build * | build | ||
) |
Definition at line 1255 of file isl_ast_build_expr.c.
References add_terms(), aff, ast_expr_sub(), isl_ast_add_term_data::build, isl_ast_add_term_data::cst, isl_ast_add_terms_data::expr, extract_modulos(), extract_rational(), isl_aff_free(), isl_aff_get_constant_val(), isl_aff_get_ctx(), isl_aff_get_domain_local_space(), isl_ast_expr_add_int(), isl_ast_expr_alloc_int_si(), isl_local_space_free(), and isl_ast_add_term_data::ls.
Referenced by ast_expr_from_aff_list(), div_mod(), and extract_stride_constraint().
|
static |
Definition at line 1602 of file isl_ast_build_expr.c.
References aff, isl_ast_add_term_data::build, extract_stride_constraint(), is_stride_constraint(), isl_aff_dim(), isl_aff_free(), isl_ast_expr_from_constraint_no_stride(), isl_constraint_free(), isl_constraint_get_aff(), isl_constraint_is_equality(), isl_dim_div, and n.
Referenced by isl_ast_build_expr_from_basic_set().
|
static |
Definition at line 1540 of file isl_ast_build_expr.c.
References add_terms(), aff, isl_ast_add_term_data::build, coefficients_of_sign(), constant_is_considered_positive(), construct_constraint_expr(), isl_ast_add_term_data::cst, extract_modulos(), isl_aff_copy(), isl_aff_free(), isl_aff_get_constant_val(), isl_aff_get_ctx(), isl_aff_get_domain_local_space(), isl_aff_neg(), isl_ast_expr_add_int(), isl_ast_expr_alloc_int_si(), isl_ast_expr_free(), isl_local_space_free(), isl_val_neg(), and isl_ast_add_term_data::ls.
Referenced by isl_ast_expr_from_constraint().
|
static |
Definition at line 351 of file isl_ast_build_expr.c.
References aff, div_mod(), isl_aff_copy(), isl_ast_expr_from_val(), isl_ast_expr_mul(), isl_ast_expr_op_pdiv_r, isl_val_copy(), and isl_val_is_one().
Referenced by extract_term_and_mod().
|
static |
Definition at line 1906 of file isl_ast_build_expr.c.
References isl_from_pw_aff_piece::aff_list, isl_from_pw_aff_data::dom, isl_set_free(), isl_from_pw_aff_data::max, isl_from_pw_aff_data::p, isl_from_pw_aff_piece::set, and isl_from_pw_aff_piece::set_list.
Referenced by isl_ast_build_expr_from_pw_aff_internal().
|
static |
Definition at line 1880 of file isl_ast_build_expr.c.
References isl_from_pw_aff_data::build, isl_from_pw_aff_data::dom, isl_calloc_array, isl_die, isl_error_invalid, isl_pw_aff_copy(), isl_pw_aff_domain(), isl_pw_aff_get_ctx(), isl_pw_aff_n_piece(), isl_stat_error, isl_stat_ok, isl_from_pw_aff_data::max, isl_from_pw_aff_data::n, n, and isl_from_pw_aff_data::p.
Referenced by isl_ast_build_expr_from_pw_aff_internal().
|
static |
Definition at line 703 of file isl_ast_build_expr.c.
References isl_aff_get_constant_val(), isl_constraint_get_constant_val(), isl_val_abs(), isl_val_free(), isl_val_lt(), and isl_extract_mod_data::nonneg.
Referenced by check_parallel_or_opposite().
|
static |
Definition at line 30 of file isl_ast_build_expr.c.
References aff, isl_aff_add_constant_si(), isl_aff_add_constant_val(), and isl_aff_neg().
Referenced by extract_nonneg_mod(), extract_term_and_mod(), try_extract_mod(), and var_div().
|
static |
Definition at line 383 of file isl_ast_build_expr.c.
References isl_ast_expr_free(), isl_ast_expr_from_val(), isl_ast_expr_mul(), isl_ast_expr_neg(), isl_val_free(), isl_val_is_negone(), and isl_val_is_one().
Referenced by FN(), isl_ast_expr_add_term(), isl_multi_union_pw_aff_tile(), and test_tile().
|
static |
Definition at line 2491 of file isl_ast_build_expr.c.
References isl_from_pw_aff_data::build, id, isl_ast_build_get_iterator_id(), isl_dim_in, and n.
Referenced by isl_ast_build_from_multi_pw_aff_internal().
|
static |
Definition at line 1924 of file isl_ast_build_expr.c.
References isl_from_pw_aff_piece::aff_list, isl_state_none, isl_from_pw_aff_data::n, isl_from_pw_aff_data::p, isl_from_pw_aff_piece::set_list, and isl_from_pw_aff_piece::state.
Referenced by isl_ast_build_expr_from_pw_aff_internal().
|
static |
Definition at line 1933 of file isl_ast_build_expr.c.
References aff, isl_from_pw_aff_piece::aff_list, isl_state_single, isl_from_pw_aff_data::n, isl_from_pw_aff_data::p, set, isl_from_pw_aff_piece::set_list, and isl_from_pw_aff_piece::state.
Referenced by ast_expr_from_pw_aff().
|
static |
Definition at line 2209 of file isl_ast_build_expr.c.
References isl_set_free(), isl_set_is_subset(), isl_from_pw_aff_data::n, isl_from_pw_aff_data::p, set, isl_from_pw_aff_piece::set_list, and subset.
Referenced by ast_expr_from_pw_aff().
|
static |
Definition at line 2130 of file isl_ast_build_expr.c.
References isl_set_n_basic_set(), and isl_from_pw_aff_piece::set.
Referenced by build_pieces().
|
static |
Definition at line 131 of file isl_ast_build_expr.c.
References aff, isl_ast_add_term_data::build, isl_ast_add_term_data::cst, domain, isl_aff_add_constant_val(), isl_ast_build_get_domain(), isl_set_free(), isl_set_min_val(), isl_val_ceil(), isl_val_copy(), isl_val_div(), isl_val_mul(), isl_val_neg(), isl_val_sub(), t, and isl_ast_add_term_data::v.
Referenced by var_div().
|
static |
Definition at line 899 of file isl_ast_build_expr.c.
References isl_extract_mod_data::aff, isl_extract_mod_data::build, check_parallel_or_opposite(), isl_extract_mod_data::d, isl_extract_mod_data::div, isl_ast_build::domain, extract_nonneg_mod(), extract_term_and_mod(), hull, isl_aff_copy(), isl_aff_dim(), isl_aff_free(), isl_aff_get_constant_val(), isl_aff_involves_dims(), isl_aff_set_constant_val(), isl_basic_set_foreach_constraint(), isl_basic_set_free(), isl_basic_set_remove_divs(), isl_dim_div, isl_set_copy(), isl_set_simple_hull(), isl_stat_error, isl_val_add(), isl_val_ceil(), isl_val_copy(), isl_val_div(), isl_val_free(), isl_val_is_neg(), isl_val_mod(), isl_val_mul(), isl_val_neg(), isl_val_sub(), isl_val_sub_ui(), n, isl_extract_mod_data::nonneg, oppose_div_arg(), isl_extract_mod_data::sign, and isl_extract_mod_data::v.
Referenced by extract_modulo().
|
static |
Definition at line 252 of file isl_ast_build_expr.c.
References isl_ast_add_term_data::build, id, isl_ast_build_get_iterator_id(), isl_ast_expr_from_id(), isl_die, isl_dim_div, isl_dim_set, isl_error_internal, isl_local_space_get_ctx(), isl_local_space_get_dim_id(), isl_local_space_has_dim_id(), isl_ast_add_term_data::ls, pos(), type, and var_div().
Referenced by at_least_one(), at_least_zero(), best_split(), check_lexpos(), check_table(), close_row(), con_is_redundant(), cut_to_hyperplane(), cut_to_integer_lexmin(), detect_constant_with_tmp(), drop_col(), find_pivot(), first_non_integer_row(), get_constant(), get_rounded_sample_value(), is_constant(), isl_ast_expr_add_term(), isl_poly_alloc_rec(), isl_tab_add_eq(), isl_tab_add_valid_eq(), isl_tab_cone_is_bounded(), isl_tab_detect_implicit_equalities(), isl_tab_detect_redundant(), isl_tab_extend_vars(), isl_tab_freeze_constraint(), isl_tab_is_constant(), isl_tab_mark_redundant(), isl_tab_min(), isl_tab_min_at_most_neg_one(), isl_tab_pivot(), isl_tab_push_var(), isl_tab_relax(), isl_tab_restore_redundant(), isl_tab_shift_var(), isl_tab_sign_of_max(), isl_tab_swap_constraints(), isl_tab_unrestrict(), map_bound_pw_aff(), max_is_manifestly_unbounded(), min_is_manifestly_unbounded(), next_non_integer_var(), perform_undo_var(), pivot_row(), print_base(), print_pow(), reached(), restore_basis(), restore_last_redundant(), restore_row(), rotate_constraints(), select_marked(), select_minimum(), set_minimum(), set_minimum_pa(), SF(), sign_of_max(), sign_of_min(), tab_detect_nonnegative_parameters(), to_col(), to_row(), unrelax(), ununrestrict(), update_index1(), update_index2(), var_reaches(), variable_free(), variable_new(), and vars_drop().
|
static |
Definition at line 202 of file isl_ast_build_expr.c.
References aff, isl_ast_add_term_data::build, div_mod(), is_non_neg_after_stealing(), isl_aff_copy(), isl_aff_free(), isl_aff_get_denominator_val(), isl_aff_scale_val(), isl_ast_build_aff_is_nonneg(), isl_ast_expr_op_fdiv_q, isl_ast_expr_op_pdiv_q, isl_local_space_get_ctx(), isl_local_space_get_div(), isl_options_get_ast_build_prefer_pdiv(), isl_val_copy(), isl_val_neg(), isl_ast_add_term_data::ls, oppose_div_arg(), pos(), steal_from_cst(), type, and isl_ast_add_term_data::v.
Referenced by var().