summaryrefslogtreecommitdiffstats
path: root/polly/lib/External/isl/isl_map.c
diff options
context:
space:
mode:
Diffstat (limited to 'polly/lib/External/isl/isl_map.c')
-rw-r--r--polly/lib/External/isl/isl_map.c99
1 files changed, 27 insertions, 72 deletions
diff --git a/polly/lib/External/isl/isl_map.c b/polly/lib/External/isl/isl_map.c
index cb3b376071d..47e7acd7bb8 100644
--- a/polly/lib/External/isl/isl_map.c
+++ b/polly/lib/External/isl/isl_map.c
@@ -43,8 +43,6 @@
#include <isl_options_private.h>
#include <isl_morph.h>
#include <isl_val_private.h>
-#include <isl/deprecated/map_int.h>
-#include <isl/deprecated/set_int.h>
#include <bset_to_bmap.c>
#include <bset_from_bmap.c>
@@ -5924,34 +5922,34 @@ error:
return NULL;
}
-__isl_give isl_basic_map *isl_basic_map_empty(__isl_take isl_space *dim)
+__isl_give isl_basic_map *isl_basic_map_empty(__isl_take isl_space *space)
{
struct isl_basic_map *bmap;
- bmap = isl_basic_map_alloc_space(dim, 0, 1, 0);
+ bmap = isl_basic_map_alloc_space(space, 0, 1, 0);
bmap = isl_basic_map_set_to_empty(bmap);
return bmap;
}
-__isl_give isl_basic_set *isl_basic_set_empty(__isl_take isl_space *dim)
+__isl_give isl_basic_set *isl_basic_set_empty(__isl_take isl_space *space)
{
struct isl_basic_set *bset;
- bset = isl_basic_set_alloc_space(dim, 0, 1, 0);
+ bset = isl_basic_set_alloc_space(space, 0, 1, 0);
bset = isl_basic_set_set_to_empty(bset);
return bset;
}
-__isl_give isl_basic_map *isl_basic_map_universe(__isl_take isl_space *dim)
+__isl_give isl_basic_map *isl_basic_map_universe(__isl_take isl_space *space)
{
struct isl_basic_map *bmap;
- bmap = isl_basic_map_alloc_space(dim, 0, 0, 0);
+ bmap = isl_basic_map_alloc_space(space, 0, 0, 0);
bmap = isl_basic_map_finalize(bmap);
return bmap;
}
-__isl_give isl_basic_set *isl_basic_set_universe(__isl_take isl_space *dim)
+__isl_give isl_basic_set *isl_basic_set_universe(__isl_take isl_space *space)
{
struct isl_basic_set *bset;
- bset = isl_basic_set_alloc_space(dim, 0, 0, 0);
+ bset = isl_basic_set_alloc_space(space, 0, 0, 0);
bset = isl_basic_set_finalize(bset);
return bset;
}
@@ -5991,33 +5989,33 @@ __isl_give isl_set *isl_set_nat_universe(__isl_take isl_space *dim)
return isl_map_nat_universe(dim);
}
-__isl_give isl_map *isl_map_empty(__isl_take isl_space *dim)
+__isl_give isl_map *isl_map_empty(__isl_take isl_space *space)
{
- return isl_map_alloc_space(dim, 0, ISL_MAP_DISJOINT);
+ return isl_map_alloc_space(space, 0, ISL_MAP_DISJOINT);
}
-__isl_give isl_set *isl_set_empty(__isl_take isl_space *dim)
+__isl_give isl_set *isl_set_empty(__isl_take isl_space *space)
{
- return isl_set_alloc_space(dim, 0, ISL_MAP_DISJOINT);
+ return isl_set_alloc_space(space, 0, ISL_MAP_DISJOINT);
}
-__isl_give isl_map *isl_map_universe(__isl_take isl_space *dim)
+__isl_give isl_map *isl_map_universe(__isl_take isl_space *space)
{
struct isl_map *map;
- if (!dim)
+ if (!space)
return NULL;
- map = isl_map_alloc_space(isl_space_copy(dim), 1, ISL_MAP_DISJOINT);
- map = isl_map_add_basic_map(map, isl_basic_map_universe(dim));
+ map = isl_map_alloc_space(isl_space_copy(space), 1, ISL_MAP_DISJOINT);
+ map = isl_map_add_basic_map(map, isl_basic_map_universe(space));
return map;
}
-__isl_give isl_set *isl_set_universe(__isl_take isl_space *dim)
+__isl_give isl_set *isl_set_universe(__isl_take isl_space *space)
{
struct isl_set *set;
- if (!dim)
+ if (!space)
return NULL;
- set = isl_set_alloc_space(isl_space_copy(dim), 1, ISL_MAP_DISJOINT);
- set = isl_set_add_basic_set(set, isl_basic_set_universe(dim));
+ set = isl_set_alloc_space(isl_space_copy(space), 1, ISL_MAP_DISJOINT);
+ set = isl_set_add_basic_set(set, isl_basic_set_universe(space));
return set;
}
@@ -6867,59 +6865,22 @@ static __isl_give isl_set *isl_basic_set_lexmin_compute_divs(
return isl_basic_set_lexopt(bset, ISL_OPT_QE);
}
-/* Extract the first and only affine expression from list
- * and then add it to *pwaff with the given dom.
- * This domain is known to be disjoint from other domains
- * because of the way isl_basic_map_foreach_lexmax works.
- */
-static isl_stat update_dim_opt(__isl_take isl_basic_set *dom,
- __isl_take isl_aff_list *list, void *user)
-{
- isl_ctx *ctx = isl_basic_set_get_ctx(dom);
- isl_aff *aff;
- isl_pw_aff **pwaff = user;
- isl_pw_aff *pwaff_i;
-
- if (!list)
- goto error;
- if (isl_aff_list_n_aff(list) != 1)
- isl_die(ctx, isl_error_internal,
- "expecting single element list", goto error);
-
- aff = isl_aff_list_get_aff(list, 0);
- pwaff_i = isl_pw_aff_alloc(isl_set_from_basic_set(dom), aff);
-
- *pwaff = isl_pw_aff_add_disjoint(*pwaff, pwaff_i);
-
- isl_aff_list_free(list);
-
- return isl_stat_ok;
-error:
- isl_basic_set_free(dom);
- isl_aff_list_free(list);
- return isl_stat_error;
-}
-
/* Given a basic map with one output dimension, compute the minimum or
* maximum of that dimension as an isl_pw_aff.
*
- * The isl_pw_aff is constructed by having isl_basic_map_foreach_lexopt
- * call update_dim_opt on each leaf of the result.
+ * Compute the optimum as a lexicographic optimum over the single
+ * output dimension and extract the single isl_pw_aff from the result.
*/
static __isl_give isl_pw_aff *basic_map_dim_opt(__isl_keep isl_basic_map *bmap,
int max)
{
- isl_space *dim = isl_basic_map_get_space(bmap);
+ isl_pw_multi_aff *pma;
isl_pw_aff *pwaff;
- isl_stat r;
- dim = isl_space_from_domain(isl_space_domain(dim));
- dim = isl_space_add_dims(dim, isl_dim_out, 1);
- pwaff = isl_pw_aff_empty(dim);
-
- r = isl_basic_map_foreach_lexopt(bmap, max, &update_dim_opt, &pwaff);
- if (r < 0)
- return isl_pw_aff_free(pwaff);
+ bmap = isl_basic_map_copy(bmap);
+ pma = isl_basic_map_lexopt_pw_multi_aff(bmap, max ? ISL_OPT_MAX : 0);
+ pwaff = isl_pw_multi_aff_get_pw_aff(pma, 0);
+ isl_pw_multi_aff_free(pma);
return pwaff;
}
@@ -9407,12 +9368,6 @@ __isl_give isl_val *isl_set_plain_get_val_if_fixed(__isl_keep isl_set *set,
return isl_map_plain_get_val_if_fixed(set, type, pos);
}
-isl_bool isl_set_plain_is_fixed(__isl_keep isl_set *set,
- enum isl_dim_type type, unsigned pos, isl_int *val)
-{
- return isl_map_plain_is_fixed(set, type, pos, val);
-}
-
/* Check if dimension dim has fixed value and if so and if val is not NULL,
* then return this fixed value in *val.
*/
OpenPOWER on IntegriCloud