From cc109bc85aa2b056b6d390ea539bbc7c0f76b585 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Mon, 30 Jan 2017 15:57:35 +0100 Subject: [PATCH] barvinok.cc: basic_map_card: explicitly reintroduce domain The function basic_map_card turns input dimensions into parameters in the input and then turns those parameters back into input dimensions in the result. The input tuple is completely removed in the input, but it was not getting explicitly introduced again in the output. Instead, it was relying on isl_pw_qpolynomial_move_dims implicitly introducing the input tuple, but this is an undocumented feature that is not guaranteed to persist. Introduce the domain explicitly. Signed-off-by: Sven Verdoolaege --- barvinok.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/barvinok.cc b/barvinok.cc index 7a20ded..a957bc2 100644 --- a/barvinok.cc +++ b/barvinok.cc @@ -1537,6 +1537,7 @@ static isl_stat basic_map_card(__isl_take isl_basic_map *bmap, void *user) bset = isl_basic_set_lift(bset); pwqp = isl_basic_set_multiplicative_call(bset, &basic_set_card); + pwqp = isl_pw_qpolynomial_from_range(pwqp); pwqp = isl_pw_qpolynomial_move_dims(pwqp, isl_dim_in, 0, isl_dim_param, nparam, n_in); pwqp = isl_pw_qpolynomial_reset_domain_space(pwqp, target_dim); -- 2.11.4.GIT