Polly 20.0.0git
|
#include <isl_map_private.h>
#include <isl_seq.h>
#include <isl/set.h>
#include <isl/map.h>
#include "isl_tab.h"
#include <isl_point_private.h>
#include <isl_vec_private.h>
#include <set_to_map.c>
#include <set_from_map.c>
Go to the source code of this file.
Classes | |
struct | isl_diff_collector |
struct | isl_subtract_diff_collector |
struct | isl_is_empty_diff_collector |
|
static |
Definition at line 308 of file isl_map_subtract.c.
References isl_diff_collector::add, isl_tab::bmap, isl_tab::empty, init(), isl_alloc_array, isl_basic_map_copy(), isl_basic_map_cow(), isl_basic_map_finalize(), isl_basic_map_free(), isl_basic_map_is_empty(), isl_basic_map_order_divs(), isl_basic_map_simplify(), isl_basic_map_update_from_tab(), isl_calloc_array, isl_map_cow(), isl_map_free(), isl_map_order_divs(), isl_stat_error, isl_stat_ok, isl_tab_free(), isl_tab_from_basic_map(), isl_tab_rollback(), isl_tab_snap(), map, n, isl_tab::n_con, n_non_redundant(), offset, tab_add_constraint(), tab_add_constraints(), tab_add_divs(), and tab_freeze_constraints().
Referenced by basic_map_diff_is_empty(), basic_map_subtract(), and isl_map_make_disjoint().
|
static |
Definition at line 670 of file isl_map_subtract.c.
References isl_diff_collector::add, basic_map_collect_diff(), basic_map_is_empty_add(), isl_is_empty_diff_collector::dc, isl_is_empty_diff_collector::empty, isl_basic_map_copy(), isl_basic_map_plain_is_empty(), isl_bool_error, isl_bool_false, isl_bool_true, isl_map_copy(), and map.
Referenced by map_diff_is_empty().
|
static |
Definition at line 655 of file isl_map_subtract.c.
References isl_is_empty_diff_collector::dc, isl_is_empty_diff_collector::empty, isl_basic_map_free(), isl_bool_false, and isl_stat_error.
Referenced by basic_map_diff_is_empty().
|
static |
Definition at line 499 of file isl_map_subtract.c.
References isl_diff_collector::add, basic_map_collect_diff(), basic_map_subtract_add(), isl_subtract_diff_collector::dc, isl_subtract_diff_collector::diff, isl_basic_map_get_space(), isl_map_empty(), isl_map_free(), and map.
Referenced by isl_map_subtract().
|
static |
Definition at line 485 of file isl_map_subtract.c.
References isl_subtract_diff_collector::dc, isl_subtract_diff_collector::diff, isl_map_from_basic_map(), isl_map_union_disjoint(), isl_stat_error, and isl_stat_ok.
Referenced by basic_map_subtract(), and isl_map_make_disjoint().
|
static |
Definition at line 32 of file isl_map_subtract.c.
References isl_vec::el, isl_int_add, isl_seq_clr(), isl_seq_cpy(), pos(), and isl_vec::size.
Referenced by tab_add_constraint(), and tab_add_constraints().
isl_bool isl_basic_map_plain_is_singleton | ( | __isl_keep isl_basic_map * | bmap | ) |
Definition at line 714 of file isl_map_subtract.c.
References isl_basic_map_dim(), isl_bool_error, isl_bool_false, isl_dim_all, and total().
Referenced by isl_map_plain_is_singleton().
__isl_give isl_map * isl_map_complement | ( | __isl_take isl_map * | map | ) |
Definition at line 929 of file isl_map_subtract.c.
References isl_map_get_space(), isl_map_subtract(), isl_map_universe(), map, and universe().
Referenced by isl::map::complement(), and isl_set_complement().
isl_bool isl_map_is_subset | ( | __isl_keep isl_map * | map1, |
__isl_keep isl_map * | map2 | ||
) |
Definition at line 877 of file isl_map_subtract.c.
References isl_map_align_params_map_map_and_test(), map1, map2, and map_is_subset().
Referenced by basic_map_follows(), check_exactness(), check_exactness_omega(), check_power_exactness(), is_condition_false(), isl::map::is_subset(), is_subset_entry(), is_subset_of_identity(), isl_basic_map_is_subset(), isl_map_gist(), isl_map_is_identity(), isl_map_is_single_valued(), isl_map_is_strict_subset(), isl_map_is_transitively_closed(), isl_set_is_subset(), and map_is_equal().
__isl_give isl_map * isl_map_make_disjoint | ( | __isl_take isl_map * | map | ) |
Definition at line 888 of file isl_map_subtract.c.
References isl_diff_collector::add, basic_map_collect_diff(), basic_map_subtract_add(), isl_subtract_diff_collector::dc, isl_subtract_diff_collector::diff, isl_basic_map_copy(), ISL_F_ISSET, isl_map_compute_divs(), isl_map_copy(), ISL_MAP_DISJOINT, isl_map_free(), isl_map_from_basic_map(), isl_map_remove_empty_parts(), and map.
Referenced by isl_set_make_disjoint(), and pw_multi_aff_from_map_base().
isl_bool isl_map_plain_is_singleton | ( | __isl_keep isl_map * | map | ) |
Definition at line 732 of file isl_map_subtract.c.
References isl_basic_map_plain_is_singleton(), isl_bool_error, isl_bool_false, and map.
Referenced by map_is_subset().
__isl_give isl_map * isl_map_subtract | ( | __isl_take isl_map * | map1, |
__isl_take isl_map * | map2 | ||
) |
Definition at line 533 of file isl_map_subtract.c.
References basic_map_subtract(), equal, isl_basic_map_copy(), ISL_F_ISSET, isl_map_align_params_bin(), isl_map_check_equal_space(), isl_map_compute_divs(), isl_map_copy(), ISL_MAP_DISJOINT, isl_map_empty(), isl_map_free(), isl_map_get_space(), isl_map_is_disjoint(), isl_map_plain_is_equal(), isl_map_remove_empty_parts(), isl_map_union(), isl_map_union_disjoint(), map1, map2, and replace_pair_by_empty().
Referenced by all_intermediate_sources(), can_be_split_off(), handle_coscheduled(), isl_map_complement(), isl_map_subtract_domain(), isl_map_subtract_range(), isl_set_subtract(), isl_union_map_subtract(), read_conjuncts(), read_formula(), and isl::map::subtract().
__isl_give isl_map * isl_map_subtract_domain | ( | __isl_take isl_map * | map, |
__isl_take isl_set * | dom | ||
) |
Definition at line 597 of file isl_map_subtract.c.
References isl_die, isl_error_invalid, isl_map_align_params_set(), isl_map_compatible_domain(), isl_map_free(), isl_map_get_space(), isl_map_intersect_domain(), isl_map_subtract(), isl_map_universe(), isl_set_free(), isl_set_get_ctx(), and map.
Referenced by isl_union_map_subtract_domain().
__isl_give isl_map * isl_map_subtract_range | ( | __isl_take isl_map * | map, |
__isl_take isl_set * | dom | ||
) |
Definition at line 622 of file isl_map_subtract.c.
References isl_die, isl_error_invalid, isl_map_align_params_set(), isl_map_compatible_range(), isl_map_free(), isl_map_get_space(), isl_map_intersect_range(), isl_map_subtract(), isl_map_universe(), isl_set_free(), isl_set_get_ctx(), and map.
Referenced by isl_union_map_subtract_range().
__isl_give isl_set * isl_set_complement | ( | __isl_take isl_set * | set | ) |
Definition at line 941 of file isl_map_subtract.c.
References isl_map_complement(), and set.
Referenced by polly::ScopBuilder::addUserAssumptions(), isl::set::complement(), polly::SCEVAffinator::interpretAsUnsigned(), and isl_set_indicator_function().
isl_bool isl_set_is_subset | ( | __isl_keep isl_set * | set1, |
__isl_keep isl_set * | set2 | ||
) |
Definition at line 883 of file isl_map_subtract.c.
References isl_map_is_subset(), set1, set2, and set_to_map.
Referenced by ast_expr_from_pw_aff(), composability(), polly::IslNodeBuilder::createNewAccesses(), extends(), FN(), has_spurious_elements(), importAccesses(), insert_pending_guard_nodes(), isl::set::is_subset(), isl_pw_qpolynomial_fold_covers(), single_is_subset(), test_one_schedule(), test_subset(), and test_subset_duplicate_integer_divisions().
__isl_give isl_set * isl_set_make_disjoint | ( | __isl_take isl_set * | set | ) |
Definition at line 924 of file isl_map_subtract.c.
References isl_map_make_disjoint(), set, set_from_map(), and set_to_map.
Referenced by add_split_on(), ast_node_insert_if(), compute_atomic_domain(), compute_domains_init_options(), compute_partial_domains(), do_unroll_iteration(), generate_shifted_component_tree_base(), guarded_fold(), isl_set_foreach_point(), isl_set_scan(), separate_domain(), and SF().
__isl_give isl_set * isl_set_subtract | ( | __isl_take isl_set * | set1, |
__isl_take isl_set * | set2 | ||
) |
Definition at line 588 of file isl_map_subtract.c.
References isl_map_subtract(), set1, set2, set_from_map(), and set_to_map.
Referenced by add_split_on(), polly::ScopBuilder::addRecordedAssumptions(), polly::ScopBuilder::buildConditionSets(), compute_atomic_domain(), compute_domains_init_options(), compute_mem_based_dependences(), compute_partial_domains(), compute_val_based_dependences(), do_unroll(), FN(), generate_shifted_component_tree(), insert_pending_guard_nodes(), isl_ast_build_expr_from_set_internal(), isl_pw_qpolynomial_fold_fold(), pw_aff_locus(), pw_aff_max(), pw_aff_min(), separate_domain(), isl::set::subtract(), and test_subtract_empty().
|
static |
Definition at line 694 of file isl_map_subtract.c.
References basic_map_diff_is_empty(), isl_bool_error, isl_bool_true, map1, and map2.
Referenced by map_is_subset().
|
static |
Definition at line 799 of file isl_map_subtract.c.
References isl_basic_map_contains_point(), isl_bool_error, isl_bool_false, isl_die, isl_error_invalid, isl_map_get_ctx(), isl_point_free(), map1, map2, point, and singleton_extract_point().
Referenced by map_is_subset().
|
static |
Definition at line 827 of file isl_map_subtract.c.
References isl_bool_error, isl_bool_false, isl_bool_true, isl_map_compute_divs(), isl_map_copy(), isl_map_free(), isl_map_has_equal_space(), isl_map_has_rational(), isl_map_is_empty(), isl_map_plain_is_singleton(), isl_map_plain_is_universe(), map1, map2, map_diff_is_empty(), and map_is_singleton_subset().
Referenced by isl_map_is_subset().
Definition at line 241 of file isl_map_subtract.c.
References isl_vec::ctx, isl_alloc_array, isl_tab_detect_redundant(), isl_tab_is_redundant(), n, isl_tab::n_con, and offset.
Referenced by basic_map_collect_diff().
|
static |
Definition at line 514 of file isl_map_subtract.c.
References isl_map_empty(), isl_map_free(), isl_map_get_space(), map1, and map2.
Referenced by isl_map_subtract().
|
static |
Definition at line 745 of file isl_map_subtract.c.
References isl_assert, isl_basic_map_dim(), isl_basic_map_get_space(), isl_dim_all, isl_int_abs, isl_int_clear, isl_int_divexact, isl_int_gcd, isl_int_init, isl_int_is_negone, isl_int_is_one, isl_int_mul, isl_int_neg, isl_int_set_si, isl_point_alloc(), isl_seq_first_non_zero(), isl_seq_scale(), isl_vec_alloc(), isl_vec_free(), m, and point.
Referenced by map_is_singleton_subset().
|
static |
Definition at line 113 of file isl_map_subtract.c.
References isl_tab::bmap, isl_vec::el, expand_constraint(), isl_basic_map_dim(), isl_dim_all, isl_dim_div, isl_int_add_ui, isl_int_sub_ui, isl_seq_neg(), isl_stat_error, isl_tab_add_ineq(), isl_vec_alloc(), isl_vec_free(), and oppose().
Referenced by basic_map_collect_diff().
|
static |
Definition at line 49 of file isl_map_subtract.c.
References isl_tab::bmap, isl_vec::el, isl_tab::empty, expand_constraint(), isl_basic_map_dim(), isl_dim_all, isl_dim_div, isl_seq_neg(), isl_stat_error, isl_stat_ok, isl_tab_add_ineq(), isl_tab_extend_cons(), isl_vec_alloc(), isl_vec_free(), and isl_tab::n_eq.
Referenced by basic_map_collect_diff().
|
static |
Definition at line 170 of file isl_map_subtract.c.
References isl_tab::bmap, isl_basic_map::div, isl_vec::el, isl_alloc_array, isl_basic_map_dim(), isl_dim_all, isl_int_add, isl_seq_clr(), isl_seq_cpy(), isl_seq_eq(), isl_stat_error, isl_stat_ok, isl_tab_add_div(), isl_vec_alloc(), isl_vec_free(), isl_basic_map::n_div, isl_vec::size, and total().
Referenced by basic_map_collect_diff().
|
static |
Definition at line 226 of file isl_map_subtract.c.
References isl_tab_freeze_constraint(), and isl_tab::n_con.
Referenced by basic_map_collect_diff().