platform/upstream/isl.git
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 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 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>
13 years agoisl_vertices_foreach_cell: store individual vertex ids inside cell
Sven Verdoolaege [Mon, 8 Nov 2010 15:34:07 +0000 (16:34 +0100)]
isl_vertices_foreach_cell: store individual vertex ids inside cell

Currently, each cell corresponds to a (possibly reduced) chamber
in the chamber decomposition.  If we want to allow other kinds
of cells, e.g., triangulations of chambers, then we need to
store the vertex ids inside the individual cells.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_pw_qpolynomial_to_polynomial
Sven Verdoolaege [Thu, 11 Nov 2010 12:05:06 +0000 (13:05 +0100)]
add isl_union_pw_qpolynomial_to_polynomial

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agodoc: update isl_pw_qpolynomial_gist description
Sven Verdoolaege [Fri, 12 Nov 2010 10:01:09 +0000 (11:01 +0100)]
doc: update isl_pw_qpolynomial_gist description

In particular, update the description to changes made in 661c374
(isl_pw_qpolynomial_gist: also try to eliminate integer divisions,
Fri Nov 5 16:44:54 2010 +0100).

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_set_foreach_orthant
Sven Verdoolaege [Thu, 11 Nov 2010 12:04:22 +0000 (13:04 +0100)]
add isl_set_foreach_orthant

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_range.c: privately export isl_qpolynomial_terms_of_sign
Sven Verdoolaege [Thu, 11 Nov 2010 12:03:51 +0000 (13:03 +0100)]
isl_range.c: privately export isl_qpolynomial_terms_of_sign

Outside users may call the function on quasi-polynomials, so allow
integer division, but assume the caller has made sure they are always
positive.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_range.c: collect_fixed_sign_terms: drop dead code
Sven Verdoolaege [Thu, 11 Nov 2010 11:43:22 +0000 (12:43 +0100)]
isl_range.c: collect_fixed_sign_terms: drop dead code

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_set_split_dims: extract out half-space creation
Sven Verdoolaege [Wed, 10 Nov 2010 20:49:23 +0000 (21:49 +0100)]
isl_set_split_dims: extract out half-space creation

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_printer_print_pw_qpolynomial_fold: use consistent names in C format
Sven Verdoolaege [Fri, 12 Nov 2010 09:15:32 +0000 (10:15 +0100)]
isl_printer_print_pw_qpolynomial_fold: use consistent names in C format

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_dim_total: handle NULL input
Sven Verdoolaege [Thu, 11 Nov 2010 13:31:47 +0000 (14:31 +0100)]
isl_dim_total: handle NULL input

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_vec_clr
Sven Verdoolaege [Thu, 11 Nov 2010 11:42:50 +0000 (12:42 +0100)]
add isl_vec_clr

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_qpolynomial_div_pow: normalize given div
Sven Verdoolaege [Wed, 10 Nov 2010 12:49:30 +0000 (13:49 +0100)]
isl_qpolynomial_div_pow: normalize given div

An isl_div obtained from an isl_set would normalize be expected
to have been normalized already, but the user may have constructed
the isl_div manually and then we want to make sure it gets normalized.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_bound: accept folds as input
Sven Verdoolaege [Mon, 8 Nov 2010 13:31:32 +0000 (14:31 +0100)]
isl_bound: accept folds as input

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_bound: use isl_pw_qpolynomial_folds internally
Sven Verdoolaege [Mon, 8 Nov 2010 12:44:02 +0000 (13:44 +0100)]
isl_bound: use isl_pw_qpolynomial_folds internally

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoexport isl_pw_qpolynomial_fold_fix_dim
Sven Verdoolaege [Mon, 8 Nov 2010 12:42:01 +0000 (13:42 +0100)]
export isl_pw_qpolynomial_fold_fix_dim

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_set_polyhedral_hull
Sven Verdoolaege [Sat, 6 Nov 2010 14:36:38 +0000 (15:36 +0100)]
add isl_union_set_polyhedral_hull

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_pw_qpolynomial_gist: also try to eliminate integer divisions
Sven Verdoolaege [Fri, 5 Nov 2010 15:44:54 +0000 (16:44 +0100)]
isl_pw_qpolynomial_gist: also try to eliminate integer divisions

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agohide some functions that were exposed by mistake
Sven Verdoolaege [Fri, 5 Nov 2010 15:13:29 +0000 (16:13 +0100)]
hide some functions that were exposed by mistake

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_qpolynomial_substitute_equalities: eliminate integer divisions by 1
Sven Verdoolaege [Wed, 3 Nov 2010 20:15:25 +0000 (21:15 +0100)]
isl_qpolynomial_substitute_equalities: eliminate integer divisions by 1

In particular, replace them by the dividend.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_stream_read_pw_qpolynomial: read nested divs
Sven Verdoolaege [Thu, 4 Nov 2010 16:40:42 +0000 (17:40 +0100)]
isl_stream_read_pw_qpolynomial: read nested divs

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_qpolynomial_div_pow: allow nested divs
Sven Verdoolaege [Thu, 4 Nov 2010 16:39:11 +0000 (17:39 +0100)]
isl_qpolynomial_div_pow: allow nested divs

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_printer_print_qpolynomial: properly print nested divs
Sven Verdoolaege [Thu, 4 Nov 2010 16:56:02 +0000 (17:56 +0100)]
isl_printer_print_qpolynomial: properly print nested divs

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_qpolynomial_substitute_equalities: ignore constant when removing factors
Sven Verdoolaege [Wed, 3 Nov 2010 15:19:08 +0000 (16:19 +0100)]
isl_qpolynomial_substitute_equalities: ignore constant when removing factors

The constant term of the affine expression inside an integer division
should not be taking to account when trying to remove common factors
between numerator and denominator.  For example, [(1 + 2 x)/4]
should be simplified to [x/2].

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_qpolynomial_substitute_equalities: don't use equalities with existentials
Sven Verdoolaege [Thu, 4 Nov 2010 21:16:20 +0000 (22:16 +0100)]
isl_qpolynomial_substitute_equalities: don't use equalities with existentials

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_basic_map_underlying_set: remove any structure and names from the input
Sven Verdoolaege [Mon, 1 Nov 2010 14:59:43 +0000 (15:59 +0100)]
isl_basic_map_underlying_set: remove any structure and names from the input

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoexport isl_set_reset_dim
Sven Verdoolaege [Mon, 1 Nov 2010 10:01:20 +0000 (11:01 +0100)]
export isl_set_reset_dim

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_qpolynomial_morph: properly handle change in number of variables
Sven Verdoolaege [Sat, 30 Oct 2010 16:26:18 +0000 (18:26 +0200)]
isl_qpolynomial_morph: properly handle change in number of variables

The original implementation would only substitute the actual variables
and not the integer divisions, but if the number of variables changes,
then the positions of the integer divisions change too and so they have
to be adjusted as well.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_stream_read_map: read_var_def: read var definition in "clean" basic map
Sven Verdoolaege [Thu, 28 Oct 2010 18:49:06 +0000 (20:49 +0200)]
isl_stream_read_map: read_var_def: read var definition in "clean" basic map

The original code would mix up integer division already in bmap and newly
added integer divisions.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_set_remove_divs_involving_dims
Sven Verdoolaege [Wed, 27 Oct 2010 11:04:04 +0000 (13:04 +0200)]
add isl_set_remove_divs_involving_dims

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_div_div
Sven Verdoolaege [Sat, 23 Oct 2010 12:33:19 +0000 (14:33 +0200)]
add isl_div_div

13 years agoadd isl_div_copy
Sven Verdoolaege [Sat, 23 Oct 2010 12:41:59 +0000 (14:41 +0200)]
add isl_div_copy