Sven Verdoolaege [Mon, 9 Aug 2010 12:08:30 +0000 (14:08 +0200)]
add isl_set_get_ctx
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Uday Kumar Reddy [Sun, 8 Aug 2010 15:14:39 +0000 (11:14 -0400)]
update .gitignore
Sven Verdoolaege [Sat, 7 Aug 2010 15:43:03 +0000 (17:43 +0200)]
isl_printer_print_map: fix printing in latex format
It was broken by e094707 (isl_output.c: extract out common print_dim).
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 6 Aug 2010 13:25:01 +0000 (15:25 +0200)]
isl_set_wrap_facet: normalize resulting facet constraint
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 6 Aug 2010 13:24:32 +0000 (15:24 +0200)]
isl_coalesce.c: fix typo in comment
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 6 Aug 2010 09:34:26 +0000 (11:34 +0200)]
isl_pw_qpolynomial_intersect_domain: simplify polynomials using equalities
We now use any equalities we find in the intersected domain.
Perhaps we should check if the intersection had any effect
on the equalities first.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 6 Aug 2010 10:28:04 +0000 (12:28 +0200)]
isl_qpolynomial_move_dims: plug memory leak and fix reordering of divs
In particular, when divs got reordered, the new order would not
be reflected in the associated upoly.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 6 Aug 2010 09:46:33 +0000 (11:46 +0200)]
add isl_pw_qpolynomial_read_from_str
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 5 Aug 2010 18:10:12 +0000 (20:10 +0200)]
add isl_qpolynomial_fold_substitute
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 5 Aug 2010 18:01:08 +0000 (20:01 +0200)]
isl_pw_qpolynomial_intersect_domain: drop pieces that end up having empty domain
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 3 Aug 2010 12:46:48 +0000 (14:46 +0200)]
isl_map_product: used nested spaces in result
That is, the product of A -> B and C -> D now has dimension
[A -> C] -> [B -> D]. This allows us to keep all information
about the spaces A, B, C, D, including their names and any
prior nestings.
Since it sometimes also useful to have concatenated spaces in the result,
we also introduct isl_map_flat_product, which produces what isl_map_product
used to produce.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 4 Aug 2010 19:52:34 +0000 (21:52 +0200)]
isl_pw_qpolynomial_bound: handle isl_pw_qpolynomials with wrapped domains
In particular, compute a bound over the range of the wrapped relation,
instead of over the entire relation.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 2 Aug 2010 14:56:35 +0000 (16:56 +0200)]
support nested isl_dims
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 5 Aug 2010 14:10:41 +0000 (16:10 +0200)]
doc: fix typo
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 4 Aug 2010 13:58:10 +0000 (15:58 +0200)]
export isl_dim_tuple_match
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 3 Aug 2010 11:08:44 +0000 (13:08 +0200)]
isl_output.c: extract out common print_dim
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 3 Aug 2010 07:47:38 +0000 (09:47 +0200)]
isl_input.c: read_tuple: construct isl_dim instead of isl_basic_map
Since the tuples may contain affine expressions in terms of earlier
dimensions, it made sense to collect both the dimension information
and the possible equalities in a single object, i.e., an isl_basic_map.
However, when we introduce nested dimension specifications, we will
want to construct isl_dims recursively and then it makes more sense
to construct operate on isl_dims and to collect the equalities
in a separate data structure.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 5 Aug 2010 10:57:04 +0000 (12:57 +0200)]
doc: remove description of how to get the piplib submodule
The submodule was actually removed way back in 309036c (add copyright
statements).
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 4 Aug 2010 19:41:19 +0000 (21:41 +0200)]
isl_printer_print_pw_qpolynomial_fold: print dim as set instead of map
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 4 Aug 2010 13:52:25 +0000 (15:52 +0200)]
add isl_pw_qpolynomial_insert_dims
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 4 Aug 2010 13:52:06 +0000 (15:52 +0200)]
add isl_set_insert
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 4 Aug 2010 13:22:57 +0000 (15:22 +0200)]
add isl_basic_map_image_is_bounded
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 4 Aug 2010 10:52:52 +0000 (12:52 +0200)]
avoid NULL pointer exception in isl_basic_map_n_*
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 3 Aug 2010 15:36:28 +0000 (17:36 +0200)]
fix isl_pw_qpolynomial_reset_dim
The original implementation would only reset the dims of
the domains and not of the quasi-polynomials.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 3 Aug 2010 09:47:16 +0000 (11:47 +0200)]
add isl_mat_add_rows
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 3 Aug 2010 09:43:34 +0000 (11:43 +0200)]
add isl_mat_add_zero_cols
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 3 Aug 2010 13:42:01 +0000 (15:42 +0200)]
export isl_basic_map_move_dims
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 2 Aug 2010 14:15:09 +0000 (16:15 +0200)]
hide isl_dim internals
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 2 Aug 2010 14:08:27 +0000 (16:08 +0200)]
add isl_dim_get_ctx
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 2 Aug 2010 13:19:56 +0000 (15:19 +0200)]
isl_basic_map_reset_dim: finalize result
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 2 Aug 2010 09:57:07 +0000 (11:57 +0200)]
isl_transitive_closure.c: anonymize input map during incremental computation
Most other operations inside the transitive closure computation
implicitly drop the tuple names, so we have to drop them explicitly
here for the maps to remain compatible.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 2 Aug 2010 09:52:42 +0000 (11:52 +0200)]
isl_transitive_closure.c: keep track of domains for Floyd-Warshall
When applying Floyd-Warshall to an isl_map, we don't care about
the domains anymore after we have grouped them.
However, when applying Floyd-Warshall to an isl_union_map, we
use the domains do initialize the grid with maps of the right
dimension. We therefore need to order the domains according
to the group number so that the calling function has a chance
to find them.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 2 Aug 2010 09:49:29 +0000 (11:49 +0200)]
isl_dim_drop: always remove tuple name, even if number of dims to drop is zero
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 2 Aug 2010 09:48:54 +0000 (11:48 +0200)]
isl_dim_set_tuple_name: allow explicit removal of tuple name
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 25 Jul 2010 11:55:05 +0000 (13:55 +0200)]
add support for union sets and relations
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 30 Jul 2010 18:26:45 +0000 (20:26 +0200)]
isl_transitive_closure.c: extract out some reusable code
In particular, the code will also be useful for computing transitive
closures of union maps.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 29 Jul 2010 14:24:24 +0000 (16:24 +0200)]
add isl_pw_qpolynomial_reset_dim
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 25 Jul 2010 10:42:35 +0000 (12:42 +0200)]
add isl_map_has_equal_dim
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 25 Jul 2010 09:04:53 +0000 (11:04 +0200)]
add isl_dim_get_hash
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 17 Jul 2010 08:29:15 +0000 (10:29 +0200)]
isl_dim: allow specification of tuple names
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 28 Jul 2010 09:57:53 +0000 (11:57 +0200)]
isl_map_from_domain_and_range: implement in terms of isl_map_apply_range
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 17 Jul 2010 16:33:59 +0000 (18:33 +0200)]
isl_basic_map_domain: properly set dimension of result
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 29 Jul 2010 14:18:28 +0000 (16:18 +0200)]
privately export isl_set_reset_dim and isl_map_reset_dim
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 17 Jul 2010 08:45:51 +0000 (10:45 +0200)]
isl_map_read: extract out read_var_def
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 26 Jul 2010 21:05:32 +0000 (23:05 +0200)]
isl_hash_table_foreach: pass pointer to entry data
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 25 Jul 2010 09:34:55 +0000 (11:34 +0200)]
isl_hash_table_foreach: add user argument
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 30 Jul 2010 17:44:01 +0000 (19:44 +0200)]
isl_transitive_closure.c: fix double free on error path
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 29 Jul 2010 12:46:01 +0000 (14:46 +0200)]
isl_map_gist: use simple hull instead of convex hull
isl is still not very good at computing convex hulls.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 28 Jul 2010 09:18:43 +0000 (11:18 +0200)]
isl_map.c: fix typo
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 27 Jul 2010 14:11:01 +0000 (16:11 +0200)]
isl_cat: read generic objects
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 27 Jul 2010 14:10:50 +0000 (16:10 +0200)]
isl_printer: add NULL checks
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 25 Jul 2010 19:19:08 +0000 (21:19 +0200)]
make isl_obj_none a constant expression
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 25 Jul 2010 18:17:41 +0000 (20:17 +0200)]
add isl_map_get_ctx
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 25 Jul 2010 12:05:00 +0000 (14:05 +0200)]
isl_map_fast_is_universe: also detect redundant representations of the universe
During printing, we don't want to print any constraints if the given
map contains the universe.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 22 Jul 2010 11:30:34 +0000 (13:30 +0200)]
add isl_map_reaching_path_lengths
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 22 Jul 2010 10:26:20 +0000 (12:26 +0200)]
isl_map_power: delay equating path lengths to power parameter
It doesn't make sense for the isl_map_transitive_closure caller
to have to specify a dummy parameter.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 22 Jul 2010 09:51:17 +0000 (11:51 +0200)]
isl_map_power: apply Floyd-Warshall to compute powers as well
Before, Floyd-Warshall was only applied to compute transitive closure.
However, the power is essentially a transitive closure on an extended
relation, so we simply need to perform the nested call on such extended
relations.
In principle, we should be able to apply the incremental computation
to the power too, but changing the nested calls is a bit more tricky.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 24 Jul 2010 10:13:04 +0000 (12:13 +0200)]
isl_map_lexmax: produce less cryptic error message when result is unbounded
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 23 Jul 2010 19:26:24 +0000 (21:26 +0200)]
fix isl_basic_map_move_dims in presence of existentially quantified variables
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 23 Jul 2010 19:17:39 +0000 (21:17 +0200)]
isl_test: drop debugging output
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 22 Jul 2010 09:59:27 +0000 (11:59 +0200)]
isl_transitive_closure.c: fix typo in comment
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 23 Jul 2010 11:51:33 +0000 (13:51 +0200)]
fix isl_map_lex_ge and isl_map_lex_le in the zero-dimensional case
The first zero dimensions are always equal, so these functions
should return a universe map in the zero-dimensional case rather
than an empty map.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 14 Jul 2010 13:51:09 +0000 (15:51 +0200)]
isl_printer_print_map: replace variable by its definition in tuple
In particular, if a variable is equal to an integer affine combination
of parameters and earlier variables, then print the affine combination
instead of the name of the variable.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 14 Jul 2010 12:18:31 +0000 (14:18 +0200)]
privately export isl_basic_map_fast_cmp and isl_basic_map_fast_is_equal
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 14 Jul 2010 10:48:39 +0000 (12:48 +0200)]
isl_dim_set_name: don't accept names that look like numbers
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Tobias Grosser [Sat, 10 Jul 2010 09:06:10 +0000 (11:06 +0200)]
Remove comma at the end of enumeration
This is invalid in C89. Some compilers warn or fail if they are set to
strict compilation options.
Signed-off-by: Tobias Grosser <grosser@fim.uni-passau.de>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 5 Jul 2010 08:00:56 +0000 (10:00 +0200)]
isl_convex_hull.c: avoid side-effects in calls to isl_int_* macros
Sven Verdoolaege [Sun, 4 Jul 2010 19:28:03 +0000 (21:28 +0200)]
add isl_hash_builtin
Sven Verdoolaege [Sun, 4 Jul 2010 12:36:25 +0000 (14:36 +0200)]
add isl_int_get_str
Sven Verdoolaege [Fri, 2 Jul 2010 13:33:30 +0000 (15:33 +0200)]
doc: fix some typos
Sven Verdoolaege [Tue, 29 Jun 2010 10:37:38 +0000 (12:37 +0200)]
isl 0.03
Sven Verdoolaege [Tue, 29 Jun 2010 11:16:15 +0000 (13:16 +0200)]
Makefile.am: really include include/isl_vertices.h
Sven Verdoolaege [Fri, 11 Jun 2010 20:03:32 +0000 (22:03 +0200)]
add isl_map_is_bijective
Tests cases from Tomofumi Yuki <tomofumi.yuki@gmail.com>
Sven Verdoolaege [Mon, 28 Jun 2010 14:35:01 +0000 (16:35 +0200)]
doc: fix typo
Sven Verdoolaege [Mon, 28 Jun 2010 10:35:54 +0000 (12:35 +0200)]
doc: drop duplicate booktitle from Kelly1996closure bib entry
Sven Verdoolaege [Mon, 28 Jun 2010 08:00:49 +0000 (10:00 +0200)]
doc: use more explicit notation to avoid confusion
Sven Verdoolaege [Sun, 27 Jun 2010 18:35:45 +0000 (20:35 +0200)]
add isl_constraint_is_div_constraint
Sven Verdoolaege [Sun, 27 Jun 2010 18:35:29 +0000 (20:35 +0200)]
isl_map_simplify.c: separate out isl_basic_map_is_div_constraint
Sven Verdoolaege [Sun, 27 Jun 2010 17:00:35 +0000 (19:00 +0200)]
isl_basic_map_from_constraint: keep all divs, even redundant ones
When this function is called by CLooG, it assumes that the position
of the divs will remain the same. If the redundant divs are removed,
then this may not be the case.
We should probably try to come up with a more robust interface.
Sven Verdoolaege [Sun, 27 Jun 2010 16:50:23 +0000 (18:50 +0200)]
isl_basic_map_from_constraint: only return copy of bmap on equality constraints
Commit b39d157 (isl_basic_map_from_constraint: return copy of bmap in
constraint if possible) changed isl_basic_map_from_constraint to return
a copy when this bmap consists of a single constraint in order to handle
the case where a new constraint is created with unknown existentially
quantified variables. However, if the divs _are_ known, then the div
definition is simply thrown away. If the single constraint is an equality,
then it may be possible to recover the definition, but if it is an inequality,
then this is not possible and in fact it does not make sense to have unknown divs.
Therefore, only return a copy on equality constraints.
Sven Verdoolaege [Sun, 27 Jun 2010 16:43:55 +0000 (18:43 +0200)]
isl_constraint_add_div: correctly set line to first and only constraint
When isl_constraint_add_div was introduced in 3fcebd4 (isl_constraint:
add limited support for adding divs), the equalities were still placed
before the inequalities in the constraint matrix.
This changed in 9eb1488 (isl_basic_map: put inequalities before equalities),
but the implementation of isl_constraint_add_div was not adapted accordingly.
This has probably gone unnoticed because isl_constraint_add_div has only
been used on equality constraints.
Sven Verdoolaege [Sun, 27 Jun 2010 08:58:36 +0000 (10:58 +0200)]
isl_pip: rename pip_options to avoid conflict with PipLib's pip_options_free
Sven Verdoolaege [Sat, 26 Jun 2010 16:24:27 +0000 (18:24 +0200)]
isl_convex_hull.c: initial_facet_constraint: fix error handling
Sven Verdoolaege [Sat, 26 Jun 2010 16:23:15 +0000 (18:23 +0200)]
doc: describe backward incompatible changes
Sven Verdoolaege [Sat, 26 Jun 2010 16:11:49 +0000 (18:11 +0200)]
doc: mention discussion group
Sven Verdoolaege [Sat, 26 Jun 2010 15:34:32 +0000 (17:34 +0200)]
rename isl_basic_map_convex_hull to isl_basic_map_remove_redundancies
Sven Verdoolaege [Sat, 26 Jun 2010 14:08:08 +0000 (16:08 +0200)]
isl_affine_hull.c: outside_point: fix error handling
Sven Verdoolaege [Sat, 26 Jun 2010 13:02:37 +0000 (15:02 +0200)]
isl_tab_rollback: avoid double free on error path
Sven Verdoolaege [Sat, 26 Jun 2010 10:42:17 +0000 (12:42 +0200)]
isl_tab.c: tab_mat_product: avoid NULL pointer dereference
Sven Verdoolaege [Sat, 26 Jun 2010 10:40:27 +0000 (12:40 +0200)]
isl_tab_extend_cons: avoid NULL pointer dereference
Sven Verdoolaege [Sat, 26 Jun 2010 10:38:28 +0000 (12:38 +0200)]
implement antiquated isl_basic_set_n_* in terms of isl_basic_set_dim
Sven Verdoolaege [Sat, 26 Jun 2010 10:14:56 +0000 (12:14 +0200)]
isl_map_convex_hull: avoid NULL pointer dereference
Sven Verdoolaege [Sat, 26 Jun 2010 09:56:56 +0000 (11:56 +0200)]
isl_tab_add_valid_eq: return int instead of isl_tab *
Sven Verdoolaege [Sat, 26 Jun 2010 09:51:08 +0000 (11:51 +0200)]
isl_affine_hull.c: affine_hull_with_cone: avoid NULL pointer dereference
Sven Verdoolaege [Sat, 26 Jun 2010 09:45:44 +0000 (11:45 +0200)]
isl_equalities.c: parameter_compression_multi: avoid NULL pointer dereference
Sven Verdoolaege [Sat, 26 Jun 2010 09:41:56 +0000 (11:41 +0200)]
isl_basic_map_project_out: avoid NULL pointer dereference
Sven Verdoolaege [Sat, 26 Jun 2010 09:38:22 +0000 (11:38 +0200)]
isl_coalesce.c: coalesce_pair: avoid NULL pointer dereference
Sven Verdoolaege [Sat, 26 Jun 2010 09:35:44 +0000 (11:35 +0200)]
isl_convex_hull.c: extend: fix error handling
Sven Verdoolaege [Sat, 26 Jun 2010 09:33:48 +0000 (11:33 +0200)]
implement antiquated isl_set_n_* in terms of isl_set_dim
Sven Verdoolaege [Sat, 26 Jun 2010 09:29:36 +0000 (11:29 +0200)]
isl_map_simplify.c: normalize_divs: avoid NULL pointer dereference