Sven Verdoolaege [Sat, 14 Jul 2012 11:50:29 +0000 (13:50 +0200)]
add isl_basic_set_preimage_multi_aff
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 17 Jul 2012 17:01:21 +0000 (19:01 +0200)]
isl_stream_new_str: fail on NULL input
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 15 Jul 2012 10:26:19 +0000 (12:26 +0200)]
privately export isl_multi_aff_align_divs
We will need it in the next commit.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 29 Feb 2012 17:55:46 +0000 (18:55 +0100)]
add isl_basic_set_add_div_constraints
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 15 Jul 2012 08:17:37 +0000 (10:17 +0200)]
isl_map_is_subset: support rational maps
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 15 Sep 2012 11:42:30 +0000 (13:42 +0200)]
isl_stream_read_map: fix parsing of Omega input
Support for parsing such input was broken by fc5018d (isl_stream_read_map:
accept alternative [i][j] tuple syntax, Sun Jul 3 21:01:01 2011 +0200)
as the two tuples in, say, {Sym=[n] [i] : i <= n } would get merged
into a single tuple (i.e., [n,i]).
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 15 Jul 2012 07:52:53 +0000 (09:52 +0200)]
isl_stream_read_map: add partial support for reading rational sets
The support is incomplete, but enough to read the inputs in the test
cases of the next commit.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 22 Aug 2012 18:10:10 +0000 (20:10 +0200)]
isl_pw_aff_nonneg_set: return a rational set if the input is marked rational
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 16 Jul 2012 17:32:22 +0000 (19:32 +0200)]
isl_pw_aff_zero_set: return a rational set if the input is marked rational
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 22 Aug 2012 18:11:12 +0000 (20:11 +0200)]
add isl_pw_aff_list_set_rational
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 16 Jul 2012 17:27:24 +0000 (19:27 +0200)]
add isl_pw_aff_set_rational
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 15 Jul 2012 07:52:13 +0000 (09:52 +0200)]
privately export isl_set_set_rational
We will need it in the next commit.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 16 Jul 2012 17:19:23 +0000 (19:19 +0200)]
add isl_set_has_rational
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 15 Jul 2012 11:50:46 +0000 (13:50 +0200)]
reimplement isl_stream_read_aff in terms of isl_stream_read_multi_aff
Reading an isl_aff is essentially a special case of reading an isl_multi_aff.
We therefore do not need any special code for reading an isl_aff, but can
instead read it as an isl_multi_aff and then extract out the isl_aff.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 15 Jul 2012 11:50:22 +0000 (13:50 +0200)]
declare isl_stream_read_multi_aff
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 14 Jul 2012 21:41:53 +0000 (23:41 +0200)]
isl_stream_read_multi_aff: read tuples directly
The original code would call isl_stream_read_pw_multi_aff, which in
turn first parsed the input as a map. Not only does this lead to
needless, potentially expensive, conversions, it also makes it difficult
to parse rational expressions.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 14 Jul 2012 20:42:17 +0000 (22:42 +0200)]
isl_input.c: change tuple parsing
Instead of immediately updating an isl_map, we first collect the
information in an isl_multi_pw_aff and then update the isl_map
based on this information.
This will allow us to reuse the tuple parsing in an improved
isl_stream_read_multi_aff.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 15 Sep 2012 07:08:29 +0000 (09:08 +0200)]
add isl_pw_multi_aff_range_product
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 19 Aug 2012 18:01:04 +0000 (20:01 +0200)]
add isl_multi_*_splice
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 19 Aug 2012 17:59:29 +0000 (19:59 +0200)]
add isl_multi_*_range_splice
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 15 Jul 2012 19:52:51 +0000 (21:52 +0200)]
add isl_multi_*_set_tuple_name
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 15 Jul 2012 19:45:42 +0000 (21:45 +0200)]
add isl_multi_*_range_product
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 15 Jul 2012 19:17:01 +0000 (21:17 +0200)]
add isl_multi_*_add_dims
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 15 Jul 2012 19:14:52 +0000 (21:14 +0200)]
add isl_multi_*_insert_dims
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 16 Jul 2012 10:39:41 +0000 (12:39 +0200)]
add isl_multi_pw_aff
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 16 Jul 2012 13:00:42 +0000 (15:00 +0200)]
add isl_multi_aff_from_aff
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 16 Jul 2012 13:44:07 +0000 (15:44 +0200)]
isl_multi_templ.c: rename align_params_multi_set_and to include MULTI(BASE)
This allows isl_pw_multi.c to be included twice from the same file.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 16 Jul 2012 10:52:31 +0000 (12:52 +0200)]
isl_multi_templ.h: avoid reference to explicit element type
This will make it easier to create additional isl_multi_* types.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 16 Jul 2012 10:39:28 +0000 (12:39 +0200)]
isl_multi_*_reset_space_and_domain: call isl_*_reset_domain_space
The original code would call isl_*_reset_space_and_domain,
but the space of the multi_* is clearly different from the space of the *,
so it does not make sense to pass that space to the *.
In case of isl_multi_aff, this does not cause any problems because
isl_aff_reset_space_and_domain ignore the first argument.
However, for an isl_multi_pw_aff, this would cause problems.
Call isl_*_reset_domain_space instead.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 16 Jul 2012 12:39:41 +0000 (14:39 +0200)]
generalize isl_multi_aff_flat_range_product
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 19 Aug 2012 17:29:48 +0000 (19:29 +0200)]
generalize isl_multi_aff_drop_dims
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 16 Jul 2012 12:30:36 +0000 (14:30 +0200)]
generalize isl_multi_aff_set_dim_name
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 18 Sep 2012 12:57:58 +0000 (14:57 +0200)]
generalize isl_multi_aff_zero
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 25 Aug 2012 08:50:52 +0000 (10:50 +0200)]
generalize isl_multi_aff_identity
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 18 Sep 2012 12:51:11 +0000 (14:51 +0200)]
add isl_pw_aff_zero_on_domain
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 25 Aug 2012 08:43:43 +0000 (10:43 +0200)]
add isl_pw_aff_var_on_domain
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 25 Aug 2012 08:37:02 +0000 (10:37 +0200)]
add isl_aff_var_on_domain
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 15 Jul 2012 12:06:12 +0000 (14:06 +0200)]
isl_input.c: obj_read_body: simplify error handling
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 7 Sep 2012 13:46:54 +0000 (15:46 +0200)]
add isl_basic_set_drop_constraints_not_involving_dims
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 20 Aug 2012 12:51:55 +0000 (14:51 +0200)]
add isl_{set,map}_drop_constraints_involving_dims
We implement these functions on top of the existing
isl_basic_set_drop_constraints_involving which handles dimensions
in terms of absolute positions. We may want to convert the users
of this old function over to the new functions at some point.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 19 Apr 2012 14:09:42 +0000 (16:09 +0200)]
add isl_set_unshifted_simple_hull
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 17 Sep 2012 15:13:49 +0000 (17:13 +0200)]
isl_stream_read_union_map: force result to be a map
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 17 Sep 2012 13:57:26 +0000 (15:57 +0200)]
add isl_union_map_subtract_range
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 17 Sep 2012 11:47:48 +0000 (13:47 +0200)]
isl_set_from_pw_multi_aff: handle NULL input
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 15 Sep 2012 08:21:47 +0000 (10:21 +0200)]
isl_union_map.c: plain_injective_on_range: silence clang warning
Recent clangs complain that "n" may be used uninitialized in the call
to free_isl_fixed_map_array. However, this only happens data.v is NULL,
in which case free_isl_fixed_map_array does not even look at n.
By moving the initialization of n up, we can silence this warning.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 15 Sep 2012 08:20:54 +0000 (10:20 +0200)]
isl_transitive_closure.c: union_components: avoid invalid access on error path
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 15 Sep 2012 08:20:28 +0000 (10:20 +0200)]
isl_range.c qpolynomial_bound_on_domain_range: avoid invalid access on error path
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 15 Sep 2012 08:19:56 +0000 (10:19 +0200)]
isl_convex_hull.c: initial_facet_constraint: avoid invalid access on error path
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 14 Sep 2012 08:15:55 +0000 (10:15 +0200)]
isl_map_union: special case universal input
In particular, there is no need to construct a new isl_map
as we can simply return the universal input map.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 14 Sep 2012 07:49:58 +0000 (09:49 +0200)]
isl_map_gist: special case universal and equal inputs
In both these cases, the solution is trivial and we do not need to
go into the regular computation.
Moreover, if the inputs are equal but not convex, then the original
code would not be able to come to the conclusion that the gist
is the universe.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 12 Sep 2012 08:25:09 +0000 (10:25 +0200)]
export isl_set_plain_cmp
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 10 Sep 2012 12:40:37 +0000 (14:40 +0200)]
doc: clarify use of identifiers
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 7 Sep 2012 21:21:47 +0000 (23:21 +0200)]
add isl_basic_set_remove_unknown_divs
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 12 Sep 2012 17:48:57 +0000 (19:48 +0200)]
and isl_pw_aff_tdiv_q and isl_pw_aff_tdiv_r
These are useful for expressing the result of the corresponding C operators.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 12 Sep 2012 17:31:54 +0000 (19:31 +0200)]
add isl_pw_aff_div
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 12 Sep 2012 10:30:46 +0000 (12:30 +0200)]
add isl_set_is_disjoint
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 12 Sep 2012 10:27:53 +0000 (12:27 +0200)]
isl_map_plain_is_disjoint: special case obviously empty inputs
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 12 Sep 2012 10:25:46 +0000 (12:25 +0200)]
isl_basic_map_is_empty: special case universal input
In particular, there is no need to compute any sample point on
universal inputs.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 12 Sep 2012 10:22:11 +0000 (12:22 +0200)]
isl_map_plain_is_disjoint: fix error handling
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 11 Sep 2012 10:25:35 +0000 (12:25 +0200)]
isl_aff.c: fix typo in comment
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 8 Sep 2012 12:46:33 +0000 (14:46 +0200)]
isl_aff_normalize: combine identical divs
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 20 Jul 2012 10:21:35 +0000 (12:21 +0200)]
isl_aff_normalize: plug in divs with denominator one
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 20 Jul 2012 09:49:36 +0000 (11:49 +0200)]
extract out isl_local_space_substitute_seq
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 19 Jul 2012 19:27:28 +0000 (21:27 +0200)]
extract out common isl_seq_substitute
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 19 Jul 2012 18:27:28 +0000 (20:27 +0200)]
isl_aff_normalize: sort divs in local space of affine expression
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 19 Jul 2012 16:20:57 +0000 (18:20 +0200)]
add isl_local_space_swap_div
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 19 Jul 2012 12:12:51 +0000 (14:12 +0200)]
privately export isl_mat_cmp_div
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Tobias Grosser [Sun, 9 Sep 2012 18:38:57 +0000 (20:38 +0200)]
fix isl_union_map_detect_equalities memory management annotation
The signature of that function had accidently an __isl_keep annotation
instead of an __isl_take. Fix this such that the signature in the
header matches the signature of the implementation.
Signed-off-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 6 Sep 2012 13:42:24 +0000 (15:42 +0200)]
add isl_map_uncurry
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 6 Sep 2012 13:16:05 +0000 (15:16 +0200)]
add isl_union_map_subtract_domain
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 24 Aug 2012 17:38:39 +0000 (19:38 +0200)]
isl_pw_*_gist: avoid intersection of domain with context
The intersection was introduced in cf42ba2 (isl_pw_qpolynomial_gist:
substitute equalities in polynomials, Mon Oct 25 13:49:22 2010 +0200)
in order to be able to detect and exploit equalities in the intersection.
However, there is no need to change the domain itself as we can just
as well use a temporary object.
Intersecting the domain with the context is not what the user would
expect as the purpose of the gist operation is to only keep the most
salient information, which is quite the opposite of introducing
extra constraints.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 22 Aug 2012 12:52:22 +0000 (14:52 +0200)]
isl_map_intersect_domain: avoid useless double reverse
Implementing isl_map_intersect_domain in terms of isl_map_intersect_range
was easier than a proper implementation, but the two calls to
isl_map_reverse can lead to needless inefficiencies.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 22 Aug 2012 08:47:33 +0000 (10:47 +0200)]
isl_map_intersect_{range,domain}: stop allowing intersection with parameter set
The test was in fact too liberal and would also allow presumably unintended
cases. Users should call isl_map_intersect_params instead.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 22 Aug 2012 15:33:55 +0000 (17:33 +0200)]
isl_map_intersect: special case universal input
In particular, there is no need to construct a new isl_map
if one of the arguments to isl_map_intersect is obviously universal.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 24 Aug 2012 13:08:25 +0000 (15:08 +0200)]
add isl_constraint_list
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 25 Aug 2012 10:57:46 +0000 (12:57 +0200)]
add isl_pw_multi_aff_set_pw_aff
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 25 Aug 2012 10:34:40 +0000 (12:34 +0200)]
add isl_pw_multi_aff_identity
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 25 Aug 2012 09:04:42 +0000 (11:04 +0200)]
declare isl_pw_multi_aff_align_params
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 20 Aug 2012 12:44:17 +0000 (14:44 +0200)]
declare isl_basic_map_remove_divs_involving_dims
This function was added in 720f32e (add isl_set_remove_divs_involving_dims,
Wed Oct 27 13:04:04 2010 +0200), but was not exported.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 19 Aug 2012 10:30:56 +0000 (12:30 +0200)]
add isl_vec_fdiv_r
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 19 Aug 2012 10:06:15 +0000 (12:06 +0200)]
add isl_*_list_insert
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 19 Aug 2012 10:30:25 +0000 (12:30 +0200)]
declare isl_map_fix
This function was added in 72ccd88 (add isl_set_fix,
Wed Oct 21 14:04:29 2009 +0200), but was not exported.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 19 Aug 2012 10:28:51 +0000 (12:28 +0200)]
add isl_basic_map_upper_bound_si
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 14 Aug 2012 07:39:18 +0000 (09:39 +0200)]
add isl_basic_map_order_ge
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 16 Aug 2012 14:38:46 +0000 (16:38 +0200)]
declare isl_aff_zero_basic_set
This function was added in 6dc44e1 (add isl_pw_aff_eq_set,
Sat Jul 9 12:28:59 2011 +0200), but was not exported.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 14 Aug 2012 15:41:04 +0000 (17:41 +0200)]
add isl_vec_concat
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 18 Aug 2012 15:40:58 +0000 (17:40 +0200)]
isl_vec_free: return NULL
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 16 Aug 2012 15:19:56 +0000 (17:19 +0200)]
isl_map_free: return NULL
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 15 Aug 2012 12:56:54 +0000 (14:56 +0200)]
isl_basic_set_free: return NULL
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 14 Aug 2012 07:29:47 +0000 (09:29 +0200)]
isl_basic_map_free: return NULL
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 6 Sep 2012 13:40:44 +0000 (15:40 +0200)]
isl_space_free: return NULL
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 13 Aug 2012 16:54:13 +0000 (18:54 +0200)]
isl_basic_map_gauss: also set progress if a div expression has been detected
The div expression may be equal to that of another div and one of them
should then be eliminated in the next iteration of isl_basic_map_simplify.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 8 Aug 2012 15:11:35 +0000 (17:11 +0200)]
isl_tarjan_graph_init: document the order of the components in the result
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 19 Jul 2012 16:15:06 +0000 (18:15 +0200)]
isl_aff.c: document isl_aff_normalize
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 19 Jul 2012 19:44:53 +0000 (21:44 +0200)]
isl_aff.c: fix typo in comment
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 4 Sep 2012 12:55:49 +0000 (14:55 +0200)]
hide internal check_help
This function was exposed by mistake when it was introduced in 387317a
(isl_args_parse: optionally ignore --help, Thu Mar 22 17:03:47 2012 +0100).
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 4 Sep 2012 12:54:10 +0000 (14:54 +0200)]
hide internal basic_map_identity
This function was exposed by mistake in d07eed3 (rename isl_dim to isl_space,
Sun Aug 21 10:38:41 2011 +0200).
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 6 Sep 2012 12:35:55 +0000 (14:35 +0200)]
isl_map_simplify.c: remove_duplicate_divs: preserve known divs
As explained in the commit message of 22c210c (isl_basic_map_gauss:
try not to remove any div definitions, Tue Sep 1 22:59:21 2009 +0200),
we should preserve known divs during isl_basic_map_simplify.
That commit only fixed the possible loss of known divs in
isl_basic_map_gauss. Here we fix the same problem in remove_duplicate_divs.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 22 Aug 2012 12:41:43 +0000 (14:41 +0200)]
isl_basic_map_drop_redundant_divs: don't drop divs that appear in other divs
Divs that appear in the definition of other divs usually occur in at least
4 constraints, so they normally wouldn't get dropped by this function.
However, the div constraints of the other div(s) may have been simplified
or eliminated. This happens in particular on the new test case
due to the optimization introduced in 2592280 (isl_basic_map_simplify:
eliminate known divs that appear with unit coefficient,
Wed May 16 13:51:16 2012 +0200).
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 15 Jul 2012 07:06:38 +0000 (09:06 +0200)]
isl_test: generalize subset test
This will make it easier to add additional test cases.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>