platform/upstream/isl.git
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

13 years agoexport isl_pw_qpolynomial_fold_set_dim_name
Sven Verdoolaege [Tue, 19 Oct 2010 13:27:42 +0000 (15:27 +0200)]
export isl_pw_qpolynomial_fold_set_dim_name

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agodoc: fix typo
Sven Verdoolaege [Tue, 26 Oct 2010 15:00:13 +0000 (17:00 +0200)]
doc: fix typo

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoexport isl_pw_qpolynomial_fold_add
Sven Verdoolaege [Tue, 19 Oct 2010 13:03:30 +0000 (15:03 +0200)]
export isl_pw_qpolynomial_fold_add

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_set_flatten_map
Sven Verdoolaege [Tue, 19 Oct 2010 12:50:40 +0000 (14:50 +0200)]
add isl_set_flatten_map

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_pw_qpolynomial_gist: substitute equalities in polynomials
Sven Verdoolaege [Mon, 25 Oct 2010 11:49:22 +0000 (13:49 +0200)]
isl_pw_qpolynomial_gist: substitute equalities in polynomials

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_pw_qpolynomial_gist: drop empty pieces in result
Sven Verdoolaege [Mon, 25 Oct 2010 11:37:41 +0000 (13:37 +0200)]
isl_pw_qpolynomial_gist: drop empty pieces in result

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_map_gist_basic_map: drop empty pieces in result
Sven Verdoolaege [Mon, 25 Oct 2010 11:37:04 +0000 (13:37 +0200)]
isl_map_gist_basic_map: drop empty pieces in result

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agorename isl_map_remove to isl_map_remove_dims
Sven Verdoolaege [Sat, 23 Oct 2010 11:42:21 +0000 (13:42 +0200)]
rename isl_map_remove to isl_map_remove_dims

The new name is more consistent with other functions and avoids confusion
as to what is being added.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_pw_qpolynomial_print: properly print divs in ISL_FORMAT_C
Sven Verdoolaege [Fri, 22 Oct 2010 19:42:50 +0000 (21:42 +0200)]
isl_pw_qpolynomial_print: properly print divs in ISL_FORMAT_C

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_stream: allow tokens to start with "_"
Sven Verdoolaege [Tue, 19 Oct 2010 12:34:10 +0000 (14:34 +0200)]
isl_stream: allow tokens to start with "_"

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_set_alloc_dim: fix memory leak on error path
Sven Verdoolaege [Tue, 19 Oct 2010 12:50:28 +0000 (14:50 +0200)]
isl_set_alloc_dim: fix memory leak on error path

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agofix isl_union_{set,map}_lex_g{e,t}_union_map
Sven Verdoolaege [Tue, 26 Oct 2010 09:25:03 +0000 (11:25 +0200)]
fix isl_union_{set,map}_lex_g{e,t}_union_map

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_stream_read_map: read_var_list: simplify and finalize result
Sven Verdoolaege [Tue, 26 Oct 2010 09:21:26 +0000 (11:21 +0200)]
isl_stream_read_map: read_var_list: simplify and finalize result

read_var_list may add equalities, so at the very least we need
to gauss the constraints and finalize the result, but it doesn't
seem to hurt to also simplify the result.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_dim_replace: fix handling of nested spaces
Sven Verdoolaege [Wed, 20 Oct 2010 20:16:15 +0000 (22:16 +0200)]
isl_dim_replace: fix handling of nested spaces

5ad911e (isl_dim_drop: also drop parameters from nested spaces,
Sat Oct 16 14:41:22 2010 +0200) changed isl_dim_drop to also
drop parameters from nested spaces, but it didn't change isl_dim_add
accordingly, breaking isl_dim_replace on isl_dims with nested spaces.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agosupport extended PolyLib output format
Sven Verdoolaege [Fri, 15 Oct 2010 09:14:57 +0000 (11:14 +0200)]
support extended PolyLib output format

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agodoc: mention LaTeX output format
Sven Verdoolaege [Sun, 17 Oct 2010 09:36:40 +0000 (11:36 +0200)]
doc: mention LaTeX output format

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_set_identity
Sven Verdoolaege [Thu, 14 Oct 2010 13:49:52 +0000 (15:49 +0200)]
add isl_union_set_identity

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agobasic_map_read_polylib: clear newly created divs
Sven Verdoolaege [Sat, 16 Oct 2010 13:05:24 +0000 (15:05 +0200)]
basic_map_read_polylib: clear newly created divs

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agocompute explicit divs for context before calling isl_basic_map_gist
Sven Verdoolaege [Thu, 14 Oct 2010 09:28:33 +0000 (11:28 +0200)]
compute explicit divs for context before calling isl_basic_map_gist

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_set_flatten
Sven Verdoolaege [Tue, 12 Oct 2010 09:18:27 +0000 (11:18 +0200)]
add isl_set_flatten

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_dim_flatten: remove space names when internal structure changes
Sven Verdoolaege [Sun, 17 Oct 2010 09:05:28 +0000 (11:05 +0200)]
isl_dim_flatten: remove space names when internal structure changes

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_stream_read_map: properly parse nested spaces
Sven Verdoolaege [Sat, 16 Oct 2010 12:50:59 +0000 (14:50 +0200)]
isl_stream_read_map: properly parse nested spaces

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_dim_drop: also drop parameters from nested spaces
Sven Verdoolaege [Sat, 16 Oct 2010 12:41:22 +0000 (14:41 +0200)]
isl_dim_drop: also drop parameters from nested spaces

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoprivately export isl_basic_map_reset_dim
Sven Verdoolaege [Sat, 16 Oct 2010 11:41:20 +0000 (13:41 +0200)]
privately export isl_basic_map_reset_dim

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_map_coalesce: handle some cases of pairs of adjacent equalities
Sven Verdoolaege [Wed, 13 Oct 2010 20:02:25 +0000 (22:02 +0200)]
isl_map_coalesce: handle some cases of pairs of adjacent equalities

We don't want to handle all cases, because coalescing maps that
are too dissimilar may reduce the effectiveness of some decomposition
techniques during the computation of transitive closure.
Right now, we only perform such coalescing if there is exactly
one pair of adjacent equalities.  It's not clear if this is the best
heuristic, but it makes all transitive closure test cases pass.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_mat_right_inverse: fix memory leak on error path
Sven Verdoolaege [Wed, 13 Oct 2010 17:39:35 +0000 (19:39 +0200)]
isl_mat_right_inverse: fix memory leak on error path

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_union_pw_qpolynomial_zero: check for NULL input
Sven Verdoolaege [Mon, 11 Oct 2010 11:14:12 +0000 (13:14 +0200)]
isl_union_pw_qpolynomial_zero: check for NULL input

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoexport isl_basic_set_sample_point
Sven Verdoolaege [Sat, 2 Oct 2010 13:33:55 +0000 (15:33 +0200)]
export isl_basic_set_sample_point

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agobasis_reduction_templ.c: fix typo in comment
Sven Verdoolaege [Sat, 2 Oct 2010 10:34:01 +0000 (12:34 +0200)]
basis_reduction_templ.c: fix typo in comment

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoexport isl_basic_set_reduced_basis
Sven Verdoolaege [Sat, 2 Oct 2010 09:16:17 +0000 (11:16 +0200)]
export isl_basic_set_reduced_basis

Since this function will now be available from the outside, we
add some more checks and we allow the input to contain equalities.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_int_[gs]et_gmp
Sven Verdoolaege [Sat, 2 Oct 2010 09:12:52 +0000 (11:12 +0200)]
add isl_int_[gs]et_gmp

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_pw_qpolynomial_print: print modulo constraints in ISL_FORMAT_C
Sven Verdoolaege [Sat, 2 Oct 2010 08:51:14 +0000 (10:51 +0200)]
isl_pw_qpolynomial_print: print modulo constraints in ISL_FORMAT_C

In particular, print "i % 2 == 0" instead of "i - 2 * floord(i,2) == 0".

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoexport isl_basic_set_lift
Sven Verdoolaege [Fri, 1 Oct 2010 15:05:16 +0000 (17:05 +0200)]
export isl_basic_set_lift

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_map_intersect_range
Sven Verdoolaege [Thu, 30 Sep 2010 14:15:36 +0000 (16:15 +0200)]
add isl_union_map_intersect_range

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_constraint_get_dim_name
Sven Verdoolaege [Thu, 30 Sep 2010 08:26:09 +0000 (10:26 +0200)]
add isl_constraint_get_dim_name

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_set_n_basic_set
Sven Verdoolaege [Thu, 30 Sep 2010 07:52:19 +0000 (09:52 +0200)]
add isl_set_n_basic_set

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_pw_qpolynomial_set_dim_name
Sven Verdoolaege [Wed, 29 Sep 2010 17:03:55 +0000 (19:03 +0200)]
add isl_pw_qpolynomial_set_dim_name

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_pw_qpolynomial_extract_pw_qpolynomial
Sven Verdoolaege [Wed, 29 Sep 2010 15:57:36 +0000 (17:57 +0200)]
add isl_union_pw_qpolynomial_extract_pw_qpolynomial

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_set_extract_set
Sven Verdoolaege [Wed, 29 Sep 2010 15:38:43 +0000 (17:38 +0200)]
add isl_union_set_extract_set

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_set_n_set
Sven Verdoolaege [Wed, 29 Sep 2010 15:25:39 +0000 (17:25 +0200)]
add isl_union_set_n_set

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_set_get_dim_name
Sven Verdoolaege [Wed, 29 Sep 2010 10:52:16 +0000 (12:52 +0200)]
add isl_set_get_dim_name

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_set_get_tuple_name
Sven Verdoolaege [Wed, 29 Sep 2010 10:56:26 +0000 (12:56 +0200)]
add isl_set_get_tuple_name

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_set_dump for debugging
Sven Verdoolaege [Mon, 27 Sep 2010 08:24:35 +0000 (10:24 +0200)]
add isl_union_set_dump for debugging

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agorename isl_map_add to isl_map_add_dims
Sven Verdoolaege [Thu, 30 Sep 2010 13:47:43 +0000 (15:47 +0200)]
rename isl_map_add to isl_map_add_dims

The new name is more consistent with other functions and avoids confusion
as to what is being added.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_basic_map_gauss: normalize resulting constraints
Sven Verdoolaege [Mon, 27 Sep 2010 08:47:25 +0000 (10:47 +0200)]
isl_basic_map_gauss: normalize resulting constraints

When isl_basic_map_gauss is called from isl_basic_map_simplify,
the constraints get normalized already.  However, sometimes the calling
functions wants to only perform isl_basic_map_gauss and then the constraints
should still be normalized.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agofix return type of isl_union_set_lex_*_union_set
Sven Verdoolaege [Thu, 30 Sep 2010 09:46:09 +0000 (11:46 +0200)]
fix return type of isl_union_set_lex_*_union_set

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_basic_set_multiplicative_call: handle parametric input
Sven Verdoolaege [Mon, 4 Oct 2010 20:08:54 +0000 (22:08 +0200)]
isl_basic_set_multiplicative_call: handle parametric input

Due to a mistake in the original implementation, the wrong dimensions
would get dropped from factors of the input in case this input was
parametric.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_dim_replace: call isl_dim_cow before changing isl_dim
Sven Verdoolaege [Sun, 3 Oct 2010 22:35:23 +0000 (00:35 +0200)]
isl_dim_replace: call isl_dim_cow before changing isl_dim

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoexport isl_access_info_free
Sven Verdoolaege [Sat, 25 Sep 2010 13:51:53 +0000 (15:51 +0200)]
export isl_access_info_free

It was thought before that there was no need to export this function,
because it is called implicitly by isl_access_info_compute_flow,
but if some error occurs in the application before the call
to isl_access_info_compute_flow, isl_access_info_free should be
called to free the (partially constructed) isl_access_info.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_basic_map_get_tuple_name
Sven Verdoolaege [Fri, 24 Sep 2010 20:29:10 +0000 (22:29 +0200)]
add isl_basic_map_get_tuple_name

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_basic_map_remove_divs
Sven Verdoolaege [Fri, 24 Sep 2010 14:51:08 +0000 (16:51 +0200)]
add isl_basic_map_remove_divs

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