platform/upstream/isl.git
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>
13 years agoisl_arg_parse: support grouping of options within the same structure
Sven Verdoolaege [Mon, 15 Nov 2010 22:25:03 +0000 (23:25 +0100)]
isl_arg_parse: support grouping of options within the same structure

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_arg_parse: support int options
Sven Verdoolaege [Fri, 12 Nov 2010 16:09:53 +0000 (17:09 +0100)]
isl_arg_parse: support int options

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_arg_parse: support ISL_ARG_HIDDEN flag
Sven Verdoolaege [Sun, 21 Nov 2010 11:00:40 +0000 (12:00 +0100)]
isl_arg_parse: support ISL_ARG_HIDDEN flag

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_arg_parse: support ISL_ARG_BOOL_ARG flag
Sven Verdoolaege [Sat, 13 Nov 2010 14:51:23 +0000 (15:51 +0100)]
isl_arg_parse: support ISL_ARG_BOOL_ARG flag

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_arg_parse: support ISL_ARG_SINGLE_DASH flag
Sven Verdoolaege [Sat, 13 Nov 2010 14:24:31 +0000 (15:24 +0100)]
isl_arg_parse: support ISL_ARG_SINGLE_DASH flag

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_arg_parse: support aliases
Sven Verdoolaege [Fri, 12 Nov 2010 15:55:41 +0000 (16:55 +0100)]
isl_arg_parse: support aliases

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_arg_parse: always print help option
Sven Verdoolaege [Mon, 15 Nov 2010 22:07:24 +0000 (23:07 +0100)]
isl_arg_parse: always print help option

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_arg_parse: support phantom boolean options
Sven Verdoolaege [Mon, 15 Nov 2010 22:06:53 +0000 (23:06 +0100)]
isl_arg_parse: support phantom boolean options

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_arg_parse: free string arguments before overwriting them
Sven Verdoolaege [Mon, 22 Nov 2010 11:43:08 +0000 (12:43 +0100)]
isl_arg_parse: free string arguments before overwriting them

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_arg_parse: allow options after arguments
Sven Verdoolaege [Sun, 21 Nov 2010 08:42:13 +0000 (09:42 +0100)]
isl_arg_parse: allow options after arguments

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_arg_parse: only print --version option once
Sven Verdoolaege [Mon, 15 Nov 2010 22:10:43 +0000 (23:10 +0100)]
isl_arg_parse: only print --version option once

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_arg_parse: print string option default
Sven Verdoolaege [Fri, 26 Nov 2010 14:22:43 +0000 (15:22 +0100)]
isl_arg_parse: print string option default

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_arg_parse: delimit string option argument by angle brackets
Sven Verdoolaege [Wed, 24 Nov 2010 19:36:30 +0000 (20:36 +0100)]
isl_arg_parse: delimit string option argument by angle brackets

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_arg_parse: allow options without long name
Sven Verdoolaege [Sat, 13 Nov 2010 14:20:26 +0000 (15:20 +0100)]
isl_arg_parse: allow options without long name

13 years agoisl_vec_read_polylib: use isl_stream
Sven Verdoolaege [Wed, 24 Nov 2010 11:01:51 +0000 (12:01 +0100)]
isl_vec_read_polylib: use isl_stream

The original implementation imposed an arbitrary limit on the line lengths,
without check.

Reported-by: "sinzerely.yorz" <slashdevslashzerr0@gmail.com>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoRename headers from isl_header.h to isl/header.h
Sven Verdoolaege [Thu, 21 Jan 2010 10:31:18 +0000 (11:31 +0100)]
Rename headers from isl_header.h to isl/header.h

We need to turn on the nostdinc option of automake as otherwise
it would include -I$(top_builddir)/include/isl in DEFAULT_INCLUDES
because of

AC_CONFIG_HEADERS(include/isl/config.h)

in configure.ac.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_tab_basic_map_partial_lexopt: fix memory leak on error path
Sven Verdoolaege [Thu, 18 Nov 2010 14:26:50 +0000 (15:26 +0100)]
isl_tab_basic_map_partial_lexopt: fix memory leak on error path

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_set_is_equal
Sven Verdoolaege [Wed, 17 Nov 2010 15:28:35 +0000 (16:28 +0100)]
add isl_union_set_is_equal

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_map_read_from_str
Sven Verdoolaege [Wed, 17 Nov 2010 15:24:05 +0000 (16:24 +0100)]
add isl_union_map_read_from_str

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_tab_basic_map_partial_lexopt: add all equalities before pivoting
Sven Verdoolaege [Wed, 17 Nov 2010 15:03:15 +0000 (16:03 +0100)]
isl_tab_basic_map_partial_lexopt: add all equalities before pivoting

During the construction of the initial tableau in tab_for_lexmin,
restore_lexmin would get called after the addition of each equality.
However, restore_lexmin performs some pivoting operations that could
invalidate the assumptions of last_var_col_or_int_par_col during
the addition of the next equality.
We therefore postpone the call to restore_lexmin until after
all equalities have been added.

Problem reported by Tobias Grosser <grosser@fim.uni-passau.de>

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_pip: avoid empty domain during verification
Sven Verdoolaege [Wed, 17 Nov 2010 15:00:19 +0000 (16:00 +0100)]
isl_pip: avoid empty domain during verification

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_basic_set_box_from_points
Sven Verdoolaege [Wed, 17 Nov 2010 14:59:27 +0000 (15:59 +0100)]
add isl_basic_set_box_from_points

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_basic_map_eliminate_vars: don't detect divs while removing duplicate constraints
Sven Verdoolaege [Mon, 15 Nov 2010 10:39:19 +0000 (11:39 +0100)]
isl_basic_map_eliminate_vars: don't detect divs while removing duplicate constraints

We were careful to remove the definitions of divs that depend on the
eliminated variables at the start of isl_basic_map_eliminate_vars,
but remove_duplicate_constraints could rediscover some of them and
add them back in.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_dim.c: set_name: only print single error message on incorrect input
Sven Verdoolaege [Sun, 14 Nov 2010 13:18:55 +0000 (14:18 +0100)]
isl_dim.c: set_name: only print single error message on incorrect input

The global_pos function already prints an error message,
so there is no point in printing another error message inside
set_name when global_pos returns an error condition.

Signed-off-by: Sven Verdoolaege <sven@nestor.cs.kuleuven.be>
13 years agoisl_pw_qpolynomial_fold_bound: fix handling or zero input with wrapped domain
Sven Verdoolaege [Sun, 14 Nov 2010 13:14:55 +0000 (14:14 +0100)]
isl_pw_qpolynomial_fold_bound: fix handling or zero input with wrapped domain

That is, make sure the result has the right domain even if the input is zero.

Signed-off-by: Sven Verdoolaege <sven@nestor.cs.kuleuven.be>
13 years agoisl_printer_print_pw_qpolynomial{,_fold}: always print special domains
Sven Verdoolaege [Sun, 14 Nov 2010 13:11:42 +0000 (14:11 +0100)]
isl_printer_print_pw_qpolynomial{,_fold}: always print special domains

If the domain of a piecewise quasipolynomial (fold) is the zero-dimensional
space, then we don't print the "[] -> " to avoid clutter.
However, if the domain has a name or if it has internal structure
then it should be printed explicitly as otherwise no distinction can
be made with the unnamed unstructured zero-dimensional space.

Signed-off-by: Sven Verdoolaege <sven@nestor.cs.kuleuven.be>
13 years agoisl_qpolynomial_bound_on_domain_bernstein: optionally triangulate domains
Sven Verdoolaege [Fri, 12 Nov 2010 13:25:00 +0000 (14:25 +0100)]
isl_qpolynomial_bound_on_domain_bernstein: optionally triangulate domains

Preliminary experiments show that triangulation may slow down
the computation but helps tremendously in keeping memory use down.
It is therefore enabled by default.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_options_parse: print default on boolean options
Sven Verdoolaege [Fri, 12 Nov 2010 13:51:00 +0000 (14:51 +0100)]
isl_options_parse: print default on boolean options

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_options_parse: accept prefix before or after "no" on boolean options
Sven Verdoolaege [Fri, 12 Nov 2010 13:42:46 +0000 (14:42 +0100)]
isl_options_parse: accept prefix before or after "no" on boolean options

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_cell_foreach_simplex
Sven Verdoolaege [Mon, 8 Nov 2010 17:47:17 +0000 (18:47 +0100)]
add isl_cell_foreach_simplex

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_basic_set_compute_vertices: store input basic set in result
Sven Verdoolaege [Mon, 8 Nov 2010 16:17:38 +0000 (17:17 +0100)]
isl_basic_set_compute_vertices: store input basic set in result

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