Polly 20.0.0git
|
#include <isl/local_space.h>
#include <isl/space_type.h>
#include <isl/aff_type.h>
#include <isl/set_type.h>
#include <isl/list.h>
#include <isl/val_type.h>
#include <isl/printer.h>
Go to the source code of this file.
Typedefs | |
typedef struct isl_constraint | isl_constraint |
typedef struct isl_constraint isl_constraint |
Definition at line 26 of file constraint.h.
__isl_give isl_basic_map * isl_basic_map_add_constraint | ( | __isl_take isl_basic_map * | bmap, |
__isl_take isl_constraint * | constraint | ||
) |
Definition at line 320 of file isl_constraint.c.
References isl_assert, isl_basic_map_free(), isl_basic_map_from_constraint(), isl_basic_map_intersect(), isl_constraint_free(), isl_constraint_get_ctx(), isl_constraint_get_space(), isl_space_free(), and isl_space_is_equal().
Referenced by isl_basic_map_order_ge(), and isl_basic_set_add_constraint().
isl_stat isl_basic_map_foreach_constraint | ( | __isl_keep isl_basic_map * | bmap, |
isl_stat(*)(__isl_take isl_constraint *c, void *user) | fn, | ||
void * | user | ||
) |
Definition at line 206 of file isl_constraint.c.
References isl_basic_map::eq, fn, isl_basic_map::ineq, isl_assert, isl_basic_map_constraint(), isl_basic_map_copy(), ISL_BASIC_MAP_FINAL, ISL_F_ISSET, isl_stat_error, isl_stat_ok, and user.
Referenced by basic_map_check_scaled(), isl_basic_map_get_constraint_list(), isl_basic_map_is_universe(), and isl_basic_set_foreach_constraint().
__isl_give isl_basic_map * isl_basic_map_from_constraint | ( | __isl_take isl_constraint * | constraint | ) |
Definition at line 703 of file isl_constraint.c.
References isl_basic_map::eq, isl_basic_map::ineq, isl_basic_map_alloc_equality(), isl_basic_map_alloc_inequality(), isl_basic_map_dim(), isl_basic_map_extend_constraints(), isl_basic_map_free(), isl_basic_map_from_local_space(), ISL_BASIC_SET_FINAL, isl_constraint_free(), isl_constraint_is_equality(), isl_dim_all, ISL_F_SET, isl_local_space_copy(), isl_seq_cpy(), isl_constraint::ls, and total().
Referenced by construct_insertion_map(), isl_basic_map_add_constraint(), isl_basic_set_from_constraint(), and isl_map_add_constraint().
__isl_give isl_constraint_list * isl_basic_map_get_constraint_list | ( | __isl_keep isl_basic_map * | bmap | ) |
Definition at line 269 of file isl_constraint.c.
References collect_constraint(), isl_basic_map_divs_known(), isl_basic_map_foreach_constraint(), isl_basic_map_get_ctx(), isl_basic_map_n_constraint(), isl_die, isl_error_invalid, and n.
Referenced by isl_basic_set_get_constraint_list().
isl_bool isl_basic_map_has_defining_equality | ( | __isl_keep isl_basic_map * | bmap, |
enum isl_dim_type | type, | ||
int | pos, | ||
__isl_give isl_constraint ** | c | ||
) |
Definition at line 763 of file isl_constraint.c.
References isl_basic_map::eq, isl_basic_map_check_range(), isl_basic_map_constraint(), isl_basic_map_copy(), isl_basic_map_dim(), isl_basic_map_offset(), isl_bool_error, isl_bool_false, isl_bool_true, isl_dim_all, isl_int_is_zero, isl_seq_first_non_zero(), offset, pos(), total(), and type.
Referenced by isl_basic_set_has_defining_equality(), and normalize_stride_div().
isl_size isl_basic_map_n_constraint | ( | __isl_keep isl_basic_map * | bmap | ) |
Definition at line 189 of file isl_constraint.c.
References isl_size_error.
Referenced by isl_basic_map_get_constraint_list(), isl_basic_map_set_to_empty(), and isl_basic_set_n_constraint().
__isl_give isl_basic_set * isl_basic_set_add_constraint | ( | __isl_take isl_basic_set * | bset, |
__isl_take isl_constraint * | constraint | ||
) |
Definition at line 345 of file isl_constraint.c.
References bset_from_bmap(), bset_to_bmap(), and isl_basic_map_add_constraint().
Referenced by foreach_iteration(), test_construction_1(), and test_div().
isl_stat isl_basic_set_foreach_bound_pair | ( | __isl_keep isl_basic_set * | bset, |
enum isl_dim_type | type, | ||
unsigned | pos, | ||
isl_stat(*)(__isl_take isl_constraint *lower, __isl_take isl_constraint *upper, __isl_take isl_basic_set *bset, void *user) | fn, | ||
void * | user | ||
) |
Definition at line 1133 of file isl_constraint.c.
References context, fn, foreach_bound_pair(), foreach_lower_bound(), foreach_upper_bound(), isl_assert, isl_basic_set_check_range(), isl_basic_set_constraint(), isl_basic_set_copy(), isl_basic_set_cow(), isl_basic_set_drop(), isl_basic_set_drop_inequality(), isl_basic_set_free(), isl_basic_set_remove_dims(), isl_basic_set_var_offset(), isl_constraint_copy(), isl_constraint_free(), isl_dim_param, isl_dim_set, isl_int_is_neg, isl_int_is_pos, isl_int_is_zero, isl_stat_error, pos(), type, and user.
Referenced by propagate_on_domain().
isl_stat isl_basic_set_foreach_constraint | ( | __isl_keep isl_basic_set * | bset, |
isl_stat(*)(__isl_take isl_constraint *c, void *user) | fn, | ||
void * | user | ||
) |
Definition at line 239 of file isl_constraint.c.
References bset_to_bmap(), fn, isl_basic_map_foreach_constraint(), and user.
Referenced by find_unroll_lower_bound(), set_detect_stride(), set_dim_extent(), and try_extract_mod().
__isl_give isl_basic_set * isl_basic_set_from_constraint | ( | __isl_take isl_constraint * | constraint | ) |
Definition at line 744 of file isl_constraint.c.
References bset_from_bmap(), isl_basic_map_from_constraint(), isl_constraint_free(), isl_constraint_peek_space(), and isl_space_check_is_set().
Referenced by aff_nonneg_basic_set(), aff_pos_basic_set(), aff_zero_basic_set(), intersect_constraints(), and isl_ast_build_expr_from_basic_set().
__isl_give isl_constraint_list * isl_basic_set_get_constraint_list | ( | __isl_keep isl_basic_set * | bset | ) |
Definition at line 299 of file isl_constraint.c.
References isl_basic_map_get_constraint_list().
Referenced by isl_ast_build_expr_from_basic_set(), and refine_generic().
isl_bool isl_basic_set_has_defining_equality | ( | struct isl_basic_set * | bset, |
enum isl_dim_type | type, | ||
int | pos, | ||
struct isl_constraint ** | constraint | ||
) |
Referenced by has_any_defining_equality().
isl_bool isl_basic_set_has_defining_inequalities | ( | struct isl_basic_set * | bset, |
enum isl_dim_type | type, | ||
int | pos, | ||
struct isl_constraint ** | lower, | ||
struct isl_constraint ** | upper | ||
) |
Definition at line 803 of file isl_constraint.c.
References isl_basic_set_check_range(), isl_basic_set_constraint(), isl_basic_set_copy(), isl_basic_set_dim(), isl_basic_set_offset(), isl_bool_error, isl_bool_false, isl_bool_true, isl_dim_all, isl_int_abs_ge, isl_int_add, isl_int_clear, isl_int_init, isl_int_is_negone, isl_int_is_one, isl_int_is_pos, isl_int_is_zero, isl_seq_first_non_zero(), isl_seq_is_neg(), m, offset, pos(), total(), and type.
isl_size isl_basic_set_n_constraint | ( | __isl_keep isl_basic_set * | bset | ) |
Definition at line 201 of file isl_constraint.c.
References isl_basic_map_n_constraint().
Referenced by multiplicative_call_base(), and test_intersect_1().
__isl_give isl_constraint * isl_constraint_alloc_equality | ( | __isl_take isl_local_space * | ls | ) |
Definition at line 128 of file isl_constraint.c.
References isl_constraint_alloc().
Referenced by isl::constraint::alloc_equality(), construct_insertion_map(), construct_shifted_executed(), isl_equality_alloc(), and test_div().
__isl_give isl_constraint * isl_constraint_alloc_inequality | ( | __isl_take isl_local_space * | ls | ) |
Definition at line 134 of file isl_constraint.c.
References isl_constraint_alloc().
Referenced by isl::constraint::alloc_inequality(), constraint_order_ge(), isl_inequality_alloc(), and test_construction_1().
int isl_constraint_cmp_last_non_zero | ( | __isl_keep isl_constraint * | c1, |
__isl_keep isl_constraint * | c2 | ||
) |
Definition at line 1348 of file isl_constraint.c.
References c1, c2, cmp(), isl_int_abs_cmp, isl_local_space_cmp(), and isl_seq_last_non_zero().
Referenced by cmp_constraint().
__isl_give isl_constraint * isl_constraint_copy | ( | __isl_keep isl_constraint * | c | ) |
Definition at line 160 of file isl_constraint.c.
References isl_constraint::ref.
Referenced by construct_insertion_map(), construct_shifted_executed(), isl::constraint::copy(), foreach_iteration(), isl_ast_build_expr_from_basic_set(), and isl_basic_set_foreach_bound_pair().
isl_size isl_constraint_dim | ( | __isl_keep isl_constraint * | constraint, |
enum isl_dim_type | type | ||
) |
Definition at line 389 of file isl_constraint.c.
References isl_size_error, n, and type.
Referenced by check_parallel_or_opposite(), constraint_check_scaled(), detect_stride(), involves_divs(), is_suitable_bound(), and isl_constraint_is_div_constraint().
void isl_constraint_dump | ( | __isl_keep isl_constraint * | c | ) |
__isl_null isl_constraint * isl_constraint_free | ( | __isl_take isl_constraint * | c | ) |
Definition at line 170 of file isl_constraint.c.
References isl_local_space_free(), and isl_vec_free().
Referenced by check_parallel_or_opposite(), collect_constraint(), compute_size_in_direction(), constraint_check_scaled(), constraint_find_unroll(), construct_shifted_executed(), count_constraints(), detect_stride(), foreach_bound_pair(), foreach_lower_bound(), foreach_upper_bound(), involves_divs(), isl_ast_expr_from_constraint(), isl_basic_map_add_constraint(), isl_basic_map_from_constraint(), isl_basic_set_foreach_bound_pair(), isl_basic_set_from_constraint(), isl_constraint_negate(), isl_constraint_set_coefficient_si(), isl_constraint_set_coefficient_val(), isl_constraint_set_constant(), isl_constraint_set_constant_si(), isl_constraint_set_constant_val(), isl_qpolynomial_from_constraint(), lower_bounds(), normalize_stride_div(), propagate_on_bound_pair(), upper_bounds(), and isl::constraint::~constraint().
__isl_give isl_aff * isl_constraint_get_aff | ( | __isl_keep isl_constraint * | constraint | ) |
Definition at line 1251 of file isl_constraint.c.
References aff, isl_aff_alloc(), isl_int_set_si, isl_local_space_copy(), and isl_seq_cpy().
Referenced by check_parallel_or_opposite(), detect_stride(), and isl_ast_expr_from_constraint().
__isl_give isl_aff * isl_constraint_get_bound | ( | __isl_keep isl_constraint * | constraint, |
enum isl_dim_type | type, | ||
int | pos | ||
) |
Definition at line 1206 of file isl_constraint.c.
References aff, isl_basic_map::ctx, isl_aff_alloc(), isl_aff_normalize(), isl_constraint_get_ctx(), isl_constraint_peek_space(), isl_die, isl_error_invalid, isl_int_abs, isl_int_is_neg, isl_int_is_zero, isl_int_set_si, isl_local_space_copy(), isl_seq_cpy(), isl_seq_neg(), isl_space_check_is_set(), offset, pos(), and type.
Referenced by compute_size_in_direction(), isl_qpolynomial_from_constraint(), lower_bound(), update_unrolling_lower_bound(), and upper_bounds().
__isl_give isl_val * isl_constraint_get_coefficient_val | ( | __isl_keep isl_constraint * | constraint, |
enum isl_dim_type | type, | ||
int | pos | ||
) |
Definition at line 505 of file isl_constraint.c.
References isl_constraint_get_ctx(), isl_local_space_offset(), isl_val_int_from_isl_int(), pos(), and type.
Referenced by check_parallel_or_opposite(), constraint_check_scaled(), and detect_stride().
__isl_give isl_val * isl_constraint_get_constant_val | ( | __isl_keep isl_constraint * | constraint | ) |
Definition at line 480 of file isl_constraint.c.
References isl_constraint_get_ctx(), and isl_val_int_from_isl_int().
Referenced by aff_pos_basic_set(), check_parallel_or_opposite(), and mod_constraint_is_simpler().
isl_ctx * isl_constraint_get_ctx | ( | __isl_keep isl_constraint * | c | ) |
Definition at line 30 of file isl_constraint.c.
References isl_local_space_get_ctx().
Referenced by isl::constraint::ctx(), detect_stride(), isl_basic_map_add_constraint(), isl_constraint_get_bound(), isl_constraint_get_coefficient_val(), isl_constraint_get_constant_val(), isl_constraint_negate(), isl_constraint_set_coefficient_val(), and isl_constraint_set_constant_val().
const char * isl_constraint_get_dim_name | ( | __isl_keep isl_constraint * | constraint, |
enum isl_dim_type | type, | ||
unsigned | pos | ||
) |
Definition at line 463 of file isl_constraint.c.
References isl_local_space_get_dim_name(), pos(), and type.
__isl_give isl_aff * isl_constraint_get_div | ( | __isl_keep isl_constraint * | constraint, |
int | pos | ||
) |
Definition at line 518 of file isl_constraint.c.
References isl_local_space_get_div(), and pos().
__isl_give isl_local_space * isl_constraint_get_local_space | ( | __isl_keep isl_constraint * | constraint | ) |
Definition at line 383 of file isl_constraint.c.
References isl_local_space_copy().
Referenced by isl_printer_print_constraint().
__isl_give isl_space * isl_constraint_get_space | ( | __isl_keep isl_constraint * | constraint | ) |
Definition at line 377 of file isl_constraint.c.
References isl_local_space_get_space().
Referenced by isl_basic_map_add_constraint().
isl_bool isl_constraint_involves_dims | ( | __isl_keep isl_constraint * | constraint, |
enum isl_dim_type | type, | ||
unsigned | first, | ||
unsigned | n | ||
) |
Referenced by check_parallel_or_opposite(), constraint_check_scaled(), detect_stride(), involves_divs(), and is_suitable_bound().
isl_bool isl_constraint_is_div_constraint | ( | __isl_keep isl_constraint * | constraint | ) |
Definition at line 649 of file isl_constraint.c.
References isl_bool_error, isl_bool_false, isl_constraint_dim(), isl_constraint_is_equality(), isl_dim_div, and isl_local_space_is_div_constraint().
Referenced by collect_constraint().
int isl_constraint_is_equal | ( | __isl_keep isl_constraint * | constraint1, |
__isl_keep isl_constraint * | constraint2 | ||
) |
Definition at line 305 of file isl_constraint.c.
References equal, isl_local_space_is_equal(), and isl_vec_is_equal().
isl_bool isl_constraint_is_equality | ( | __isl_keep isl_constraint * | constraint | ) |
Referenced by detect_stride(), isl_ast_expr_from_constraint(), and isl_printer_print_constraint().
isl_bool isl_constraint_is_lower_bound | ( | __isl_keep isl_constraint * | constraint, |
enum isl_dim_type | type, | ||
unsigned | pos | ||
) |
Definition at line 440 of file isl_constraint.c.
References isl_bool_error, isl_bool_ok(), isl_int_is_pos, isl_local_space_offset(), pos(), and type.
Referenced by constraint_type(), count_constraints(), is_suitable_bound(), and update_unrolling_lower_bound().
isl_bool isl_constraint_is_upper_bound | ( | __isl_keep isl_constraint * | constraint, |
enum isl_dim_type | type, | ||
unsigned | pos | ||
) |
Definition at line 453 of file isl_constraint.c.
References isl_bool_error, isl_bool_ok(), isl_int_is_neg, isl_local_space_offset(), pos(), and type.
Referenced by constraint_type(), and count_constraints().
__isl_give isl_constraint * isl_constraint_negate | ( | __isl_take isl_constraint * | constraint | ) |
Definition at line 621 of file isl_constraint.c.
References isl_constraint_cow(), isl_constraint_free(), isl_constraint_get_ctx(), isl_constraint_is_equality(), isl_die, isl_error_invalid, isl_int_sub_ui, isl_vec_cow(), and isl_vec_neg().
int isl_constraint_plain_cmp | ( | __isl_keep isl_constraint * | c1, |
__isl_keep isl_constraint * | c2 | ||
) |
Definition at line 1313 of file isl_constraint.c.
References c1, c2, cmp(), isl_local_space_cmp(), isl_seq_cmp(), and isl_seq_last_non_zero().
Referenced by cmp_constraint().
__isl_give isl_constraint * isl_constraint_set_coefficient_si | ( | __isl_take isl_constraint * | constraint, |
enum isl_dim_type | type, | ||
int | pos, | ||
int | v | ||
) |
Definition at line 603 of file isl_constraint.c.
References isl_constraint_cow(), isl_constraint_free(), isl_int_set_si, isl_local_space_offset(), isl_vec_cow(), pos(), type, and isl_constraint::v.
Referenced by constraint_order_ge(), construct_insertion_map(), construct_shifted_executed(), isl::constraint::set_coefficient_si(), test_construction_1(), and test_div().
__isl_give isl_constraint * isl_constraint_set_coefficient_val | ( | __isl_take isl_constraint * | constraint, |
enum isl_dim_type | type, | ||
int | pos, | ||
__isl_take isl_val * | v | ||
) |
Definition at line 580 of file isl_constraint.c.
References isl_constraint_cow(), isl_constraint_free(), isl_constraint_get_ctx(), isl_die, isl_error_invalid, isl_local_space_offset(), isl_val_free(), isl_val_is_int(), isl_vec_set_element_val(), pos(), type, and isl_constraint::v.
__isl_give isl_constraint * isl_constraint_set_constant_si | ( | __isl_take isl_constraint * | constraint, |
int | v | ||
) |
Definition at line 562 of file isl_constraint.c.
References isl_constraint_cow(), isl_constraint_free(), isl_int_set_si, isl_vec_cow(), and isl_constraint::v.
Referenced by construct_insertion_map(), isl::constraint::set_constant_si(), test_construction_1(), and test_div().
__isl_give isl_constraint * isl_constraint_set_constant_val | ( | __isl_take isl_constraint * | constraint, |
__isl_take isl_val * | v | ||
) |
Definition at line 544 of file isl_constraint.c.
References isl_constraint_cow(), isl_constraint_free(), isl_constraint_get_ctx(), isl_die, isl_error_invalid, isl_val_free(), isl_val_is_int(), isl_vec_set_element_val(), and isl_constraint::v.
Referenced by aff_pos_basic_set(), construct_shifted_executed(), and isl::constraint::set_constant_val().
__isl_give isl_constraint * isl_equality_alloc | ( | __isl_take isl_local_space * | ls | ) |
Definition at line 5 of file isl_deprecated.c.
References isl_constraint_alloc_equality().
__isl_give isl_constraint * isl_equality_from_aff | ( | __isl_take isl_aff * | aff | ) |
Definition at line 1292 of file isl_constraint.c.
References aff, and isl_constraint_alloc_aff().
Referenced by aff_zero_basic_set(), and at_offset().
__isl_give isl_constraint * isl_inequality_alloc | ( | __isl_take isl_local_space * | ls | ) |
Definition at line 12 of file isl_deprecated.c.
References isl_constraint_alloc_inequality().
__isl_give isl_constraint * isl_inequality_from_aff | ( | __isl_take isl_aff * | aff | ) |
Definition at line 1300 of file isl_constraint.c.
References aff, and isl_constraint_alloc_aff().
Referenced by aff_nonneg_basic_set(), and aff_pos_basic_set().
__isl_give isl_map * isl_map_add_constraint | ( | __isl_take isl_map * | map, |
__isl_take isl_constraint * | constraint | ||
) |
Definition at line 352 of file isl_constraint.c.
References isl_basic_map_from_constraint(), isl_map_from_basic_map(), isl_map_intersect(), and map.
Referenced by isl::map::add_constraint(), construct_shifted_executed(), isl_map_order_ge(), and isl_set_add_constraint().
__isl_give isl_printer * isl_printer_print_constraint | ( | __isl_take isl_printer * | p, |
__isl_keep isl_constraint * | c | ||
) |
Definition at line 2397 of file isl_output.c.
References isl_local_space::div, isl_constraint_get_local_space(), isl_constraint_is_equality(), isl_local_space_free(), isl_local_space_get_space(), isl_print_space(), isl_printer_free(), isl_printer_print_str(), isl_space_free(), need_exists(), open_exists(), p, print_affine_of_len(), print_param_tuple(), s_close_exists, and isl_print_space_data::space.
__isl_give isl_set * isl_set_add_constraint | ( | __isl_take isl_set * | set, |
__isl_take isl_constraint * | constraint | ||
) |
Definition at line 363 of file isl_constraint.c.
References isl_map_add_constraint(), and set.
Referenced by isl::set::add_constraint(), foreach_iteration(), and get_expanded_n_div().