platform/upstream/isl.git
12 years agoisl_stream_read_map: fix parsing of Omega input
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>
12 years agoisl_stream_read_map: add partial support for reading rational sets
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>
12 years agoisl_pw_aff_nonneg_set: return a rational set if the input is marked rational
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>
12 years agoisl_pw_aff_zero_set: return a rational set if the input is marked rational
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>
12 years agoadd isl_pw_aff_list_set_rational
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>
12 years agoadd isl_pw_aff_set_rational
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>
12 years agoprivately export isl_set_set_rational
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>
12 years agoadd isl_set_has_rational
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>
12 years agoreimplement isl_stream_read_aff in terms of isl_stream_read_multi_aff
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>
12 years agodeclare isl_stream_read_multi_aff
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>
12 years agoisl_stream_read_multi_aff: read tuples directly
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>
12 years agoisl_input.c: change tuple parsing
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>
12 years agoadd isl_pw_multi_aff_range_product
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>
12 years agoadd isl_multi_*_splice
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>
12 years agoadd isl_multi_*_range_splice
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>
12 years agoadd isl_multi_*_set_tuple_name
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>
12 years agoadd isl_multi_*_range_product
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>
12 years agoadd isl_multi_*_add_dims
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>
12 years agoadd isl_multi_*_insert_dims
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>
12 years agoadd isl_multi_pw_aff
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>
12 years agoadd isl_multi_aff_from_aff
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>
12 years agoisl_multi_templ.c: rename align_params_multi_set_and to include MULTI(BASE)
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>
12 years agoisl_multi_templ.h: avoid reference to explicit element type
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>
12 years agoisl_multi_*_reset_space_and_domain: call isl_*_reset_domain_space
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>
12 years agogeneralize isl_multi_aff_flat_range_product
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>
12 years agogeneralize isl_multi_aff_drop_dims
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>
12 years agogeneralize isl_multi_aff_set_dim_name
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>
12 years agogeneralize isl_multi_aff_zero
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>
12 years agogeneralize isl_multi_aff_identity
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>
12 years agoadd isl_pw_aff_zero_on_domain
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>
12 years agoadd isl_pw_aff_var_on_domain
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>
12 years agoadd isl_aff_var_on_domain
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>
12 years agoisl_input.c: obj_read_body: simplify error handling
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>
12 years agoadd isl_basic_set_drop_constraints_not_involving_dims
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>
12 years agoadd isl_{set,map}_drop_constraints_involving_dims
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>
12 years agoadd isl_set_unshifted_simple_hull
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>
12 years agoisl_stream_read_union_map: force result to be a map
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>
12 years agoadd isl_union_map_subtract_range
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>
12 years agoisl_set_from_pw_multi_aff: handle NULL input
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>
12 years agoisl_union_map.c: plain_injective_on_range: silence clang warning
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>
12 years agoisl_transitive_closure.c: union_components: avoid invalid access on error path
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>
12 years agoisl_range.c qpolynomial_bound_on_domain_range: avoid invalid access on error path
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>
12 years agoisl_convex_hull.c: initial_facet_constraint: avoid invalid access on error path
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>
12 years agoisl_map_union: special case universal input
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>
12 years agoisl_map_gist: special case universal and equal inputs
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>
12 years agoexport isl_set_plain_cmp
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>
12 years agodoc: clarify use of identifiers
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>
12 years agoadd isl_basic_set_remove_unknown_divs
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>
12 years agoand isl_pw_aff_tdiv_q and isl_pw_aff_tdiv_r
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>
12 years agoadd isl_pw_aff_div
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>
12 years agoadd isl_set_is_disjoint
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>
12 years agoisl_map_plain_is_disjoint: special case obviously empty inputs
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>
12 years agoisl_basic_map_is_empty: special case universal input
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>
12 years agoisl_map_plain_is_disjoint: fix error handling
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>
12 years agoisl_aff.c: fix typo in comment
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>
12 years agoisl_aff_normalize: combine identical divs
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>
12 years agoisl_aff_normalize: plug in divs with denominator one
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>
12 years agoextract out isl_local_space_substitute_seq
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>
12 years agoextract out common isl_seq_substitute
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>
12 years agoisl_aff_normalize: sort divs in local space of affine expression
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>
12 years agoadd isl_local_space_swap_div
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>
12 years agoprivately export isl_mat_cmp_div
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>
12 years agofix isl_union_map_detect_equalities memory management annotation
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>
12 years agoadd isl_map_uncurry
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>
12 years agoadd isl_union_map_subtract_domain
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>
12 years agoisl_pw_*_gist: avoid intersection of domain with context
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>
12 years agoisl_map_intersect_domain: avoid useless double reverse
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>
12 years agoisl_map_intersect_{range,domain}: stop allowing intersection with parameter set
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>
12 years agoisl_map_intersect: special case universal input
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>
12 years agoadd isl_constraint_list
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>
12 years agoadd isl_pw_multi_aff_set_pw_aff
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>
12 years agoadd isl_pw_multi_aff_identity
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>
12 years agodeclare isl_pw_multi_aff_align_params
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>
12 years agodeclare isl_basic_map_remove_divs_involving_dims
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>
12 years agoadd isl_vec_fdiv_r
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>
12 years agoadd isl_*_list_insert
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>
12 years agodeclare isl_map_fix
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>
12 years agoadd isl_basic_map_upper_bound_si
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>
12 years agoadd isl_basic_map_order_ge
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>
12 years agodeclare isl_aff_zero_basic_set
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>
12 years agoadd isl_vec_concat
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>
12 years agoisl_vec_free: return NULL
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>
12 years agoisl_map_free: return NULL
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>
12 years agoisl_basic_set_free: return NULL
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>
12 years agoisl_basic_map_free: return NULL
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>
12 years agoisl_space_free: return NULL
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>
12 years agoisl_basic_map_gauss: also set progress if a div expression has been detected
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>
12 years agoisl_tarjan_graph_init: document the order of the components in the result
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>
12 years agoisl_aff.c: document isl_aff_normalize
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>
12 years agoisl_aff.c: fix typo in comment
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>
12 years agohide internal check_help
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>
12 years agohide internal basic_map_identity
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>
12 years agoisl_map_simplify.c: remove_duplicate_divs: preserve known divs
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>
12 years agoisl_basic_map_drop_redundant_divs: don't drop divs that appear in other divs
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>
12 years agoisl_test: generalize subset test
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>
12 years agorename isl_set_dim_has_*_bound to isl_set_dim_has_any_*_bound
Sven Verdoolaege [Sun, 26 Aug 2012 13:20:53 +0000 (15:20 +0200)]
rename isl_set_dim_has_*_bound to isl_set_dim_has_any_*_bound

The original names more accurately describe functions that check
that there is a bound in each of basic sets.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agorelicense isl under the MIT license
Sven Verdoolaege [Sun, 2 Sep 2012 13:38:40 +0000 (15:38 +0200)]
relicense isl under the MIT license

Signed-off-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Andreas Kloeckner <kloeckner@cims.nyu.edu>
Signed-off-by: Todor Stefanov <stefanov@liacs.nl>
Signed-off-by: Sven van Haastregt <svhaastr@liacs.nl>
Signed-off-by: Isabelle Ryl <isabelle.ryl@inria.fr>
Signed-off-by: Mythri Alle <mythri.allel@gmail.com>
Signed-off-by: Wim De Clercq <Wim.DeClercq@lrd.kuleuven.be>
Signed-off-by: Anne Cormier <Anne.Cormier@ens.fr>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoconfigure.ac: link against same LLVM components as libclang.so
Sven Verdoolaege [Sun, 2 Sep 2012 13:33:31 +0000 (15:33 +0200)]
configure.ac: link against same LLVM components as libclang.so

Since 74e0407 (configure.ac: only link against libraries from LLVM
analysis component, Wed Jan 18 16:47:38 2012 +0100), we only link
against some components of LLVM, but the choice of which components
to include was made fairly arbitrarily.
This appeared to work, but fails do so on more recent versions of clang.
Instead, we now link against the same LLVM components as libclang.so.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoMerge branch 'maint'
Sven Verdoolaege [Sun, 2 Sep 2012 10:36:13 +0000 (12:36 +0200)]
Merge branch 'maint'

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoisl_map_intersect: fix error handling
Sven Verdoolaege [Wed, 22 Aug 2012 15:29:20 +0000 (17:29 +0200)]
isl_map_intersect: fix error handling

The original code would simply drop basic sets that resulted in errors
instead of propagating the error to the caller.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>