platform/upstream/isl.git
13 years agomerge isl_basic_set/isl_basic_map and isl_set/isl_map
Sven Verdoolaege [Wed, 26 Jan 2011 18:23:39 +0000 (19:23 +0100)]
merge isl_basic_set/isl_basic_map and isl_set/isl_map

Internally, these are essentially the same.
We do keep the distinction in the external interface.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agorename "omega" transitive closure to "box" transitive closure
Sven Verdoolaege [Wed, 26 Jan 2011 10:58:17 +0000 (11:58 +0100)]
rename "omega" transitive closure to "box" transitive closure

Calling it "omega" is confusing because it doesn't actually call
omega or even implement the same algorithm that is implemented
in omega.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoexport isl_int_obj_free
Sven Verdoolaege [Sun, 23 Jan 2011 17:40:21 +0000 (18:40 +0100)]
export isl_int_obj_free

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_pw_qpolynomial_mul_isl_int
Sven Verdoolaege [Fri, 10 Dec 2010 17:07:01 +0000 (18:07 +0100)]
add isl_union_pw_qpolynomial_mul_isl_int

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_stream_read_obj: read int objects
Sven Verdoolaege [Thu, 9 Dec 2010 18:56:31 +0000 (19:56 +0100)]
isl_stream_read_obj: read int objects

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd int objects for use in iscc
Sven Verdoolaege [Thu, 9 Dec 2010 18:06:22 +0000 (19:06 +0100)]
add int objects for use in iscc

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_basic_set_get_tuple_name
Sven Verdoolaege [Fri, 21 Jan 2011 15:19:44 +0000 (16:19 +0100)]
add isl_basic_set_get_tuple_name

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoMerge branch 'maint'
Sven Verdoolaege [Sat, 22 Jan 2011 12:22:15 +0000 (13:22 +0100)]
Merge branch 'maint'

13 years agoisl_union_map_sample: don't return NULL on empty input
Sven Verdoolaege [Sat, 22 Jan 2011 12:17:10 +0000 (13:17 +0100)]
isl_union_map_sample: don't return NULL on empty input

Throughout isl, NULL is used to mark an error return, so we shouldn't
return NULL simply because the input is empty.  Instead, we now return
an empty basic map living in a fairly arbitrary space, but that shouldn't
be a problem.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_basic_map_set_tuple_name: finalize result
Sven Verdoolaege [Fri, 21 Jan 2011 15:44:29 +0000 (16:44 +0100)]
isl_basic_map_set_tuple_name: finalize result

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_transitive_closure.c: more anonymize input map during incremental computation
Sven Verdoolaege [Thu, 20 Jan 2011 14:30:52 +0000 (15:30 +0100)]
isl_transitive_closure.c: more anonymize input map during incremental computation

This instance was missed in 5292e00 (isl_transitive_closure.c: anonymize
input map during incremental computation, Mon Aug 2 11:57:07 2010 +0200).

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_basic_set_factorizer: make sure group information gets updated
Sven Verdoolaege [Thu, 20 Jan 2011 13:42:37 +0000 (14:42 +0100)]
isl_basic_set_factorizer: make sure group information gets updated

We lazily keep track of which group a column belongs to.
The actual construction of the factors assumes the groups have been
updated, however, so we need to make sure that the group of each
column eventually gets updated.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_map_range_product
Sven Verdoolaege [Sun, 26 Dec 2010 12:12:05 +0000 (13:12 +0100)]
add isl_union_map_range_product

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agodoc: document product functions
Sven Verdoolaege [Wed, 19 Jan 2011 20:26:28 +0000 (21:26 +0100)]
doc: document product functions

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agorename isl_basic_set_product to isl_basic_set_list_product
Sven Verdoolaege [Sun, 26 Dec 2010 22:14:34 +0000 (23:14 +0100)]
rename isl_basic_set_product to isl_basic_set_list_product

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_set_convex_hull: optionally use Fourier-Motzkin based algorithm
Sven Verdoolaege [Tue, 18 Jan 2011 13:17:25 +0000 (14:17 +0100)]
isl_set_convex_hull: optionally use Fourier-Motzkin based algorithm

The Fourier-Motzkin based algorithm used to be the default but was
disabled when the wrapping based algorithm was completed in 6371ed7
(isl_map_convex_hull: handle unbounded, but pointed, case using wrapping,
Mon Apr 13 23:11:19 2009 +0200).

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_basic_set_sample_point: exploit factorization if any
Sven Verdoolaege [Sat, 15 Jan 2011 15:54:28 +0000 (16:54 +0100)]
isl_basic_set_sample_point: exploit factorization if any

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_morph_vec
Sven Verdoolaege [Sun, 16 Jan 2011 11:24:37 +0000 (12:24 +0100)]
add isl_morph_vec

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agochange prototype of isl_vec_dump
Sven Verdoolaege [Sat, 15 Jan 2011 15:52:26 +0000 (16:52 +0100)]
change prototype of isl_vec_dump

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_printer_print_vec
Sven Verdoolaege [Sat, 15 Jan 2011 15:48:36 +0000 (16:48 +0100)]
add isl_printer_print_vec

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_set_apply_union_pw_qpolynomial_fold
Sven Verdoolaege [Sat, 15 Jan 2011 09:57:36 +0000 (10:57 +0100)]
add isl_union_set_apply_union_pw_qpolynomial_fold

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoexport isl_union_map_from_domain and isl_union_map_from_range
Sven Verdoolaege [Sat, 15 Jan 2011 09:40:31 +0000 (10:40 +0100)]
export isl_union_map_from_domain and isl_union_map_from_range

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_basic_map_intersect_domain: replace open-coded isl_basic_map_from_domain
Sven Verdoolaege [Fri, 14 Jan 2011 18:15:15 +0000 (19:15 +0100)]
isl_basic_map_intersect_domain: replace open-coded isl_basic_map_from_domain

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_stream_read_map: accept modulo expressions
Sven Verdoolaege [Thu, 13 Jan 2011 15:30:24 +0000 (16:30 +0100)]
isl_stream_read_map: accept modulo expressions

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_basic_map_insert: don't simplify the result
Sven Verdoolaege [Thu, 13 Jan 2011 11:23:49 +0000 (12:23 +0100)]
isl_basic_map_insert: don't simplify the result

None of the constraints are changed in any way, so there shouldn't
be any need to call isl_basic_map_simplify.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoMerge branch 'maint'
Sven Verdoolaege [Sun, 16 Jan 2011 14:04:07 +0000 (15:04 +0100)]
Merge branch 'maint'

13 years agoisl_basic_map_from_constraint_matrices: clear newly created divs
Sven Verdoolaege [Sun, 16 Jan 2011 14:00:31 +0000 (15:00 +0100)]
isl_basic_map_from_constraint_matrices: clear newly created divs

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_token_free: free string representation of keywords
Sven Verdoolaege [Wed, 12 Jan 2011 16:27:07 +0000 (17:27 +0100)]
isl_token_free: free string representation of keywords

This should have been part of ab6eaa2 (isl_stream_next_token: keep track
of string representation of keywords, Thu Dec 23 15:32:27 2010 +0100).

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_input.c: read_factor: drop unexpected identifier
Sven Verdoolaege [Wed, 12 Jan 2011 16:06:49 +0000 (17:06 +0100)]
isl_input.c: read_factor: drop unexpected identifier

We need to keep the internal state consistent, even if we get unexpected input.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_input.c: accept_affine_factor: avoid double free on invalid input
Sven Verdoolaege [Tue, 11 Jan 2011 23:43:20 +0000 (00:43 +0100)]
isl_input.c: accept_affine_factor: avoid double free on invalid input

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoAdd isl_union_(set/map)_detect_equalities
Tobias Grosser [Fri, 7 Jan 2011 22:45:03 +0000 (17:45 -0500)]
Add isl_union_(set/map)_detect_equalities

Document also all *_detect_equalities functions.

Signed-off-by: Tobias Grosser <grosser@fim.uni-passau.de>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_stream_read_map: allow space names that happen to be keywords
Sven Verdoolaege [Thu, 23 Dec 2010 14:33:26 +0000 (15:33 +0100)]
isl_stream_read_map: allow space names that happen to be keywords

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_stream_next_token: keep track of string representation of keywords
Sven Verdoolaege [Thu, 23 Dec 2010 14:32:27 +0000 (15:32 +0100)]
isl_stream_next_token: keep track of string representation of keywords

This allows us to print a more meaningful error message when a keyword
is used in an unexpected place.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_basic_set_flatten
Sven Verdoolaege [Mon, 3 Jan 2011 12:05:10 +0000 (13:05 +0100)]
add isl_basic_set_flatten

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_map_simple_hull
Sven Verdoolaege [Mon, 3 Jan 2011 11:08:40 +0000 (12:08 +0100)]
add isl_union_map_simple_hull

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoMerge branch 'maint'
Sven Verdoolaege [Fri, 7 Jan 2011 15:04:56 +0000 (16:04 +0100)]
Merge branch 'maint'

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_set_remove_unknown_divs
Sven Verdoolaege [Sun, 2 Jan 2011 14:12:20 +0000 (15:12 +0100)]
add isl_set_remove_unknown_divs

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_map_is_subset: don't compute divs of minuend
Sven Verdoolaege [Sat, 1 Jan 2011 11:09:01 +0000 (12:09 +0100)]
isl_map_is_subset: don't compute divs of minuend

The knowns divs of the minuend can be exploited, but only those
of the subtrahend are essential for the implementation.
Since the computation of divs can be expensive and since they
are just thrown away afterwards, it's probably best not to compute
the divs of the minuend explicitly.

In principle, isl_map_subtract could be changed in a similar way,
but there the divs are actually visible in the result, so it may
be worth it to compute them.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agorename isl_map_is_singleton to isl_map_fast_is_singleton
Sven Verdoolaege [Sat, 1 Jan 2011 09:48:08 +0000 (10:48 +0100)]
rename isl_map_is_singleton to isl_map_fast_is_singleton

The function is only meant to detect obvious cases.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_map_fast_is_single_valued
Sven Verdoolaege [Sat, 1 Jan 2011 09:44:18 +0000 (10:44 +0100)]
add isl_map_fast_is_single_valued

This is mainly meant to deal with the easy cases in isl_map_is_single_valued.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_qpolynomial_dump
Sven Verdoolaege [Mon, 3 Jan 2011 11:53:55 +0000 (12:53 +0100)]
add isl_qpolynomial_dump

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoexport isl_union_set_dump
Sven Verdoolaege [Thu, 30 Dec 2010 15:19:18 +0000 (16:19 +0100)]
export isl_union_set_dump

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_qpolynomial_add_on_domain: compute gist with respect to domain
Sven Verdoolaege [Tue, 28 Dec 2010 17:36:34 +0000 (18:36 +0100)]
isl_qpolynomial_add_on_domain: compute gist with respect to domain

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_union_map_coalesce and isl_union_map_compute_divs: properly handle errors
Sven Verdoolaege [Thu, 6 Jan 2011 19:56:26 +0000 (20:56 +0100)]
isl_union_map_coalesce and isl_union_map_compute_divs: properly handle errors

Since we are modifying a union_map that may be used elsewhere,
we need to make sure to not invalidate part of it.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_basic_map_solve_lp: use denominator
Sven Verdoolaege [Sun, 26 Dec 2010 13:37:00 +0000 (14:37 +0100)]
isl_basic_map_solve_lp: use denominator

Before, the denominator would simply be ignored and denominator one
was used instead.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoMerge commit 'isl-0.05.1'
Sven Verdoolaege [Wed, 5 Jan 2011 09:26:32 +0000 (10:26 +0100)]
Merge commit 'isl-0.05.1'

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl 0.05.1 isl-0.05.1
Sven Verdoolaege [Wed, 5 Jan 2011 09:23:11 +0000 (10:23 +0100)]
isl 0.05.1

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_tab_basic_map_partial_lexopt: fix up symmetry detection
Sven Verdoolaege [Wed, 5 Jan 2011 08:50:28 +0000 (09:50 +0100)]
isl_tab_basic_map_partial_lexopt: fix up symmetry detection

The symmetry detection of a41dca9 (isl_tab_basic_map_partial_lexopt:
detect and exploit simple symmetries, Mon Dec 13 16:45:44 2010 +0100)
was a bit too eager in that it would also detect symmetries on affine
expressions involving existentially quantified variables.
Those variables are only available in the input and therefore the
mechanism for exploiting symmetries does not work on them, leading
to incorrect results.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_basic_map_universe: finalize result
Sven Verdoolaege [Sun, 26 Dec 2010 21:42:41 +0000 (22:42 +0100)]
isl_basic_map_universe: finalize result

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_seq.h: allow inclusion from C++
Sven Verdoolaege [Sun, 26 Dec 2010 15:55:11 +0000 (16:55 +0100)]
isl_seq.h: allow inclusion from C++

13 years agoAdd GDB module that defines an islprint command
Tobias Grosser [Thu, 30 Dec 2010 20:12:21 +0000 (15:12 -0500)]
Add GDB module that defines an islprint command

Add a python library that is installed next to libisl. GDB will automatically
load it and add a new gdbcommand called "islprint". This command can be used to
prettyprint isl values. It does not install an official pretty printer, as such
a printer will also pretty print stacktraces which may reference values already
freed.

Before:
(gdb) print stride
$1 = (isl_set *) 0x122e6c0

Now also possible:
(gdb) islprint stride
$1 = "{ MemRef_A[1] }"
(gdb) is stride
$1 = "{ MemRef_A[1] }"

Signed-off-by: Tobias Grosser <grosser@fim.uni-passau.de>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoreimplement isl_map_partial_lexopt
Sven Verdoolaege [Thu, 30 Dec 2010 14:02:30 +0000 (15:02 +0100)]
reimplement isl_map_partial_lexopt

In case of a map that is a union of more than one basic map,
the old implementation would look for solutions of later basic
maps in those pieces of the domain where earlier basic maps
have no solutions.  This could lead to the domain being broken
up into many small pieces, sometimes dramatically so.
The new implementation tries to avoid some of this splintering
by computing solutions for each basic map separately and then
combining the results.

In the reported case, the map was actually single-valued, so
instead we could have also detected this special case and just
returned the input or we could have tried to make the parametric
integer programming integer return a more compact result,
but the new implementation is more general that the first option
and easier than the second option.

Reported-by: Tobias Grosser <grosser@fim.uni-passau.de>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_map: fix typos in comments
Sven Verdoolaege [Thu, 30 Dec 2010 14:08:09 +0000 (15:08 +0100)]
isl_map: fix typos in comments

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd some more isl_map_lexmin tests
Sven Verdoolaege [Thu, 30 Dec 2010 12:47:49 +0000 (13:47 +0100)]
add some more isl_map_lexmin tests

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_qpolynomial_add_isl_int
Sven Verdoolaege [Mon, 27 Dec 2010 20:30:36 +0000 (21:30 +0100)]
add isl_qpolynomial_add_isl_int

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_pw_qpolynomial_fold_dump
Sven Verdoolaege [Tue, 28 Dec 2010 09:53:06 +0000 (10:53 +0100)]
add isl_pw_qpolynomial_fold_dump

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_pw_qpolynomial_dump
Sven Verdoolaege [Tue, 28 Dec 2010 09:49:54 +0000 (10:49 +0100)]
add isl_pw_qpolynomial_dump

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_qpolynomial_fold_dump
Sven Verdoolaege [Mon, 27 Dec 2010 19:06:01 +0000 (20:06 +0100)]
add isl_qpolynomial_fold_dump

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_qpolynomial_fold_get_ctx
Sven Verdoolaege [Mon, 27 Dec 2010 19:03:37 +0000 (20:03 +0100)]
add isl_qpolynomial_fold_get_ctx

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_printer_print_qpolynomial_fold: support C format
Sven Verdoolaege [Mon, 27 Dec 2010 22:03:53 +0000 (23:03 +0100)]
isl_printer_print_qpolynomial_fold: support C format

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoexport isl_printer_print_qpolynomial_fold
Sven Verdoolaege [Mon, 27 Dec 2010 19:04:52 +0000 (20:04 +0100)]
export isl_printer_print_qpolynomial_fold

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoexport isl_union_map_dump
Sven Verdoolaege [Tue, 28 Dec 2010 11:25:21 +0000 (12:25 +0100)]
export isl_union_map_dump

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_{set,map}_dump
Sven Verdoolaege [Tue, 28 Dec 2010 17:18:35 +0000 (18:18 +0100)]
add isl_{set,map}_dump

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_basic_{set,map}_dump
Sven Verdoolaege [Mon, 27 Dec 2010 18:36:38 +0000 (19:36 +0100)]
add isl_basic_{set,map}_dump

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_printer_print_basic_{set,map}: don't print newline in isl format
Sven Verdoolaege [Mon, 27 Dec 2010 18:35:56 +0000 (19:35 +0100)]
isl_printer_print_basic_{set,map}: don't print newline in isl format

The other printing functions don't print a newline either.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agorename isl_*_dump to isl_*_print_internal
Sven Verdoolaege [Mon, 27 Dec 2010 18:31:58 +0000 (19:31 +0100)]
rename isl_*_dump to isl_*_print_internal

We want to reuse the isl_*_dump names for other functions.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agomake isl/point.h self-contained
Sven Verdoolaege [Mon, 27 Dec 2010 16:01:43 +0000 (17:01 +0100)]
make isl/point.h self-contained

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl 0.05 isl-0.05
Sven Verdoolaege [Thu, 23 Dec 2010 16:17:27 +0000 (17:17 +0100)]
isl 0.05

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_printer_print_basic_map: plug memory leak on error path
Sven Verdoolaege [Wed, 22 Dec 2010 17:45:47 +0000 (18:45 +0100)]
isl_printer_print_basic_map: plug memory leak on error path

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_dim_set_name: plug memory leak when overwriting name
Sven Verdoolaege [Wed, 22 Dec 2010 15:22:54 +0000 (16:22 +0100)]
isl_dim_set_name: plug memory leak when overwriting name

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_tab_basic_map_partial_lexopt: detect and exploit simple symmetries
Sven Verdoolaege [Mon, 13 Dec 2010 15:45:44 +0000 (16:45 +0100)]
isl_tab_basic_map_partial_lexopt: detect and exploit simple symmetries

In particular, if there are several constraints with the same coefficients
for the variables, then replace them by a single constraint with a new
parameter for the "constant" part representing their minimum.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_tab_pip.c: fix typos in comments
Sven Verdoolaege [Sat, 18 Dec 2010 09:22:32 +0000 (10:22 +0100)]
isl_tab_pip.c: fix typos in comments

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_pip: limit the total number of parameter values to test
Sven Verdoolaege [Fri, 17 Dec 2010 11:05:54 +0000 (12:05 +0100)]
isl_pip: limit the total number of parameter values to test

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_basic_set_count_upto
Sven Verdoolaege [Fri, 17 Dec 2010 10:58:35 +0000 (11:58 +0100)]
add isl_basic_set_count_upto

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_scan.c: fix typo in comment
Sven Verdoolaege [Fri, 17 Dec 2010 10:54:42 +0000 (11:54 +0100)]
isl_scan.c: fix typo in comment

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoDo not hash the memory address of an isl_name
Tobias Grosser [Fri, 17 Dec 2010 16:05:10 +0000 (11:05 -0500)]
Do not hash the memory address of an isl_name

Hash the name string itself. This gives repeatable results on all platforms and will
therefore facilitate debugging.

Signed-off-by: Tobias Grosser <grosser@fim.uni-passau.de>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_flow.c: fix typos in comments
Sven Verdoolaege [Wed, 15 Dec 2010 18:30:30 +0000 (19:30 +0100)]
isl_flow.c: fix typos in comments

Reported-by: Tobias Grosser <grosser@fim.uni-passau.de>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_union_map_compute_flow: exploit fixed dimensions in the schedule
Sven Verdoolaege [Wed, 15 Dec 2010 14:44:33 +0000 (15:44 +0100)]
isl_union_map_compute_flow: exploit fixed dimensions in the schedule

isl_access_info_compute_flow tries to optimize the order in which
potential sources are considered, but before this patch, we wouldn't
give it any useful information, so the order ended up being fairly
arbitrary.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_union_map_compute_flow: avoid dependence on pointer values
Sven Verdoolaege [Wed, 15 Dec 2010 12:08:31 +0000 (13:08 +0100)]
isl_union_map_compute_flow: avoid dependence on pointer values

Before, we would determine a fictious order between sources
based on pointer values.  Since these pointer values may depend
on the history and, on some systems, even on each run, this
could lead to unpredictable results.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agodataflow analysis: allow absence of "textual" order during sorting of sources
Sven Verdoolaege [Wed, 15 Dec 2010 11:55:25 +0000 (12:55 +0100)]
dataflow analysis: allow absence of "textual" order during sorting of sources

When sorting the potential sources, we would implicitly assume
that for any given pair of sources, one always appears before the other
at a certain level.  However, for more generic schedules, this may
not necessarily be the case.

To avoid that the results would depend on the order that the accesses
are given in case accesses overlap, we extend the partial order to
a (nearly) total order by taking into account the description of the
sources.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_map_get_hash
Sven Verdoolaege [Wed, 15 Dec 2010 11:44:48 +0000 (12:44 +0100)]
add isl_map_get_hash

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agobasic_map_read_polylib: add more sanity checks
Sven Verdoolaege [Thu, 9 Dec 2010 17:46:17 +0000 (18:46 +0100)]
basic_map_read_polylib: add more sanity checks

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_pip: preserve names of parameters in input context
Sven Verdoolaege [Mon, 13 Dec 2010 15:19:50 +0000 (16:19 +0100)]
isl_pip: preserve names of parameters in input context

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_tab_basic_map_partial_lexopt: avoid memory leak on error path
Sven Verdoolaege [Mon, 13 Dec 2010 15:00:53 +0000 (16:00 +0100)]
isl_tab_basic_map_partial_lexopt: avoid memory leak on error path

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_pw_qpolynomial_fold_bound: avoid access to freed memory
Sven Verdoolaege [Sat, 11 Dec 2010 18:56:50 +0000 (19:56 +0100)]
isl_pw_qpolynomial_fold_bound: avoid access to freed memory

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_basic_set_lift: properly update the number of extra variables
Sven Verdoolaege [Tue, 7 Dec 2010 09:36:51 +0000 (10:36 +0100)]
isl_basic_set_lift: properly update the number of extra variables

Updating this number is essential for maintaining a proper internal state.

Reported-by: Tobias Grosser <grosser@fim.uni-passau.de>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agodoc: emphasize the need for isl_int_get_gmp and isl_int_set_gmp
Sven Verdoolaege [Sat, 4 Dec 2010 13:47:36 +0000 (14:47 +0100)]
doc: emphasize the need for isl_int_get_gmp and isl_int_set_gmp

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_qpolynomial_div: further normalize divs by reducing coefficients
Sven Verdoolaege [Thu, 2 Dec 2010 14:38:01 +0000 (15:38 +0100)]
isl_qpolynomial_div: further normalize divs by reducing coefficients

This reduces the number of distinct divs that can appear inside
a quasi-polynomial description.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_stream_read_pw_qpolynomial: accept powers on compound expressions
Sven Verdoolaege [Thu, 2 Dec 2010 15:41:49 +0000 (16:41 +0100)]
isl_stream_read_pw_qpolynomial: accept powers on compound expressions

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_qpolynomial_pow
Sven Verdoolaege [Thu, 2 Dec 2010 15:40:13 +0000 (16:40 +0100)]
add isl_qpolynomial_pow

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_qpolynomial: properly merge identical nested divs
Sven Verdoolaege [Thu, 2 Dec 2010 16:56:09 +0000 (17:56 +0100)]
isl_qpolynomial: properly merge identical nested divs

When sort_divs encounters two identical that appear nested
inside some other div, it would simply drop one of the identical
divs, instead of summing the coefficients of both divs.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_mat_col_add
Sven Verdoolaege [Thu, 2 Dec 2010 16:46:22 +0000 (17:46 +0100)]
add isl_mat_col_add

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoavoid using isl_basic_set and isl_basic_map internals in piplib dependent code
Sven Verdoolaege [Tue, 7 Dec 2010 09:34:58 +0000 (10:34 +0100)]
avoid using isl_basic_set and isl_basic_map internals in piplib dependent code

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agohide isl_map internals
Sven Verdoolaege [Wed, 1 Dec 2010 15:12:19 +0000 (16:12 +0100)]
hide isl_map internals

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agohide isl_set internals
Sven Verdoolaege [Tue, 30 Nov 2010 15:32:04 +0000 (16:32 +0100)]
hide isl_set internals

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agohide isl_basic_map internals
Sven Verdoolaege [Tue, 30 Nov 2010 14:30:54 +0000 (15:30 +0100)]
hide isl_basic_map internals

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agohide isl_basic_set internals
Sven Verdoolaege [Tue, 30 Nov 2010 13:53:13 +0000 (14:53 +0100)]
hide isl_basic_set internals

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_basic_set_{in,}equalities_matrix
Sven Verdoolaege [Sat, 27 Nov 2010 15:13:49 +0000 (16:13 +0100)]
add isl_basic_set_{in,}equalities_matrix

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_arg_parse: support footer
Sven Verdoolaege [Sun, 21 Nov 2010 09:09:05 +0000 (10:09 +0100)]
isl_arg_parse: support footer

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_arg_parse: avoid duplicate newline in help output
Sven Verdoolaege [Mon, 15 Nov 2010 22:28:07 +0000 (23:28 +0100)]
isl_arg_parse: avoid duplicate newline in help output

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