Polly 20.0.0git
|
#include <isl_ctx_private.h>
#include <isl_map_private.h>
#include "isl_equalities.h"
#include <isl/map.h>
#include <isl_seq.h>
#include "isl_tab.h"
#include <isl_space_private.h>
#include <isl_mat_private.h>
#include <isl_vec_private.h>
#include <bset_to_bmap.c>
#include <bset_from_bmap.c>
#include <set_to_map.c>
#include <set_from_map.c>
Go to the source code of this file.
Classes | |
struct | isl_constraint_index |
struct | test_ineq_data |
|
static |
Definition at line 2418 of file isl_map_simplify.c.
References n.
Referenced by extract_stride_constraint(), and uset_gist_full().
|
static |
Definition at line 3884 of file isl_map_simplify.c.
References isl_bool_error, isl_bool_true, map1, map2, and test.
Referenced by isl_map_is_disjoint_aligned(), and isl_map_plain_is_disjoint().
|
static |
Definition at line 2258 of file isl_map_simplify.c.
References context, isl_basic_set_dim(), isl_basic_set_get_ctx(), isl_calloc_array, and isl_dim_set.
Referenced by drop_irrelevant_constraints(), and drop_irrelevant_constraints_marked().
|
static |
Definition at line 4938 of file isl_map_simplify.c.
References isl_basic_map_dim(), isl_basic_map_div_is_marked_unknown(), isl_basic_map_var_offset(), isl_bool_error, isl_bool_false, isl_bool_true, isl_dim_div, and isl_int_is_zero.
Referenced by isl_basic_map_drop_redundant_divs_ineq().
|
static |
Definition at line 2901 of file isl_map_simplify.c.
References isl_tab::bmap, isl_basic_map::eq, isl_basic_map_alloc_equality(), isl_basic_map_alloc_space(), isl_basic_map_free(), isl_die, isl_dim_all, isl_error_internal, isl_mat_free(), isl_seq_cpy(), isl_space_copy(), isl_space_dim(), isl_space_free(), isl_space_get_ctx(), and total().
Referenced by combined_variable_compression().
|
static |
Definition at line 1174 of file isl_map_simplify.c.
References isl_basic_map_offset(), isl_bool_false, isl_bool_true, isl_dim_div, isl_int_is_zero, isl_seq_last_non_zero(), and total().
Referenced by check_for_div_constraints().
|
static |
Definition at line 497 of file isl_map_simplify.c.
References isl_basic_map_div_is_marked_unknown(), isl_basic_map_offset(), isl_bool_error, isl_bool_false, isl_bool_true, isl_dim_div, isl_int_is_zero, and n.
Referenced by set_div_from_eq().
|
static |
Definition at line 1207 of file isl_map_simplify.c.
References better_div_constraint(), isl_basic_map_free(), isl_basic_map_offset(), isl_dim_div, isl_int_abs_ge, isl_int_is_pos, isl_int_is_zero, ok_to_set_div_from_bound(), set_div(), set_div_from_lower_bound(), and total().
Referenced by isl_basic_map_remove_duplicate_constraints().
|
static |
Definition at line 4527 of file isl_map_simplify.c.
References isl_basic_map_drop_div(), isl_basic_map_drop_inequality(), isl_basic_map_free(), isl_basic_map_get_ctx(), isl_basic_map_mark_div_unknown(), isl_basic_map_var_offset(), isl_dim_div, isl_int_add, isl_int_add_ui, isl_int_clear, isl_int_init, isl_int_is_pos, isl_int_is_zero, isl_int_set, isl_int_set_si, isl_seq_combine(), m, isl_ctx::one, and total().
Referenced by coalesce_or_drop_more_redundant_divs().
|
static |
Definition at line 4586 of file isl_map_simplify.c.
References coalesce_divs(), div_find_coalesce(), drop_more_redundant_divs(), isl_basic_map_dim(), isl_basic_map_drop_redundant_divs(), ISL_BASIC_MAP_EMPTY, isl_basic_map_free(), isl_basic_map_var_offset(), isl_dim_div, ISL_F_ISSET, isl_int_is_negone, isl_int_is_one, and n.
Referenced by isl_basic_map_drop_redundant_divs_ineq().
|
static |
Definition at line 2955 of file isl_map_simplify.c.
References basic_map_from_equalities(), isl_tab::bmap, isl_basic_map::eq, isl_basic_map_free(), isl_basic_map_gauss(), isl_basic_map_get_ctx(), isl_basic_map_get_space(), isl_mat_concat(), isl_mat_sub_alloc6(), isl_mat_variable_compression(), isl_basic_map::n_eq, and total().
Referenced by extract_compressed_stride_constraints().
|
static |
Definition at line 1958 of file isl_map_simplify.c.
References isl_int_is_zero.
Referenced by isl_basic_map_plain_is_disjoint(), and set_compute_elimination_index().
|
static |
Definition at line 728 of file isl_map_simplify.c.
References isl_constraint_index::index.
Referenced by isl_basic_map_remove_duplicate_constraints(), mark_shifted_constraints(), and remove_shifted_constraints().
|
static |
Definition at line 800 of file isl_map_simplify.c.
References hash_index_ineq(), isl_constraint_index::index, isl_bool_false, and isl_int_ge.
Referenced by mark_shifted_constraints(), and remove_shifted_constraints().
|
static |
Definition at line 703 of file isl_map_simplify.c.
References isl_constraint_index::bits, isl_constraint_index::index, isl_basic_map_dim(), isl_basic_map_get_ctx(), isl_calloc_array, isl_dim_all, isl_stat_error, isl_stat_ok, round_up(), isl_constraint_index::size, and isl_constraint_index::total.
Referenced by isl_basic_map_remove_duplicate_constraints(), and setup_constraint_index().
|
static |
Definition at line 4150 of file isl_map_simplify.c.
References coalesce(), is_opposite(), is_zero_or_one(), isl_basic_map_copy(), isl_basic_map_dim(), isl_basic_map_free(), isl_basic_map_set_to_empty(), isl_basic_map_var_offset(), isl_dim_div, isl_int_add, isl_int_add_ui, isl_int_divexact, isl_int_eq, isl_int_is_neg, isl_int_is_zero, isl_int_mul, isl_int_sub, isl_int_sub_ui, and isl_seq_first_non_zero().
Referenced by coalesce_or_drop_more_redundant_divs().
|
static |
Definition at line 1599 of file isl_map_simplify.c.
References isl_basic_map_is_div_constraint(), isl_basic_map_var_offset(), isl_bool_error, isl_bool_false, isl_bool_true, isl_dim_div, isl_int_is_zero, and pos().
Referenced by remove_redundant_divs().
|
static |
Definition at line 4755 of file isl_map_simplify.c.
References drop_redundant_divs_again(), isl_basic_map_drop_div(), and isl_basic_map_drop_inequality().
Referenced by isl_basic_map_drop_redundant_divs_ineq().
|
static |
Definition at line 3447 of file isl_map_simplify.c.
References isl_tab::bmap, context, isl_basic_map::eq, isl_basic_map_cow(), isl_basic_map_dim(), isl_basic_map_drop_equality(), isl_basic_map_free(), isl_dim_all, isl_seq_eq(), isl_seq_first_non_zero(), isl_seq_last_non_zero(), isl_basic_map::n_eq, and total().
Referenced by isl_basic_map_plain_gist().
|
static |
Definition at line 3390 of file isl_map_simplify.c.
References isl_tab::bmap, cmp(), context, isl_basic_map::ineq, isl_basic_map_constraint_cmp(), isl_basic_map_cow(), isl_basic_map_dim(), isl_basic_map_drop_inequality(), isl_basic_map_free(), isl_dim_all, isl_int_eq, isl_seq_first_non_zero(), isl_basic_map::n_ineq, and total().
Referenced by isl_basic_map_plain_gist().
|
static |
Definition at line 2338 of file isl_map_simplify.c.
References alloc_groups(), context, isl_basic_map_drop_unrelated_constraints(), isl_basic_set_dim(), isl_basic_set_free(), isl_dim_set, and isl_int_is_zero.
Referenced by uset_gist().
|
static |
Definition at line 2384 of file isl_map_simplify.c.
References alloc_groups(), context, isl_basic_map_drop_unrelated_constraints(), isl_basic_set_dim(), isl_basic_set_free(), isl_dim_set, isl_int_is_zero, isl_mat_rows(), and n.
Referenced by uset_gist_full().
|
static |
Definition at line 4391 of file isl_map_simplify.c.
References isl_tab::empty, test_ineq_data::fl, test_ineq_data::fu, test_ineq_data::g, int_between_bounds(), isl_basic_map_dim(), isl_basic_map_drop_redundant_divs(), isl_basic_map_free(), isl_basic_map_get_ctx(), isl_basic_map_offset(), isl_basic_map_remove_dims(), isl_basic_map_set_to_empty(), isl_dim_div, isl_int_init, isl_int_is_neg, isl_int_is_negone, isl_int_is_one, isl_int_is_pos, isl_vec_alloc(), n, test_ineq_data::tab, test_ineq_data_clear(), and test_ineq_data::v.
Referenced by coalesce_or_drop_more_redundant_divs().
|
static |
Definition at line 4677 of file isl_map_simplify.c.
References isl_basic_map_drop_redundant_divs(), isl_basic_map_simplify(), and simplify.
Referenced by drop_div_and_try_again(), isl_basic_map_drop_redundant_divs_ineq(), and set_eq_and_try_again().
|
static |
Definition at line 2190 of file isl_map_simplify.c.
References is_related(), isl_basic_map_cow(), isl_basic_map_dim(), isl_basic_map_drop_equality(), isl_basic_map_drop_inequality(), isl_basic_map_free(), and isl_dim_all.
Referenced by isl_basic_map_drop_unrelated_constraints().
|
static |
Definition at line 366 of file isl_map_simplify.c.
References eliminate_var_using_equality(), isl_basic_map_drop_div(), isl_basic_map_free(), isl_basic_map_var_offset(), isl_dim_div, and pos().
Referenced by eliminate_divs_eq(), and remove_duplicate_divs().
|
static |
Definition at line 415 of file isl_map_simplify.c.
References eliminate_div(), eliminate_divs_eq(), isl_basic_map_drop_equality(), isl_basic_map_free(), isl_basic_map_offset(), isl_basic_map_order_divs(), isl_dim_div, isl_int_is_negone, isl_int_is_one, and ok_to_eliminate_div().
Referenced by eliminate_divs_eq(), isl_basic_map_reduce_coefficients(), and isl_basic_map_simplify().
|
static |
Definition at line 457 of file isl_map_simplify.c.
References isl_basic_map_drop_div(), isl_basic_map_eliminate_vars(), ISL_BASIC_MAP_EMPTY, isl_basic_map_offset(), isl_dim_div, ISL_F_ISSET, isl_int_abs_gt, isl_int_is_zero, and isl_ctx::one.
Referenced by isl_basic_map_simplify().
|
static |
Definition at line 1422 of file isl_map_simplify.c.
References eliminate_unit_div(), isl_basic_map_free(), isl_int_is_one, and isl_int_is_zero.
Referenced by eliminate_unit_divs(), and isl_basic_map_eliminate_pure_unit_divs().
|
static |
Definition at line 1360 of file isl_map_simplify.c.
References isl_basic_map_add_div_constraint(), isl_basic_map_dim(), isl_basic_map_extend_constraints(), isl_basic_map_free(), isl_basic_map_get_ctx(), isl_basic_map_var_offset(), isl_dim_all, isl_dim_div, isl_int_add, isl_int_is_negone, isl_int_is_one, isl_int_set_si, isl_int_sgn, isl_int_sub_ui, isl_seq_combine(), isl_ctx::negone, and isl_ctx::one.
Referenced by eliminate_selected_unit_divs().
|
static |
Definition at line 1465 of file isl_map_simplify.c.
References eliminate_selected_unit_divs(), and is_any_div().
Referenced by isl_basic_map_simplify().
|
static |
Definition at line 301 of file isl_map_simplify.c.
References isl_basic_map_dim(), isl_basic_map_free(), ISL_BASIC_MAP_NO_REDUNDANT, ISL_BASIC_MAP_SORTED, isl_basic_map_var_offset(), isl_dim_all, isl_dim_div, ISL_F_CLR, isl_int_is_zero, isl_seq_clr(), isl_seq_elim(), isl_seq_last_non_zero(), isl_seq_normalize(), normalize_div_expression(), pos(), and total().
Referenced by eliminate_div(), isl_basic_map_eliminate_vars(), and isl_basic_map_gauss5().
|
static |
Definition at line 3022 of file isl_map_simplify.c.
References A(), B(), isl_tab::bmap, combined_variable_compression(), context, isl_basic_map::eq, isl_basic_map_dim(), isl_basic_map_get_ctx(), isl_dim_all, isl_dim_div, isl_mat_copy(), isl_mat_diagonal(), isl_mat_free(), isl_mat_identity(), isl_mat_parameter_compression_ext(), isl_mat_product(), isl_mat_sub_alloc6(), isl_tab::n_div, and total().
Referenced by gist_strides().
|
static |
Definition at line 2627 of file isl_map_simplify.c.
References isl_basic_set_dim(), isl_basic_set_get_ctx(), isl_dim_all, isl_mat_sub_alloc6(), and total().
Referenced by uset_gist_compressed(), and uset_gist_uncompressed().
|
static |
Definition at line 4915 of file isl_map_simplify.c.
References isl_basic_map_drop_redundant_divs(), isl_basic_map_fix(), isl_basic_map_offset(), isl_dim_div, isl_int_clear, isl_int_init, and lower_bound_from_parallel().
Referenced by isl_basic_map_drop_redundant_divs_ineq().
|
static |
Definition at line 3214 of file isl_map_simplify.c.
References A(), isl_tab::bmap, context, extract_compressed_stride_constraints(), isl_basic_map_free(), isl_mat_free(), n_div_eq(), and reduce_stride_constraints().
Referenced by isl_basic_map_gist().
|
static |
Definition at line 4725 of file isl_map_simplify.c.
References isl_basic_map_offset(), isl_bool_false, isl_bool_true, isl_dim_div, and isl_int_is_one.
Referenced by isl_basic_map_drop_redundant_divs_ineq().
|
static |
Definition at line 5313 of file isl_map_simplify.c.
References isl_basic_map_dim(), isl_bool_error, isl_bool_false, isl_bool_true, isl_dim_all, isl_int_is_negone, isl_int_is_one, isl_seq_first_non_zero(), and total().
Referenced by isl_basic_map_reduce_coefficients().
|
static |
Definition at line 757 of file isl_map_simplify.c.
References hash_index_ineq().
Referenced by isl_basic_map_remove_duplicate_constraints(), and set_hash_index().
|
static |
Definition at line 739 of file isl_map_simplify.c.
References isl_constraint_index::bits, isl_constraint_index::index, isl_seq_eq(), isl_seq_get_hash_bits(), isl_constraint_index::size, and isl_constraint_index::total.
Referenced by constraint_index_is_redundant(), and hash_index().
|
static |
Definition at line 4337 of file isl_map_simplify.c.
References isl_tab::bmap, isl_vec::el, test_ineq_data::fl, test_ineq_data::fu, test_ineq_data::g, isl_basic_map::ineq, isl_basic_map_dim(), isl_basic_map_offset(), isl_bool_error, isl_bool_true, isl_dim_div, isl_int_add_ui, isl_int_divexact, isl_int_eq, isl_int_fdiv_q, isl_int_gcd, isl_int_is_nonneg, isl_int_is_one, isl_int_is_zero, isl_int_mul, isl_int_neg, isl_int_set, isl_int_sub, isl_seq_combine(), isl_seq_gcd(), isl_seq_scale_down(), isl_tab::n_div, offset, test_ineq_is_satisfied(), and test_ineq_data::v.
Referenced by drop_more_redundant_divs().
|
static |
Definition at line 1455 of file isl_map_simplify.c.
References isl_bool_true.
Referenced by eliminate_unit_divs().
|
static |
Definition at line 4109 of file isl_map_simplify.c.
References is_opposite_part(), isl_basic_map_dim(), isl_bool_error, isl_dim_all, and total().
Referenced by div_find_coalesce(), and isl_basic_map_drop_redundant_divs_ineq().
|
static |
Definition at line 4660 of file isl_map_simplify.c.
References is_opposite_part(), isl_basic_map_dim(), isl_bool_error, isl_dim_all, pos(), and total().
Referenced by lower_bound_is_cst().
|
static |
Definition at line 4100 of file isl_map_simplify.c.
References isl_seq_is_neg(), and n.
Referenced by is_opposite(), and is_opposite_except().
|
static |
Definition at line 4645 of file isl_map_simplify.c.
References is_parallel_part(), isl_basic_map_dim(), isl_bool_error, isl_dim_all, pos(), and total().
Referenced by lower_bound_is_cst().
|
static |
Definition at line 4636 of file isl_map_simplify.c.
References isl_seq_eq(), and n.
Referenced by is_parallel_except().
|
static |
Definition at line 1476 of file isl_map_simplify.c.
References isl_basic_map_is_div_constraint(), isl_basic_map_n_inequality(), isl_basic_map_var_offset(), isl_bool_error, isl_bool_false, isl_bool_true, isl_dim_div, isl_int_is_negone, isl_int_is_one, and isl_int_is_zero.
Referenced by isl_basic_map_eliminate_pure_unit_divs().
|
static |
Definition at line 2173 of file isl_map_simplify.c.
References isl_int_is_zero.
Referenced by drop_unrelated_constraints().
|
static |
Definition at line 4092 of file isl_map_simplify.c.
References isl_int_is_negone, isl_int_is_one, and isl_int_is_zero.
Referenced by div_find_coalesce().
__isl_give isl_basic_map * isl_basic_map_detect_inequality_pairs | ( | __isl_take isl_basic_map * | bmap, |
int * | progress | ||
) |
Definition at line 1309 of file isl_map_simplify.c.
References isl_basic_map_remove_duplicate_constraints().
Referenced by fuse(), and isl_basic_map_reduce_coefficients().
__isl_give isl_basic_map * isl_basic_map_drop_constraints_involving_unknown_divs | ( | __isl_take isl_basic_map * | bmap | ) |
Definition at line 1870 of file isl_map_simplify.c.
References isl_basic_map_dim(), isl_basic_map_div_is_known(), isl_basic_map_divs_known(), isl_basic_map_drop_constraints_involving_dims(), isl_basic_map_free(), isl_basic_map_offset(), isl_dim_div, and remove_dependent_vars().
Referenced by isl_basic_map_plain_unshifted_simple_hull(), isl_basic_set_drop_constraints_involving_unknown_divs(), isl_map_drop_constraints_involving_unknown_divs(), and plain_pw_multi_aff_from_map().
__isl_give isl_basic_map * isl_basic_map_drop_redundant_divs | ( | __isl_take isl_basic_map * | bmap | ) |
Definition at line 5249 of file isl_map_simplify.c.
References isl_basic_map_dim(), isl_basic_map_divs_known(), isl_basic_map_drop_redundant_divs(), isl_basic_map_drop_redundant_divs_ineq(), isl_basic_map_first_unknown_div(), isl_basic_map_free(), isl_basic_map_get_ctx(), isl_basic_map_mark_div_unknown(), isl_basic_map_offset(), isl_basic_map_preimage_vars(), isl_basic_map_simplify(), isl_basic_map_sort_divs(), isl_dim_div, isl_mat_alloc(), isl_mat_normalize_row(), isl_mat_right_inverse(), isl_mat_unimodular_complete(), isl_seq_cpy(), isl_seq_first_non_zero(), and isl_mat::row.
Referenced by coalesce_or_drop_more_redundant_divs(), drop_more_redundant_divs(), drop_redundant_divs_again(), fix_cst_lower(), isl_basic_map_apply_range(), isl_basic_map_compute_divs(), isl_basic_map_drop_redundant_divs(), and isl_basic_map_project_out().
|
static |
Definition at line 5005 of file isl_map_simplify.c.
References any_div_involves_div(), coalesce_or_drop_more_redundant_divs(), drop_div_and_try_again(), drop_redundant_divs_again(), fix_cst_lower(), has_coef_one(), is_opposite(), isl_basic_map_drop_div(), isl_basic_map_drop_inequality(), isl_basic_map_free(), isl_basic_map_n_inequality(), isl_basic_map_var_offset(), isl_bool_false, isl_calloc_array, isl_dim_div, isl_int_add, isl_int_add_ui, isl_int_ge, isl_int_is_neg, isl_int_is_pos, isl_int_is_zero, isl_int_sub, isl_int_sub_ui, lower_bound_is_cst(), n, neg(), ok_to_set_div_from_bound(), pos(), set_div(), set_div_from_lower_bound(), set_eq_and_try_again(), and single_unknown().
Referenced by isl_basic_map_drop_redundant_divs().
__isl_give isl_basic_map * isl_basic_map_drop_unrelated_constraints | ( | __isl_take isl_basic_map * | bmap, |
__isl_take int * | group | ||
) |
Definition at line 2290 of file isl_map_simplify.c.
References drop_unrelated_constraints(), isl_basic_map_dim(), isl_basic_map_free(), isl_dim_all, and update_groups().
Referenced by drop_irrelevant_constraints(), and drop_irrelevant_constraints_marked().
__isl_give isl_basic_map * isl_basic_map_eliminate | ( | __isl_take isl_basic_map * | bmap, |
enum isl_dim_type | type, | ||
unsigned | first, | ||
unsigned | n | ||
) |
Definition at line 1825 of file isl_map_simplify.c.
References isl_basic_map_check_range(), isl_basic_map_eliminate_vars(), isl_basic_map_finalize(), isl_basic_map_free(), isl_basic_map_get_space(), isl_basic_map_insert_dims(), isl_basic_map_offset(), isl_basic_map_project_out(), ISL_BASIC_MAP_RATIONAL, isl_basic_map_reset_space(), ISL_F_ISSET, n, and type.
Referenced by isl_basic_set_eliminate(), and isl_map_eliminate().
__isl_give isl_basic_map * isl_basic_map_eliminate_pure_unit_divs | ( | __isl_take isl_basic_map * | bmap | ) |
Definition at line 1510 of file isl_map_simplify.c.
References eliminate_selected_unit_divs(), and is_pure_unit_div().
Referenced by fuse().
__isl_give isl_basic_map * isl_basic_map_eliminate_vars | ( | __isl_take isl_basic_map * | bmap, |
unsigned | pos, | ||
unsigned | n | ||
) |
Definition at line 1718 of file isl_map_simplify.c.
References eliminate_var_using_equality(), isl_basic_map_alloc_inequality(), isl_basic_map_cow(), isl_basic_map_dim(), isl_basic_map_drop_equality(), isl_basic_map_drop_inequality(), ISL_BASIC_MAP_EMPTY, isl_basic_map_extend_constraints(), isl_basic_map_free(), isl_basic_map_gauss(), isl_basic_map_normalize_constraints(), isl_basic_map_remove_duplicate_constraints(), isl_basic_map_remove_redundancies(), isl_dim_all, ISL_F_ISSET, isl_int_is_neg, isl_int_is_pos, isl_int_is_zero, isl_int_sgn, isl_seq_clr(), isl_seq_cpy(), isl_seq_elim(), n, pos(), remove_dependent_vars(), and total().
Referenced by eliminate_divs_ineq(), isl_basic_map_eliminate(), isl_basic_map_remove_dims(), isl_basic_map_remove_divs(), isl_basic_set_eliminate_vars(), and isl_map_remove_dims().
__isl_give isl_basic_map * isl_basic_map_finalize | ( | __isl_take isl_basic_map * | bmap | ) |
Definition at line 1678 of file isl_map_simplify.c.
References isl_basic_map_mark_final(), and remove_redundant_divs().
Referenced by basic_map_bound(), basic_map_bound_si(), basic_map_collect_diff(), basic_map_read_polylib(), basic_replace_space_by_local_space(), box_closure_on_domain(), equate_parameter_to_length(), equator(), fuse(), get_aff(), greator(), isl_basic_map_add_known_div_constraints(), isl_basic_map_apply_range(), isl_basic_map_deltas_map(), isl_basic_map_detect_equalities(), isl_basic_map_domain_map(), isl_basic_map_domain_product(), isl_basic_map_drop(), isl_basic_map_eliminate(), isl_basic_map_equal(), isl_basic_map_fix_pos(), isl_basic_map_fix_pos_si(), isl_basic_map_floordiv(), isl_basic_map_from_aff2(), isl_basic_map_from_constraint_matrices(), isl_basic_map_from_qpolynomial(), isl_basic_map_insert_dims(), isl_basic_map_intersect(), isl_basic_map_intersect_domain(), isl_basic_map_intersect_range(), isl_basic_map_less_at(), isl_basic_map_less_or_equal_at(), isl_basic_map_more_at(), isl_basic_map_more_or_equal_at(), isl_basic_map_move_dims(), isl_basic_map_neg(), isl_basic_map_overlying_set(), isl_basic_map_plain_affine_hull(), isl_basic_map_plain_gist(), isl_basic_map_plain_unshifted_simple_hull(), isl_basic_map_preimage_multi_aff(), isl_basic_map_product(), isl_basic_map_project_out(), isl_basic_map_range_map(), isl_basic_map_range_product(), isl_basic_map_realign(), isl_basic_map_remove_divs(), isl_basic_map_reset_space(), isl_basic_map_set_dim_name(), isl_basic_map_set_rational(), isl_basic_map_set_to_empty(), isl_basic_map_set_tuple_id(), isl_basic_map_set_tuple_name(), isl_basic_map_sum(), isl_basic_map_swap_vars(), isl_basic_map_underlying_set(), isl_basic_map_universe(), isl_basic_map_wrap(), isl_basic_set_finalize(), isl_map_affine_hull(), isl_map_oppose(), map_intersect_add_constraint(), map_simple_hull(), path_along_delta(), path_along_steps(), set_path_length(), SF(), update_basic_maps(), var_equal(), var_less(), var_less_or_equal(), var_more(), and var_more_or_equal().
__isl_give isl_basic_map * isl_basic_map_gauss | ( | __isl_take isl_basic_map * | bmap, |
int * | progress | ||
) |
Definition at line 661 of file isl_map_simplify.c.
References isl_basic_map_gauss5().
Referenced by combined_variable_compression(), fuse(), isl_basic_map_deltas_map(), isl_basic_map_domain_map(), isl_basic_map_eliminate_vars(), isl_basic_map_from_aff2(), isl_basic_map_implicit_equalities(), isl_basic_map_make_strides_explicit(), isl_basic_map_move_dims(), isl_basic_map_neg(), isl_basic_map_plain_gist(), isl_basic_map_range_map(), isl_basic_map_realign(), isl_basic_map_reduce_coefficients(), isl_basic_map_remove_redundancies(), isl_basic_map_simplify(), isl_basic_map_swap_vars(), isl_basic_map_update_from_tab(), isl_basic_set_gauss(), isl_map_local_affine_hull(), isl_tab_solve_lp(), path_along_delta(), reduce_stride_constraints(), and update_basic_maps().
__isl_give isl_basic_map * isl_basic_map_gauss5 | ( | __isl_take isl_basic_map * | bmap, |
int * | progress, | ||
isl_stat(*)(unsigned a, unsigned b, void *user) | swap, | ||
isl_stat(*)(unsigned n, void *user) | drop, | ||
void * | user | ||
) |
Definition at line 596 of file isl_map_simplify.c.
References drop(), eliminate_var_using_equality(), isl_basic_map_dim(), isl_basic_map_free(), isl_basic_map_free_equality(), isl_basic_map_order_divs(), isl_basic_map_set_to_empty(), isl_dim_all, isl_int_is_neg, isl_int_is_zero, isl_seq_neg(), set_div_from_eq(), swap(), swap_equality(), total(), and user.
Referenced by gauss_if_shared(), and isl_basic_map_gauss().
__isl_give isl_basic_map * isl_basic_map_gist | ( | __isl_take isl_basic_map * | bmap, |
__isl_take isl_basic_map * | context | ||
) |
Definition at line 3260 of file isl_map_simplify.c.
References isl_tab::bmap, context, gist_strides(), isl_basic_map_align_divs(), isl_basic_map_copy(), isl_basic_map_dim(), isl_basic_map_free(), isl_basic_map_get_space(), isl_basic_map_intersect(), isl_basic_map_order_divs(), isl_basic_map_overlying_set(), isl_basic_map_plain_is_empty(), isl_basic_map_plain_is_universe(), isl_basic_map_remove_redundancies(), isl_basic_map_remove_shifted_constraints(), isl_basic_map_underlying_set(), isl_basic_map_universe(), isl_basic_set_add_dims(), isl_basic_set_copy(), isl_basic_set_cow(), isl_basic_set_free_equality(), isl_basic_set_free_inequality(), isl_basic_set_plain_is_empty(), isl_basic_set_project_out(), isl_dim_all, isl_dim_div, isl_dim_set, isl_tab::n_div, isl_tab::n_eq, total(), and uset_gist().
Referenced by isl::basic_map::gist(), isl_basic_map_gist_domain(), isl_basic_set_gist(), and isl_map_gist_basic_map().
__isl_give isl_basic_map * isl_basic_map_gist_domain | ( | __isl_take isl_basic_map * | bmap, |
__isl_take isl_basic_set * | context | ||
) |
Definition at line 3765 of file isl_map_simplify.c.
References isl_tab::bmap, context, isl_basic_map_get_space(), isl_basic_map_gist(), isl_basic_map_intersect_domain(), and isl_basic_map_universe().
isl_bool isl_basic_map_is_disjoint | ( | __isl_keep isl_basic_map * | bmap1, |
__isl_keep isl_basic_map * | bmap2 | ||
) |
Definition at line 4034 of file isl_map_simplify.c.
References intersect(), isl_basic_map_copy(), isl_basic_map_free(), isl_basic_map_intersect(), isl_basic_map_is_empty(), isl_basic_map_plain_is_disjoint(), isl_basic_map_plain_is_universe(), isl_bool_not(), and test.
Referenced by isl_basic_set_is_disjoint(), and isl_map_is_disjoint_aligned().
isl_bool isl_basic_map_is_div_constraint | ( | __isl_keep isl_basic_map * | bmap, |
isl_int * | constraint, | ||
unsigned | div | ||
) |
Definition at line 1555 of file isl_map_simplify.c.
References isl_basic_map_offset(), isl_bool_error, isl_bool_false, isl_bool_true, isl_dim_div, isl_int_abs_eq, isl_int_add, isl_int_add_ui, isl_int_eq, isl_int_sub, isl_int_sub_ui, isl_seq_eq(), isl_seq_first_non_zero(), isl_seq_is_neg(), neg(), and pos().
Referenced by div_is_redundant(), is_pure_unit_div(), next_is_opposite(), and print_constraints().
__isl_give isl_basic_map * isl_basic_map_mark_final | ( | __isl_take isl_basic_map * | bmap | ) |
Definition at line 1667 of file isl_map_simplify.c.
References ISL_BASIC_SET_FINAL, and ISL_F_SET.
Referenced by coalesce_with_expanded_divs(), isl_basic_map_curry(), isl_basic_map_finalize(), isl_basic_map_flatten(), isl_basic_map_flatten_domain(), isl_basic_map_flatten_range(), isl_basic_map_reset(), isl_basic_map_uncurry(), and isl_basic_map_zip().
__isl_give isl_basic_map * isl_basic_map_normalize_constraints | ( | __isl_take isl_basic_map * | bmap | ) |
Definition at line 47 of file isl_map_simplify.c.
References gcd(), isl_basic_map_dim(), isl_basic_map_drop_equality(), isl_basic_map_drop_inequality(), isl_basic_map_free(), ISL_BASIC_MAP_RATIONAL, isl_basic_map_set_to_empty(), isl_dim_all, ISL_F_ISSET, isl_int_clear, isl_int_fdiv_q, isl_int_gcd, isl_int_init, isl_int_is_divisible_by, isl_int_is_neg, isl_int_is_one, isl_int_is_zero, isl_seq_gcd(), isl_seq_scale_down(), and total().
Referenced by isl_basic_map_eliminate_vars(), isl_basic_map_simplify(), and isl_basic_set_normalize_constraints().
__isl_give isl_basic_map * isl_basic_map_plain_gist | ( | __isl_take isl_basic_map * | bmap, |
__isl_take isl_basic_map * | context | ||
) |
Definition at line 3500 of file isl_map_simplify.c.
References isl_tab::bmap, context, drop_equalities(), drop_inequalities(), isl_basic_map_align_divs(), isl_basic_map_divs_known(), isl_basic_map_finalize(), isl_basic_map_free(), isl_basic_map_gauss(), isl_basic_map_get_ctx(), isl_basic_map_order_divs(), isl_basic_map_plain_is_empty(), isl_basic_map_plain_is_universe(), isl_basic_map_sort_constraints(), isl_bool_false, isl_die, and isl_error_invalid.
Referenced by isl_map_plain_gist_basic_map().
isl_bool isl_basic_map_plain_is_disjoint | ( | __isl_keep isl_basic_map * | bmap1, |
__isl_keep isl_basic_map * | bmap2 | ||
) |
Definition at line 3810 of file isl_map_simplify.c.
References isl_vec::block, compute_elimination_index(), isl_blk::data, isl_alloc_array, isl_basic_map_check_equal_space(), isl_bool_error, isl_bool_false, isl_bool_true, isl_dim_all, isl_int_is_neg, isl_int_is_zero, isl_seq_first_non_zero(), isl_space_dim(), isl_vec_alloc(), isl_vec_free(), reduced_using_equalities(), and total().
Referenced by isl_basic_map_is_disjoint(), isl_basic_set_plain_is_disjoint(), and isl_map_plain_is_disjoint().
|
static |
Definition at line 5168 of file isl_map_simplify.c.
References isl_basic_map_check_range(), isl_basic_map_cow(), isl_basic_map_div_is_marked_unknown(), isl_basic_map_free(), isl_die, isl_dim_all, isl_error_invalid, isl_mat_cols(), isl_mat_free(), isl_mat_get_ctx(), isl_mat_rows(), pos(), and preimage().
Referenced by isl_basic_map_drop_redundant_divs().
__isl_give isl_basic_map * isl_basic_map_reduce_coefficients | ( | __isl_take isl_basic_map * | bmap | ) |
Definition at line 5409 of file isl_map_simplify.c.
References isl_vec::el, eliminate_divs_eq(), has_multiple_var_equality(), isl_basic_map_cow(), isl_basic_map_detect_inequality_pairs(), isl_basic_map_dim(), isl_basic_map_free(), isl_basic_map_gauss(), isl_basic_map_get_ctx(), isl_basic_map_is_rational(), ISL_BASIC_MAP_NO_REDUNDANT, ISL_BASIC_MAP_REDUCED_COEFFICIENTS, isl_basic_map_set_to_empty(), isl_dim_all, ISL_F_CLR, ISL_F_ISSET, ISL_F_SET, isl_mat_copy(), isl_mat_free(), isl_mat_sub_alloc6(), isl_mat_variable_compression(), isl_seq_cpy(), isl_vec_alloc(), isl_vec_free(), isl_vec_mat_product(), isl_mat::n_col, normalize_constraint(), total(), and test_ineq_data::v.
Referenced by isl_map_coalesce().
__isl_give isl_basic_map * isl_basic_map_remove_duplicate_constraints | ( | __isl_take isl_basic_map * | bmap, |
int * | progress, | ||
int | detect_divs | ||
) |
Definition at line 1239 of file isl_map_simplify.c.
References isl_constraint_index::bits, check_for_div_constraints(), constraint_index_free(), create_constraint_index(), hash_index(), isl_constraint_index::index, isl_basic_map_dim(), isl_basic_map_drop_inequality(), isl_basic_map_inequality_to_equality(), isl_basic_map_set_to_empty(), isl_dim_all, isl_int_add, isl_int_clear, isl_int_init, isl_int_is_pos, isl_int_is_zero, isl_int_lt, isl_seq_get_hash_bits(), isl_seq_neg(), swap_inequality(), and total().
Referenced by isl_basic_map_add_known_div_constraints(), isl_basic_map_detect_inequality_pairs(), isl_basic_map_eliminate_vars(), and isl_basic_map_simplify().
|
static |
Definition at line 2139 of file isl_map_simplify.c.
References context, isl_basic_map_align_divs(), isl_basic_map_copy(), isl_basic_map_free(), isl_basic_map_order_divs(), isl_basic_map_overlying_set(), isl_basic_map_underlying_set(), isl_basic_set_free(), and remove_shifted_constraints().
Referenced by isl_basic_map_gist().
__isl_give isl_basic_map * isl_basic_map_shift_div | ( | __isl_take isl_basic_map * | bmap, |
int | div, | ||
int | pos, | ||
isl_int | shift | ||
) |
Definition at line 5506 of file isl_map_simplify.c.
References isl_basic_map_dim(), isl_basic_map_free(), isl_dim_all, isl_dim_div, isl_int_addmul, isl_int_is_zero, isl_int_submul, pos(), and total().
Referenced by reduce_coefficient_in_div(), and shift_div().
__isl_give isl_basic_map * isl_basic_map_simplify | ( | __isl_take isl_basic_map * | bmap | ) |
Definition at line 1516 of file isl_map_simplify.c.
References eliminate_divs_eq(), eliminate_divs_ineq(), eliminate_unit_divs(), isl_basic_map_free(), isl_basic_map_gauss(), isl_basic_map_normalize_constraints(), isl_basic_map_plain_is_empty(), ISL_BASIC_MAP_REDUCED_COEFFICIENTS, isl_basic_map_remove_duplicate_constraints(), ISL_F_CLR, normalize_div_expressions(), normalize_divs(), reduce_div_coefficients(), and remove_duplicate_divs().
Referenced by basic_map_bound(), basic_map_bound_si(), basic_map_collect_diff(), basic_map_read_polylib(), basic_replace_space_by_local_space(), drop_redundant_divs_again(), fuse(), isl_basic_map_apply_range(), isl_basic_map_detect_equalities(), isl_basic_map_domain_product(), isl_basic_map_drop(), isl_basic_map_drop_redundant_divs(), isl_basic_map_fix_pos(), isl_basic_map_fix_pos_si(), isl_basic_map_floordiv(), isl_basic_map_from_constraint_matrices(), isl_basic_map_intersect(), isl_basic_map_intersect_domain(), isl_basic_map_intersect_range(), isl_basic_map_overlying_set(), isl_basic_map_preimage_multi_aff(), isl_basic_map_product(), isl_basic_map_project_out(), isl_basic_map_range_product(), isl_basic_map_sum(), isl_basic_set_simplify(), isl_map_affine_hull(), map_intersect_add_constraint(), path_along_steps(), and update_basic_maps().
__isl_give isl_basic_set * isl_basic_set_drop_constraints_involving_unknown_divs | ( | __isl_take isl_basic_set * | bset | ) |
Definition at line 1909 of file isl_map_simplify.c.
References bset_from_bmap(), bset_to_bmap(), and isl_basic_map_drop_constraints_involving_unknown_divs().
__isl_give isl_basic_set * isl_basic_set_eliminate | ( | __isl_take isl_basic_set * | bset, |
enum isl_dim_type | type, | ||
unsigned | first, | ||
unsigned | n | ||
) |
Definition at line 1852 of file isl_map_simplify.c.
References isl_basic_map_eliminate(), n, and type.
Referenced by update_enforced().
__isl_give isl_basic_set * isl_basic_set_eliminate_vars | ( | __isl_take isl_basic_set * | bset, |
unsigned | pos, | ||
unsigned | n | ||
) |
Definition at line 1813 of file isl_map_simplify.c.
References bset_from_bmap(), bset_to_bmap(), isl_basic_map_eliminate_vars(), n, and pos().
Referenced by project_onto_involved().
__isl_give isl_basic_set * isl_basic_set_finalize | ( | __isl_take isl_basic_set * | bset | ) |
Definition at line 1685 of file isl_map_simplify.c.
References bset_from_bmap(), bset_to_bmap(), and isl_basic_map_finalize().
Referenced by add_chamber(), add_vertex(), basic_set_append_equalities(), convex_hull_1d(), extend(), farkas(), foreach_bound_pair(), isl_basic_set_box_from_points(), isl_basic_set_lift(), isl_basic_set_preimage(), isl_basic_set_reduce_using_equalities(), isl_basic_set_set_integral(), isl_basic_set_universe(), isl_basic_set_unwrap(), neg_halfspace(), nonneg_halfspace(), select_minimum(), set_largest_lower_bound(), set_smallest_upper_bound(), shift_cone(), sol_map_add_empty(), sol_pma_add(), sol_pma_add_empty(), and update_ineq().
__isl_give isl_basic_set * isl_basic_set_gauss | ( | __isl_take isl_basic_set * | bset, |
int * | progress | ||
) |
Definition at line 667 of file isl_map_simplify.c.
References bset_from_bmap(), bset_to_bmap(), and isl_basic_map_gauss().
Referenced by basic_set_append_equalities(), extend(), gbr_get_sample(), initial_hull(), isl_basic_set_lineality_space(), isl_basic_set_remove_equalities(), parameter_compute_divs(), update_ineq(), and valid_direction_lp().
__isl_give isl_basic_set * isl_basic_set_gist | ( | __isl_take isl_basic_set * | bset, |
__isl_take isl_basic_set * | context | ||
) |
Definition at line 3733 of file isl_map_simplify.c.
References bset_from_bmap(), bset_to_bmap(), context, and isl_basic_map_gist().
Referenced by isl::basic_set::gist(), isl_ast_build_compute_gist_basic_set(), isl_ast_build_expr_from_set_internal(), test_gist(), and test_gist_fail().
isl_bool isl_basic_set_is_disjoint | ( | __isl_keep isl_basic_set * | bset1, |
__isl_keep isl_basic_set * | bset2 | ||
) |
Definition at line 4071 of file isl_map_simplify.c.
References isl_basic_map_is_disjoint().
Referenced by add_nodes(), and check_pairwise_disjoint().
__isl_give isl_basic_set * isl_basic_set_normalize_constraints | ( | __isl_take isl_basic_set * | bset | ) |
Definition at line 107 of file isl_map_simplify.c.
References bset_from_bmap(), bset_to_bmap(), and isl_basic_map_normalize_constraints().
Referenced by affine_hull(), and extend().
int isl_basic_set_plain_is_disjoint | ( | __isl_keep isl_basic_set * | bset1, |
__isl_keep isl_basic_set * | bset2 | ||
) |
Definition at line 3875 of file isl_map_simplify.c.
References bset_to_bmap(), and isl_basic_map_plain_is_disjoint().
|
static |
Definition at line 2008 of file isl_map_simplify.c.
References context, isl_alloc_array, isl_basic_set_cow(), isl_basic_set_dim(), isl_basic_set_finalize(), isl_basic_set_free(), isl_basic_set_simplify(), isl_dim_set, set_compute_elimination_index(), and set_reduced_using_equalities().
Referenced by uset_gist().
__isl_give isl_basic_set * isl_basic_set_simplify | ( | __isl_take isl_basic_set * | bset | ) |
Definition at line 1548 of file isl_map_simplify.c.
References bset_from_bmap(), bset_to_bmap(), and isl_basic_map_simplify().
Referenced by add_chamber(), add_vertex(), aff_nonneg_basic_set(), aff_pos_basic_set(), aff_zero_basic_set(), convex_hull_1d(), create_todo(), extend(), farkas(), foreach_bound_pair(), interval_sample(), isl_basic_set_preimage(), isl_basic_set_reduce_using_equalities(), set_largest_lower_bound(), set_smallest_upper_bound(), sol_map_add_empty(), sol_pma_add(), and sol_pma_add_empty().
__isl_give isl_map * isl_map_drop_constraints_involving_unknown_divs | ( | __isl_take isl_map * | map | ) |
Definition at line 1925 of file isl_map_simplify.c.
References isl_basic_map_drop_constraints_involving_unknown_divs(), ISL_F_CLR, isl_map_cow(), ISL_MAP_DISJOINT, isl_map_divs_known(), isl_map_free(), and map.
Referenced by isl_map_plain_unshifted_simple_hull().
__isl_give isl_map * isl_map_gist | ( | __isl_take isl_map * | map, |
__isl_take isl_map * | context | ||
) |
Definition at line 3672 of file isl_map_simplify.c.
References context, equal, hull, isl_map_align_params_bin(), isl_map_compute_divs(), isl_map_copy(), isl_map_free(), isl_map_get_ctx(), isl_map_gist_basic_map(), isl_map_is_subset(), isl_map_n_basic_map(), isl_map_plain_is_equal(), isl_map_plain_is_universe(), isl_map_simple_hull(), isl_map_unshifted_simple_hull_from_map_list(), map, replace_by_universe(), and subset.
Referenced by isl::map::gist(), isl_map_gist_domain(), isl_map_gist_params(), isl_map_gist_range(), isl_set_gist(), isl_union_map_gist(), test_gist(), and test_gist_empty_pair().
__isl_give isl_map * isl_map_gist_basic_map | ( | __isl_take isl_map * | map, |
__isl_take isl_basic_map * | context | ||
) |
Definition at line 3334 of file isl_map_simplify.c.
References context, isl_basic_map_copy(), isl_basic_map_free(), isl_basic_map_gist(), isl_basic_map_plain_is_empty(), isl_basic_map_remove_redundancies(), ISL_F_CLR, isl_map_basic_map_check_equal_space(), isl_map_compute_divs(), isl_map_cow(), isl_map_free(), isl_map_get_space(), ISL_MAP_NORMALIZED, isl_map_universe(), and map.
Referenced by isl_map_gist(), and isl_set_gist_basic_set().
__isl_give isl_map * isl_map_gist_domain | ( | __isl_take isl_map * | map, |
__isl_take isl_set * | context | ||
) |
Definition at line 3775 of file isl_map_simplify.c.
References context, isl_map_get_space(), isl_map_gist(), isl_map_intersect_domain(), isl_map_universe(), and map.
Referenced by isl::map::gist_domain(), isl_ast_build_compute_gist_map_domain(), and union_map_gist_domain().
__isl_give isl_map * isl_map_gist_params | ( | __isl_take isl_map * | map, |
__isl_take isl_set * | context | ||
) |
Definition at line 3791 of file isl_map_simplify.c.
References context, isl_map_get_space(), isl_map_gist(), isl_map_intersect_params(), isl_map_universe(), and map.
Referenced by isl::map::gist_params(), gist_params_entry(), and isl_set_gist_params().
__isl_give isl_map * isl_map_gist_range | ( | __isl_take isl_map * | map, |
__isl_take isl_set * | context | ||
) |
Definition at line 3783 of file isl_map_simplify.c.
References context, isl_map_get_space(), isl_map_gist(), isl_map_intersect_range(), isl_map_universe(), and map.
Referenced by isl_union_map_gist_range().
isl_bool isl_map_is_disjoint | ( | __isl_keep isl_map * | map1, |
__isl_keep isl_map * | map2 | ||
) |
Definition at line 3994 of file isl_map_simplify.c.
References intersect(), isl_bool_not(), isl_map_align_params_map_map_and_test(), isl_map_is_disjoint_aligned(), isl_map_is_empty(), isl_map_plain_is_disjoint_global(), isl_map_plain_is_equal(), isl_map_plain_is_universe(), map1, and map2.
Referenced by isl::map::is_disjoint(), is_disjoint_entry(), isl_map_subtract(), and isl_set_is_disjoint().
|
static |
Definition at line 3979 of file isl_map_simplify.c.
References all_pairs(), isl_basic_map_is_disjoint(), map1, and map2.
Referenced by isl_map_is_disjoint().
__isl_give isl_map * isl_map_plain_gist | ( | __isl_take isl_map * | map, |
__isl_take isl_map * | context | ||
) |
Definition at line 3625 of file isl_map_simplify.c.
References context, hull, isl_map_plain_gist_basic_map(), isl_map_unshifted_simple_hull(), and map.
Referenced by isl_union_map_plain_gist().
__isl_give isl_map * isl_map_plain_gist_basic_map | ( | __isl_take isl_map * | map, |
__isl_take isl_basic_map * | context | ||
) |
Definition at line 3562 of file isl_map_simplify.c.
References context, isl_basic_map_copy(), isl_basic_map_divs_known(), isl_basic_map_free(), isl_basic_map_plain_gist(), isl_basic_map_plain_is_universe(), isl_die, isl_error_invalid, ISL_F_CLR, isl_map_cow(), ISL_MAP_DISJOINT, isl_map_free(), isl_map_get_ctx(), ISL_MAP_NORMALIZED, map, and replace_by_disjunct().
Referenced by isl_map_plain_gist(), isl_set_plain_gist_basic_set(), print_disjuncts_in_hull(), and test_plain_gist().
isl_bool isl_map_plain_is_disjoint | ( | __isl_keep isl_map * | map1, |
__isl_keep isl_map * | map2 | ||
) |
Definition at line 3952 of file isl_map_simplify.c.
References all_pairs(), intersect(), isl_basic_map_plain_is_disjoint(), isl_bool_error, isl_bool_false, isl_map_has_equal_params(), isl_map_plain_is_disjoint_global(), isl_map_plain_is_equal(), map1, map2, and match().
Referenced by isl_set_plain_is_disjoint().
|
static |
Definition at line 3910 of file isl_map_simplify.c.
References isl_bool_error, isl_bool_false, isl_bool_true, isl_dim_in, isl_dim_out, isl_map_plain_is_empty(), isl_map_tuple_is_equal(), map1, map2, and match().
Referenced by isl_map_is_disjoint(), and isl_map_plain_is_disjoint().
__isl_give isl_set * isl_set_gist | ( | __isl_take isl_set * | set, |
__isl_take isl_set * | context | ||
) |
Definition at line 3756 of file isl_map_simplify.c.
References context, isl_map_gist(), set, set_from_map(), and set_to_map.
Referenced by add_domain(), add_intermediate_piece(), build_ast_from_guard(), extract_disjunction(), extract_pending(), isl::set::gist(), gist_guards(), insert_pending_guard_nodes(), isl_ast_build_compute_gist(), store_guard(), and test_gist().
__isl_give isl_set * isl_set_gist_basic_set | ( | __isl_take isl_set * | set, |
__isl_take isl_basic_set * | context | ||
) |
Definition at line 3740 of file isl_map_simplify.c.
References bset_to_bmap(), context, isl_map_gist_basic_map(), set, set_from_map(), and set_to_map.
Referenced by FN(), and isl_set_gist_params_basic_set().
__isl_give isl_set * isl_set_gist_params | ( | __isl_take isl_set * | set, |
__isl_take isl_set * | context | ||
) |
Definition at line 3799 of file isl_map_simplify.c.
References context, isl_map_gist_params(), and set.
Referenced by isl::set::gist_params(), and polly::IslNodeBuilder::preloadInvariantLoad().
__isl_give isl_set * isl_set_gist_params_basic_set | ( | __isl_take isl_set * | set, |
__isl_take isl_basic_set * | context | ||
) |
Definition at line 3747 of file isl_map_simplify.c.
References context, isl_basic_set_intersect_params(), isl_basic_set_universe(), isl_set_get_space(), isl_set_gist_basic_set(), and set.
Referenced by FN().
isl_bool isl_set_is_disjoint | ( | __isl_keep isl_set * | set1, |
__isl_keep isl_set * | set2 | ||
) |
Definition at line 4085 of file isl_map_simplify.c.
References isl_map_is_disjoint(), set1, and set2.
Referenced by add_node(), FN(), isl::set::is_disjoint(), isl_ast_graft_list_merge(), isl_set_overlaps(), only_intersects_first(), and test_disjoint().
__isl_give isl_set * isl_set_plain_gist_basic_set | ( | __isl_take isl_set * | set, |
__isl_take isl_basic_set * | context | ||
) |
Definition at line 3612 of file isl_map_simplify.c.
References bset_to_bmap(), context, isl_map_plain_gist_basic_map(), set, set_from_map(), and set_to_map.
Referenced by drop_coalescing_constraints().
isl_bool isl_set_plain_is_disjoint | ( | __isl_keep isl_set * | set1, |
__isl_keep isl_set * | set2 | ||
) |
Definition at line 4077 of file isl_map_simplify.c.
References isl_map_plain_is_disjoint(), set1, set2, and set_to_map.
Referenced by compute_class_domains().
|
static |
Definition at line 4810 of file isl_map_simplify.c.
References isl_int_cdiv_q, isl_int_neg, isl_int_sub, and pos().
Referenced by lower_bound_is_cst().
|
static |
Definition at line 4786 of file isl_map_simplify.c.
References isl_int_add, isl_int_cdiv_q, isl_int_neg, and pos().
Referenced by fix_cst_lower(), and lower_bound_is_cst().
|
static |
Definition at line 4845 of file isl_map_simplify.c.
References equal, is_opposite_except(), is_parallel_except(), isl_basic_map_offset(), isl_bool_false, isl_dim_div, isl_int_clear, isl_int_eq, isl_int_init, isl_int_is_zero, lower_bound_from_opposite(), and lower_bound_from_parallel().
Referenced by isl_basic_map_drop_redundant_divs_ineq().
|
static |
Definition at line 2055 of file isl_map_simplify.c.
References constraint_index_free(), constraint_index_is_redundant(), context, isl_int_is_nonneg, isl_mat_cols(), isl_mat_rows(), isl_seq_first_non_zero(), isl_stat_error, isl_stat_ok, setup_constraint_index(), and total().
Referenced by uset_gist_full().
|
static |
Definition at line 2873 of file isl_map_simplify.c.
References isl_tab::bmap, isl_basic_map::eq, isl_basic_map_dim(), isl_dim_all, isl_dim_div, isl_seq_first_non_zero(), isl_tab::n_div, isl_basic_map::n_eq, and total().
Referenced by gist_strides().
|
static |
Definition at line 897 of file isl_map_simplify.c.
References isl_basic_map_var_offset(), isl_dim_div, isl_int_is_zero, and isl_seq_first_non_zero().
Referenced by normalize_divs().
|
static |
Definition at line 160 of file isl_map_simplify.c.
References isl_bool_false, isl_int_abs_ge, isl_int_divexact_ui, isl_int_eq, isl_int_is_zero, isl_int_mul_ui, and pos().
Referenced by reduce_div_coefficients_of_div().
|
static |
Definition at line 5355 of file isl_map_simplify.c.
References isl_vec::el, isl_int_fdiv_q, isl_int_is_divisible_by, isl_int_is_one, isl_int_is_zero, isl_seq_gcd(), isl_seq_scale_down(), isl_vec_cow(), isl_vec_get_ctx(), isl_ctx::normalize_gcd, isl_vec::size, and test_ineq_data::v.
Referenced by isl_basic_map_reduce_coefficients().
|
static |
Definition at line 246 of file isl_map_simplify.c.
References isl_basic_map_dim(), isl_basic_map_free(), isl_dim_all, isl_int_divexact, isl_int_fdiv_q, isl_int_gcd, isl_int_is_one, isl_int_is_zero, isl_seq_gcd(), isl_seq_scale_down(), isl_ctx::normalize_gcd, and total().
Referenced by eliminate_var_using_equality(), and normalize_div_expressions().
|
static |
Definition at line 283 of file isl_map_simplify.c.
References normalize_div_expression().
Referenced by isl_basic_map_simplify().
|
static |
Definition at line 964 of file isl_map_simplify.c.
References B(), isl_vec::block, C, isl_blk::data, isl_alloc_array, isl_basic_map_alloc_div(), isl_basic_map_alloc_equality(), isl_basic_map_drop_div(), isl_basic_map_drop_equality(), isl_basic_map_extend(), isl_basic_map_free(), ISL_BASIC_MAP_NORMALIZED_DIVS, isl_basic_map_set_to_empty(), isl_basic_map_var_offset(), isl_dim_div, ISL_F_ISSET, ISL_F_SET, isl_int_clear, isl_int_fdiv_q, isl_int_init, isl_int_is_one, isl_int_is_zero, isl_int_neg, isl_int_set, isl_int_set_si, isl_mat_col_submul(), isl_mat_free(), isl_mat_parameter_compression(), isl_mat_product(), isl_mat_sub_alloc6(), isl_mat_variable_compression(), isl_seq_clr(), isl_seq_cpy(), isl_seq_neg(), isl_seq_submul(), isl_vec_alloc(), isl_mat::n_col, n_pure_div_eq(), isl_mat::n_row, pos(), and isl_mat::row.
Referenced by isl_basic_map_simplify().
|
static |
Definition at line 386 of file isl_map_simplify.c.
References isl_basic_map_var_offset(), isl_bool_error, isl_bool_false, isl_bool_true, isl_dim_div, isl_int_is_zero, isl_seq_last_non_zero(), and pos().
Referenced by eliminate_divs_eq().
|
static |
Definition at line 1137 of file isl_map_simplify.c.
References isl_basic_map_offset(), isl_bool_false, isl_bool_true, isl_dim_div, isl_int_is_zero, and total().
Referenced by check_for_div_constraints(), and isl_basic_map_drop_redundant_divs_ineq().
|
static |
Definition at line 5140 of file isl_map_simplify.c.
References isl_vec::el, isl_mat_copy(), isl_mat_get_ctx(), isl_mat_rows(), isl_seq_first_non_zero(), isl_seq_swp_or_cpy(), isl_stat_error, isl_stat_ok, isl_vec_alloc(), isl_vec_free(), isl_vec_mat_product(), n, and test_ineq_data::v.
Referenced by isl_basic_map_preimage_vars().
|
static |
Definition at line 2757 of file isl_map_simplify.c.
References isl_basic_set_dim(), isl_basic_set_eliminate_vars(), isl_basic_set_free(), isl_basic_set_involves_dims(), isl_dim_set, and n.
Referenced by uset_gist().
|
static |
Definition at line 134 of file isl_map_simplify.c.
References isl_basic_map_shift_div(), isl_int_add_ui, isl_int_clear, isl_int_fdiv_q, isl_int_fdiv_r, isl_int_gt, isl_int_init, isl_int_mul_ui, isl_int_neg, and pos().
Referenced by reduce_div_coefficients_of_div().
|
static |
Definition at line 212 of file isl_map_simplify.c.
References isl_int_is_zero, and reduce_div_coefficients_of_div().
Referenced by isl_basic_map_simplify().
|
static |
Definition at line 182 of file isl_map_simplify.c.
References isl_basic_map_dim(), isl_basic_map_free(), isl_dim_all, needs_reduction(), reduce_coefficient_in_div(), and total().
Referenced by reduce_div_coefficients().
|
static |
Definition at line 3153 of file isl_map_simplify.c.
References A(), any(), isl_tab::bmap, isl_basic_map::eq, gcd(), isl_basic_map_dim(), isl_basic_map_free(), isl_basic_map_gauss(), isl_basic_map_get_ctx(), isl_basic_map_mark_div_unknown(), isl_die, isl_dim_all, isl_dim_div, isl_error_internal, isl_int_clear, isl_int_divexact, isl_int_init, isl_int_is_one, isl_mat_row_gcd(), isl_seq_first_non_zero(), n, isl_tab::n_div, remove_incomplete_powers(), and total().
Referenced by gist_strides().
|
static |
Definition at line 1981 of file isl_map_simplify.c.
References isl_int_is_zero, isl_seq_cpy(), isl_seq_elim(), and total().
Referenced by isl_basic_map_plain_is_disjoint(), and set_reduced_using_equalities().
|
static |
Definition at line 1695 of file isl_map_simplify.c.
References isl_basic_map_mark_div_unknown(), isl_int_is_zero, and pos().
Referenced by isl_basic_map_drop_constraints_involving_unknown_divs(), and isl_basic_map_eliminate_vars().
|
static |
Definition at line 816 of file isl_map_simplify.c.
References isl_blk::data, eliminate_div(), isl_basic_map_free(), isl_basic_map_order_divs(), isl_basic_map_var_offset(), isl_blk_alloc(), isl_blk_free(), isl_blk_is_error(), isl_calloc_array, isl_dim_div, isl_int_is_zero, isl_int_set_si, isl_seq_clr(), isl_seq_eq(), isl_seq_get_hash_bits(), round_up(), size, and total().
Referenced by isl_basic_map_simplify().
Definition at line 3089 of file isl_map_simplify.c.
References isl_int_clear, isl_int_divexact, isl_int_gcd, isl_int_init, isl_int_is_one, and t.
Referenced by reduce_stride_constraints().
|
static |
Definition at line 1638 of file isl_map_simplify.c.
References div_is_redundant(), isl_basic_map_drop_constraints_involving(), isl_basic_map_drop_div(), isl_basic_map_free(), isl_basic_map_var_offset(), and isl_dim_div.
Referenced by isl_basic_map_finalize().
|
static |
Definition at line 2098 of file isl_map_simplify.c.
References constraint_index_free(), constraint_index_is_redundant(), context, isl_basic_set_cow(), isl_basic_set_drop_inequality(), and setup_constraint_index().
Referenced by isl_basic_map_remove_shifted_constraints().
|
static |
Definition at line 3545 of file isl_map_simplify.c.
References isl_tab::bmap, context, isl_basic_map_copy(), isl_basic_map_free(), isl_map_free(), isl_map_from_basic_map(), map, and pos().
Referenced by isl_map_plain_gist_basic_map().
|
static |
Definition at line 2659 of file isl_map_simplify.c.
References isl_basic_set_empty(), isl_basic_set_free(), and isl_basic_set_get_space().
Referenced by uset_gist(), and uset_gist_compressed().
|
static |
Definition at line 3636 of file isl_map_simplify.c.
References drop(), isl_map_free(), isl_map_get_space(), isl_map_universe(), map, and res.
Referenced by isl_map_gist().
|
static |
Definition at line 675 of file isl_map_simplify.c.
Referenced by create_constraint_index(), and remove_duplicate_divs().
|
static |
Definition at line 1975 of file isl_map_simplify.c.
References bset_to_bmap(), and compute_elimination_index().
Referenced by isl_basic_set_reduce_using_equalities().
|
static |
Definition at line 545 of file isl_map_simplify.c.
References bmap_eq_involves_unknown_divs(), isl_basic_map_dim(), isl_basic_map_free(), isl_basic_map_offset(), isl_dim_all, isl_dim_div, isl_int_is_zero, isl_int_set, isl_int_set_si, isl_seq_neg(), and total().
Referenced by isl_basic_map_gauss5().
|
static |
Definition at line 1117 of file isl_map_simplify.c.
References isl_basic_map_offset(), isl_dim_div, isl_int_add, isl_int_set, isl_int_set_si, isl_int_sub_ui, isl_seq_neg(), and total().
Referenced by check_for_div_constraints(), and isl_basic_map_drop_redundant_divs_ineq().
|
static |
Definition at line 4741 of file isl_map_simplify.c.
References drop_redundant_divs_again(), isl_basic_map_cow(), and isl_basic_map_inequality_to_equality().
Referenced by isl_basic_map_drop_redundant_divs_ineq().
|
static |
Definition at line 763 of file isl_map_simplify.c.
References hash_index().
Referenced by setup_constraint_index().
|
static |
Definition at line 2001 of file isl_map_simplify.c.
References bset_to_bmap(), reduced_using_equalities(), and total().
Referenced by isl_basic_set_reduce_using_equalities().
|
static |
Definition at line 771 of file isl_map_simplify.c.
References create_constraint_index(), isl_constraint_index::index, isl_stat_error, isl_stat_ok, and set_hash_index().
Referenced by mark_shifted_constraints(), and remove_shifted_constraints().
|
static |
Definition at line 4690 of file isl_map_simplify.c.
References isl_basic_map_dim(), isl_basic_map_div_is_known(), isl_basic_map_offset(), isl_bool_error, isl_bool_not(), isl_bool_true, isl_dim_div, and isl_int_is_zero.
Referenced by isl_basic_map_drop_redundant_divs_ineq().
|
static |
Definition at line 31 of file isl_map_simplify.c.
Referenced by isl_basic_map_gauss5().
|
static |
Definition at line 38 of file isl_map_simplify.c.
Referenced by isl_basic_map_remove_duplicate_constraints().
|
static |
Definition at line 4257 of file isl_map_simplify.c.
References test_ineq_data::fl, test_ineq_data::fu, test_ineq_data::g, isl_int_clear, isl_tab_free(), isl_vec_free(), test_ineq_data::tab, and test_ineq_data::v.
Referenced by drop_more_redundant_divs().
|
static |
Definition at line 4270 of file isl_map_simplify.c.
References isl_tab::bmap, isl_vec::el, test_ineq_data::g, isl_basic_map_get_ctx(), isl_bool_error, isl_int_is_nonneg, isl_lp_error, isl_lp_ok, isl_tab_from_basic_map(), isl_tab_min(), isl_ctx::one, res, test_ineq_data::tab, and test_ineq_data::v.
Referenced by int_between_bounds().
|
static |
Definition at line 2234 of file isl_map_simplify.c.
References isl_int_is_zero.
Referenced by isl_basic_map_drop_unrelated_constraints().
|
static |
Definition at line 2442 of file isl_map_simplify.c.
References isl_tab::empty, isl_basic_map_inequality_to_equality(), isl_basic_set_drop_inequality(), isl_basic_set_finalize(), isl_basic_set_free(), isl_basic_set_gauss(), isl_basic_set_set_to_empty(), isl_tab_is_equality(), isl_tab_is_redundant(), and isl_tab::n_eq.
Referenced by update_ineq_free().
|
static |
Definition at line 2483 of file isl_map_simplify.c.
References context, isl_basic_set_free(), isl_mat_free(), isl_tab_free(), and update_ineq().
Referenced by uset_gist_full().
|
static |
Definition at line 2807 of file isl_map_simplify.c.
References aff, context, drop_irrelevant_constraints(), isl_basic_set_affine_hull(), isl_basic_set_copy(), isl_basic_set_detect_equalities(), isl_basic_set_dim(), isl_basic_set_free(), isl_basic_set_intersect(), ISL_BASIC_SET_NO_IMPLICIT, ISL_BASIC_SET_NO_REDUNDANT, isl_basic_set_plain_affine_hull(), isl_basic_set_plain_is_empty(), isl_basic_set_reduce_using_equalities(), isl_basic_set_sort_constraints(), isl_dim_all, ISL_F_SET, isl_mat_cow(), isl_mat_free(), isl_mat_sub_alloc6(), isl_mat_variable_compression(), isl_mat::n_col, project_onto_involved(), replace_by_empty(), total(), uset_gist_compressed(), and uset_gist_uncompressed().
Referenced by isl_basic_map_gist().
|
static |
Definition at line 2699 of file isl_map_simplify.c.
References context, extract_ineq(), isl_basic_set_cow(), isl_basic_set_free(), isl_basic_set_plain_is_empty(), isl_basic_set_preimage(), isl_int_clear, isl_int_fdiv_q, isl_int_fdiv_r, isl_int_init, isl_int_is_one, isl_int_is_zero, isl_int_sub, isl_mat_cols(), isl_mat_copy(), isl_mat_free(), isl_mat_get_ctx(), isl_mat_product(), isl_mat_rows(), isl_seq_gcd(), isl_seq_scale_down(), isl_tab::n_col, isl_tab::n_row, isl_ctx::normalize_gcd, replace_by_empty(), isl_mat::row, and uset_gist_full().
Referenced by uset_gist().
|
static |
Definition at line 2530 of file isl_map_simplify.c.
References all_neg(), isl_tab::con, context, drop_irrelevant_constraints_marked(), isl_tab_var::is_redundant, isl_basic_set_add_ineq(), isl_basic_set_copy(), isl_basic_set_cow(), isl_basic_set_dup(), isl_basic_set_extend_constraints(), isl_basic_set_free(), isl_basic_set_get_ctx(), isl_basic_set_is_empty(), ISL_BASIC_SET_NO_IMPLICIT, ISL_BASIC_SET_NO_REDUNDANT, isl_basic_set_plain_is_universe(), isl_basic_set_update_from_tab(), isl_calloc_array, ISL_F_SET, isl_inequality_negate(), isl_mat_free(), isl_tab_add_ineq(), isl_tab_detect_implicit_equalities(), isl_tab_detect_redundant(), isl_tab_extend_cons(), isl_tab_free(), isl_tab_freeze_constraint(), isl_tab_from_basic_set(), mark_shifted_constraints(), isl_tab::n_eq, test, and update_ineq_free().
Referenced by uset_gist_compressed(), and uset_gist_uncompressed().
|
static |
Definition at line 2648 of file isl_map_simplify.c.
References context, extract_ineq(), and uset_gist_full().
Referenced by uset_gist().