platform/upstream/isl.git
12 years agoisl_access_info: allow user interaction to restrict potential sources
Sven Verdoolaege [Mon, 28 Nov 2011 14:28:37 +0000 (15:28 +0100)]
isl_access_info: allow user interaction to restrict potential sources

In particular, the user can register a callback that will be called
any time right before the last potential source is computed.
This should be useful for fuzzy array dataflow analysis.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoisl_access_info_compute_flow: store sink domain map in isl_access_info
Sven Verdoolaege [Mon, 26 Dec 2011 15:07:48 +0000 (16:07 +0100)]
isl_access_info_compute_flow: store sink domain map in isl_access_info

We will be able to reuse this map in the next commit.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoisl_access_info_alloc: use isl_calloc to allocate structure
Sven Verdoolaege [Mon, 26 Dec 2011 14:59:57 +0000 (15:59 +0100)]
isl_access_info_alloc: use isl_calloc to allocate structure

This makes it easier to add new (zero-by-default) fields.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoisl_access_info_compute_flow: don't pass ownership of "acc" down
Sven Verdoolaege [Mon, 26 Dec 2011 14:28:46 +0000 (15:28 +0100)]
isl_access_info_compute_flow: don't pass ownership of "acc" down

This slightly simplifies the error handling.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoisl 0.09 isl-0.09
Sven Verdoolaege [Sat, 17 Dec 2011 17:19:52 +0000 (18:19 +0100)]
isl 0.09

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoavoid "errno" argument name
Sven Verdoolaege [Sun, 18 Dec 2011 08:41:15 +0000 (09:41 +0100)]
avoid "errno" argument name

On mingw, errno is defined as (*_errno()) in stdlib.h

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoadd isl_morph_dump
Sven Verdoolaege [Sat, 17 Dec 2011 09:14:59 +0000 (10:14 +0100)]
add isl_morph_dump

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agorename isl_morph_dump to isl_morph_print_internal
Sven Verdoolaege [Sat, 17 Dec 2011 09:13:43 +0000 (10:13 +0100)]
rename isl_morph_dump to isl_morph_print_internal

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoisl_basic_set_compute_vertices: fix handling of lower-dimensional input
Sven Verdoolaege [Fri, 16 Dec 2011 08:20:34 +0000 (09:20 +0100)]
isl_basic_set_compute_vertices: fix handling of lower-dimensional input

Support was broken by 9043b59 (explicitly differentiate between spaces
of maps, sets and parameter sets, Thu Aug 25 19:21:05 2011 +0200).
This fix should have gone in before that commit.

Reported-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agodoc: improve consistency in list of schedule options
Sven Verdoolaege [Wed, 14 Dec 2011 10:45:51 +0000 (11:45 +0100)]
doc: improve consistency in list of schedule options

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoadd Feautrier's scheduling algorithm
Sven van Haastregt [Wed, 14 Dec 2011 09:55:18 +0000 (10:55 +0100)]
add Feautrier's scheduling algorithm

Offer Feautrier's algorithm as an alternative to isl's default scheduling
algorithm.  The schedule is extended to a full-dimensional schedule.
To select the scheduling algorithm to use, we introduce isl option
schedule-algorithm.

Signed-off-by: Sven van Haastregt <svhaastr@liacs.nl>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoadd option to bound the constant scheduling coefficients
Tobias Grosser [Mon, 12 Dec 2011 16:07:18 +0000 (17:07 +0100)]
add option to bound the constant scheduling coefficients

If larger coefficients appear as part of the input dependences, the
schedule calculation can take a very long time. We observed that the
main overhead in this calculation is due to optimizing the constant
coefficients. They are misused to increase locality by merging several
unrelated dimensions into a single dimension. This unwanted optimization
increases the complexity of the code and slows down the generated code.

We introduce a new option that bounds the values in the constant
dimension by a user defined value. If the right value is choosen,
costly overoptimization can be prevented.

This solution works, but requires the user to specify the value by
which the constants are bound. For the moment, this is our best
solution, but we hope to to find a more generic one later on.

Signed-off-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoIntroduce new ISL_CTX_(GET|SET)_INT_DEF macro
Tobias Grosser [Sun, 11 Dec 2011 23:21:55 +0000 (00:21 +0100)]
Introduce new ISL_CTX_(GET|SET)_INT_DEF macro

This macro uses the same implementation as the corresponding
BOOL and CHOICE macros. Hence, we simplify BOOL and CHOICE by
forwarding to the new INT macro.

Signed-off-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoFix typo in documentation
Tobias Grosser [Sun, 11 Dec 2011 23:21:53 +0000 (00:21 +0100)]
Fix typo in documentation

Signed-off-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoAdd interface to set schedule_maximize_band_depth
Tobias Grosser [Sun, 11 Dec 2011 23:21:52 +0000 (00:21 +0100)]
Add interface to set schedule_maximize_band_depth

Previously, schedule_maximize_band_depth could only be set with the
corresponding command line option. This patch adds two functions
to change this option when using isl as a library.

int isl_options_set_schedule_maximize_band_depth(
isl_ctx *ctx, int val);
int isl_options_get_schedule_maximize_band_depth(
isl_ctx *ctx);

Signed-off-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agodoc/SubmittingPatches: fix typo in email address
Sven van Haastregt [Mon, 12 Dec 2011 15:28:32 +0000 (16:28 +0100)]
doc/SubmittingPatches: fix typo in email address

Signed-off-by: Sven van Haastregt <svhaastr@liacs.nl>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoexport schedule_split_parallel option
Sven van Haastregt [Mon, 12 Dec 2011 10:45:17 +0000 (11:45 +0100)]
export schedule_split_parallel option

Signed-off-by: Sven van Haastregt <svhaastr@liacs.nl>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoadd isl_pw_multi_aff_get_pw_aff
Sven Verdoolaege [Sun, 11 Dec 2011 12:12:29 +0000 (13:12 +0100)]
add isl_pw_multi_aff_get_pw_aff

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoMerge branch 'maint'
Sven Verdoolaege [Sat, 10 Dec 2011 18:43:38 +0000 (19:43 +0100)]
Merge branch 'maint'

12 years agoisl_map_from_pw_aff: handle NULL input
Sven Verdoolaege [Fri, 9 Dec 2011 18:51:06 +0000 (19:51 +0100)]
isl_map_from_pw_aff: handle NULL input

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoadd isl_space_map_from_domain_and_range
Sven Verdoolaege [Tue, 6 Dec 2011 08:17:03 +0000 (09:17 +0100)]
add isl_space_map_from_domain_and_range

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoIntroduce option 'on_error'
Tobias Grosser [Sat, 3 Dec 2011 15:52:35 +0000 (16:52 +0100)]
Introduce option 'on_error'

The option on_error defines the behaviour of isl in case of an error.
By default, the option is set to 'warn'. This is the current behaviour
and means isl prints a warning and continues the execution of the
program. We also introduce two new modes: 'continue' and 'abort'.
'continue' does not print any warning, but continues execution and 'abort'
abort the program from within isl.  'abort' is useful for debuggers as
they automatically break at the place of the error condition.

Signed-off-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoexport isl_map_eliminate
Sven Verdoolaege [Thu, 1 Dec 2011 15:02:22 +0000 (16:02 +0100)]
export isl_map_eliminate

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoImprove message when ctx is freed, but still referenced
Tobias Grosser [Thu, 1 Dec 2011 14:15:45 +0000 (15:15 +0100)]
Improve message when ctx is freed, but still referenced

Instead of a cryptic 'Assertion "ctx->ref == 0" failed' we report
'isl_ctx freed, but some objects still reference it'.

Signed-off-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoadd isl_local_space_range
Tobias Grosser [Thu, 1 Dec 2011 14:15:44 +0000 (15:15 +0100)]
add isl_local_space_range

Signed-off-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoMerge branch 'maint'
Sven Verdoolaege [Fri, 2 Dec 2011 15:39:58 +0000 (16:39 +0100)]
Merge branch 'maint'

12 years agoisl_pw_aff_scale: don't special case multiplication with zero
Sven Verdoolaege [Thu, 1 Dec 2011 10:34:31 +0000 (11:34 +0100)]
isl_pw_aff_scale: don't special case multiplication with zero

isl_pw_*_scale returns an empty result if a multiplication with zero
is being performed.  We do this because zero is the default value
for polynomials.  Affine expressions, by contrast, have no default value
and so we should not return an empty result in this case.

Reported-by: Tomofumi Yuki <tomofumi.yuki@gmail.com>
Tested-by: Tomofumi Yuki <tomofumi.yuki@gmail.com>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoadd isl_set_find_dim_by_name
Sven Verdoolaege [Mon, 28 Nov 2011 15:45:16 +0000 (16:45 +0100)]
add isl_set_find_dim_by_name

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoisl_basic_map_involves_dims: double-check divs
Sven Verdoolaege [Tue, 29 Nov 2011 09:17:46 +0000 (10:17 +0100)]
isl_basic_map_involves_dims: double-check divs

In principle, the extra test is not needed at this moment, but
this may change in future.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoisl_schedule.c: fix typo in comment
Sven Verdoolaege [Sat, 26 Nov 2011 09:40:31 +0000 (10:40 +0100)]
isl_schedule.c: fix typo in comment

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoconfigure.ac: only create interface/Makefile if user has clang
Sven Verdoolaege [Fri, 25 Nov 2011 10:00:17 +0000 (11:00 +0100)]
configure.ac: only create interface/Makefile if user has clang

This allows users without clang to perform a "make dist".

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoadd isl_pw_aff_has_dim_id
Sven Verdoolaege [Mon, 21 Nov 2011 21:27:28 +0000 (22:27 +0100)]
add isl_pw_aff_has_dim_id

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoadd missing namespace qualification on llvm::ArrayRef
Sven Verdoolaege [Tue, 22 Nov 2011 22:28:39 +0000 (23:28 +0100)]
add missing namespace qualification on llvm::ArrayRef

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoMerge branch 'maint'
Sven Verdoolaege [Wed, 23 Nov 2011 09:33:26 +0000 (10:33 +0100)]
Merge branch 'maint'

12 years agoisl_union_pw_*_{intersect_domain,gist}: update to change of isl_pw_* space
Sven Verdoolaege [Tue, 22 Nov 2011 12:54:00 +0000 (13:54 +0100)]
isl_union_pw_*_{intersect_domain,gist}: update to change of isl_pw_* space

In 3280c05 (make isl_pw_* object live in a map space,
Tue Aug 30 16:47:59 2011 +0200), the space in which objects live was
changed from that of its domain to that of a map, but
isl_union_pw_*_{intersect_domain,gist} were not changed accordingly.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoisl_map_insert_dims: handle NULL input
Sven Verdoolaege [Sat, 19 Nov 2011 13:48:30 +0000 (14:48 +0100)]
isl_map_insert_dims: handle NULL input

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoisl_set_from_pw_aff: handle NULL input
Sven Verdoolaege [Sat, 19 Nov 2011 13:47:58 +0000 (14:47 +0100)]
isl_set_from_pw_aff: handle NULL input

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agodocument isl_basic_map_set_tuple_name
Sven Verdoolaege [Thu, 17 Nov 2011 14:34:33 +0000 (15:34 +0100)]
document isl_basic_map_set_tuple_name

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years ago.gitignore: add isl_config.h.in~
Sven Verdoolaege [Wed, 16 Nov 2011 14:28:53 +0000 (15:28 +0100)]
.gitignore: add isl_config.h.in~

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoisl_arg_parse: support string list arguments
Sven Verdoolaege [Fri, 11 Nov 2011 19:30:18 +0000 (20:30 +0100)]
isl_arg_parse: support string list arguments

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agohide isl_options structure
Sven Verdoolaege [Fri, 11 Nov 2011 10:32:49 +0000 (11:32 +0100)]
hide isl_options structure

We also add some getters and setters for options that are known to
be used from outside of isl.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agointroduce isl_args structure that constains isl_arg list and size of options
Sven Verdoolaege [Thu, 3 Nov 2011 09:19:43 +0000 (10:19 +0100)]
introduce isl_args structure that constains isl_arg list and size of options

Before, the size of the options structure of a submodule was stored
inside the corresponding child option of the parent.
This however, requires that the options structure of the submodule
is visible to the parent so that it can compute the size of this structure.
Moreover, if the size of this structure changes, then the code
containing the child option, which may reside in a different module,
would have to be recompiled.

Now, we store the size of the options structure together with the list
of option descriptions.  In particular, it is stored in the same module
as the options structure itself, so that this structure no longer needs
to be exposed.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoadd isl_ctx_parse_options
Sven Verdoolaege [Wed, 9 Nov 2011 09:33:04 +0000 (10:33 +0100)]
add isl_ctx_parse_options

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoisl_arg_parse: print current option values as defaults
Sven Verdoolaege [Thu, 10 Nov 2011 11:27:01 +0000 (12:27 +0100)]
isl_arg_parse: print current option values as defaults

In the --help output, we used to print the default values stored
in the isl_arg objects as the defaults for options.
It is however sometimes convenient to change some of the options
to values different from their true defaults before allowing
the user to override these options.  It then makes more sense
to print the current values of the options as defaults, rather
than the defaults that were used during the construction of
options object.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agouse the clang driver to obtain command line arguments for the clang frontend
Sven Verdoolaege [Sun, 13 Nov 2011 14:39:55 +0000 (15:39 +0100)]
use the clang driver to obtain command line arguments for the clang frontend

Recent clang perform the Linux header searching in the driver instead
of the fronted.  We therefore need to call the driver to obtain
the system include paths and pass them along to the frontend.

Helped-by: Chandler Carruth <chandlerc@google.com>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agosupport more recent LLVMs
Sven Verdoolaege [Thu, 10 Nov 2011 18:47:04 +0000 (19:47 +0100)]
support more recent LLVMs

In particular, getHostTriple has been renamed to getDefaultTargetTriple.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
12 years agoadd isl_map_subtract_range
Sven Verdoolaege [Thu, 10 Nov 2011 13:57:41 +0000 (14:57 +0100)]
add isl_map_subtract_range

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoallow --with-gmp=build
Serge Belyshev [Sun, 6 Nov 2011 12:45:32 +0000 (16:45 +0400)]
allow --with-gmp=build

This patch allows --with-gmp=build (and thus makes --with-gmp-builddir= work)

This patch is required to restore possibility to build gmp and cloog in a
combined tree with gcc.

Signed-off-by: Serge Belyshev <belyshev@depni.sinp.msu.ru>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_map_gist: return empty set if context is obviously empty
Sven Verdoolaege [Fri, 28 Oct 2011 12:10:46 +0000 (14:10 +0200)]
isl_map_gist: return empty set if context is obviously empty

This is more consistent with what happens if the intersection
of input and context turns out to be empty.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_map_gist_range
Sven Verdoolaege [Thu, 27 Oct 2011 10:29:46 +0000 (12:29 +0200)]
add isl_map_gist_range

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_map_subtract_domain
Sven Verdoolaege [Wed, 19 Oct 2011 09:13:31 +0000 (11:13 +0200)]
add isl_map_subtract_domain

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_set_upper_bound_si
Sven Verdoolaege [Wed, 2 Nov 2011 15:52:54 +0000 (16:52 +0100)]
add isl_set_upper_bound_si

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agodocument *lower_bound_si functions
Sven Verdoolaege [Wed, 2 Nov 2011 15:44:52 +0000 (16:44 +0100)]
document *lower_bound_si functions

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_union_pw_*_gist: special case gist with respect to parameter domains
Sven Verdoolaege [Wed, 2 Nov 2011 12:06:44 +0000 (13:06 +0100)]
isl_union_pw_*_gist: special case gist with respect to parameter domains

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_pw_*_gist_params
Sven Verdoolaege [Wed, 2 Nov 2011 12:05:43 +0000 (13:05 +0100)]
add isl_union_pw_*_gist_params

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_pw_*_gist_params
Sven Verdoolaege [Wed, 2 Nov 2011 11:39:50 +0000 (12:39 +0100)]
add isl_pw_*_gist_params

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoexport isl_pw_multi_aff_gist
Sven Verdoolaege [Wed, 2 Nov 2011 11:54:28 +0000 (12:54 +0100)]
export isl_pw_multi_aff_gist

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_multi_aff_gist_params
Sven Verdoolaege [Wed, 2 Nov 2011 11:38:39 +0000 (12:38 +0100)]
add isl_multi_aff_gist_params

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_qpolynomial_gist_params
Sven Verdoolaege [Wed, 2 Nov 2011 11:34:16 +0000 (12:34 +0100)]
add isl_qpolynomial_gist_params

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_qpolynomial_fold_gist_params
Sven Verdoolaege [Wed, 2 Nov 2011 11:30:13 +0000 (12:30 +0100)]
add isl_qpolynomial_fold_gist_params

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoexport isl_qpolynomial_fold_gist
Sven Verdoolaege [Wed, 2 Nov 2011 11:47:48 +0000 (12:47 +0100)]
export isl_qpolynomial_fold_gist

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_aff_gist_params
Sven Verdoolaege [Wed, 2 Nov 2011 11:26:28 +0000 (12:26 +0100)]
add isl_aff_gist_params

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_set_gist_params_basic_set
Sven Verdoolaege [Wed, 2 Nov 2011 11:24:05 +0000 (12:24 +0100)]
add isl_set_gist_params_basic_set

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_basic_set_intersect_params
Sven Verdoolaege [Wed, 2 Nov 2011 11:22:20 +0000 (12:22 +0100)]
add isl_basic_set_intersect_params

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_union_pw_*_intersect_domain: special case parameter domains
Sven Verdoolaege [Wed, 2 Nov 2011 10:30:40 +0000 (11:30 +0100)]
isl_union_pw_*_intersect_domain: special case parameter domains

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd union_pw_*_intersect_params
Sven Verdoolaege [Wed, 2 Nov 2011 10:28:38 +0000 (11:28 +0100)]
add union_pw_*_intersect_params

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_pw_*_intersect_params
Sven Verdoolaege [Wed, 2 Nov 2011 10:16:27 +0000 (11:16 +0100)]
add isl_pw_*_intersect_params

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_map_params
Sven Verdoolaege [Sat, 29 Oct 2011 11:49:45 +0000 (13:49 +0200)]
add isl_union_map_params

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agodoc: explain direction of dependence relations from the start
Sven Verdoolaege [Mon, 24 Oct 2011 08:05:06 +0000 (10:05 +0200)]
doc: explain direction of dependence relations from the start

Reported-by: Yi Zhang <yizhang84@gmail.com>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_map_is_subset: align parameters if needed
Sven Verdoolaege [Wed, 26 Oct 2011 11:49:16 +0000 (13:49 +0200)]
isl_map_is_subset: align parameters if needed

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_pw_*_opt: use correct space in case of empty input
Sven Verdoolaege [Tue, 25 Oct 2011 14:40:19 +0000 (16:40 +0200)]
isl_pw_*_opt: use correct space in case of empty input

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_tab_pip.c: sol_pma_add: add missing finalize
Sven Verdoolaege [Tue, 1 Nov 2011 11:51:55 +0000 (12:51 +0100)]
isl_tab_pip.c: sol_pma_add: add missing finalize

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_id_alloc: allow isl_ids with the same name but different user value
Sven Verdoolaege [Mon, 31 Oct 2011 16:53:12 +0000 (17:53 +0100)]
isl_id_alloc: allow isl_ids with the same name but different user value

Although isl_ids were documented as being identified by the pair
of name and pointer value, this was not implemented as such.
Instead, only the name was taken into account.

This commit fixes isl_id_alloc to also take into account the user value.
We also avoid dereferencing possible NULL names.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoAdd missing cow to isl_{basic_,}map_set_dim_name()
Andreas Kloeckner [Mon, 31 Oct 2011 08:09:27 +0000 (04:09 -0400)]
Add missing cow to isl_{basic_,}map_set_dim_name()

Signed-off-by: Andreas Kloeckner <inform@tiker.net>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_union_set_gist: special case gist with respect to parameter domains
Sven Verdoolaege [Sat, 29 Oct 2011 11:20:02 +0000 (13:20 +0200)]
isl_union_set_gist: special case gist with respect to parameter domains

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_map_alloc_space: fix memory leak on error path
Sven Verdoolaege [Thu, 20 Oct 2011 08:21:18 +0000 (10:21 +0200)]
isl_map_alloc_space: fix memory leak on error path

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl 0.08 isl-0.08
Sven Verdoolaege [Thu, 20 Oct 2011 19:44:04 +0000 (21:44 +0200)]
isl 0.08

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agointerface/Makefile.am: append extra copy of CLANG_LDFLAGS to LDADD
Sven Verdoolaege [Fri, 21 Oct 2011 09:50:34 +0000 (11:50 +0200)]
interface/Makefile.am: append extra copy of CLANG_LDFLAGS to LDADD

For some reason, llvm-config includes system libraries as part of
--ldflags instead of --libs.  Since some of the libraries in
CLANG_LIBS may depend on the system libraries, we need to make
sure those system libraries are (also) listed after CLANG_LIBS.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_tab_pip.c: set_row_cst_to_div: don't assume coefficient of div is zero
Sven Verdoolaege [Thu, 20 Oct 2011 18:18:57 +0000 (20:18 +0200)]
isl_tab_pip.c: set_row_cst_to_div: don't assume coefficient of div is zero

The function is supposed to increment the coefficient of the given
div by one, but instead it would simply set the coefficient to one.
This is fine if the div is new and therefore has a zero coefficient,
but it does not work if the div already appeared in the constraint.

Reported-by: Armin Größlinger <armin.groesslinger@uni-passau.de>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_tab_pip.c: fix typo in comment
Sven Verdoolaege [Thu, 20 Oct 2011 18:17:41 +0000 (20:17 +0200)]
isl_tab_pip.c: fix typo in comment

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoremove undocumented isl_basic_{set,map}_foreach_lex{min,max}
Sven Verdoolaege [Wed, 19 Oct 2011 08:23:23 +0000 (10:23 +0200)]
remove undocumented isl_basic_{set,map}_foreach_lex{min,max}

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_test: test isl_basic_map_lexmin_pw_multi_aff
Sven Verdoolaege [Wed, 19 Oct 2011 08:14:48 +0000 (10:14 +0200)]
isl_test: test isl_basic_map_lexmin_pw_multi_aff

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_map_gist_domain
Sven Verdoolaege [Sun, 16 Oct 2011 14:00:38 +0000 (16:00 +0200)]
add isl_union_map_gist_domain

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_map_gist_domain
Sven Verdoolaege [Sun, 16 Oct 2011 13:49:40 +0000 (15:49 +0200)]
add isl_map_gist_domain

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_map_gist_params
Sven Verdoolaege [Sun, 16 Oct 2011 13:07:44 +0000 (15:07 +0200)]
add isl_union_map_gist_params

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_union_map_intersect_domain: special case intersection with parameter domain
Sven Verdoolaege [Sun, 16 Oct 2011 08:55:57 +0000 (10:55 +0200)]
isl_union_map_intersect_domain: special case intersection with parameter domain

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_union_set_intersect: special case intersection with parameter domain
Sven Verdoolaege [Sun, 16 Oct 2011 08:55:40 +0000 (10:55 +0200)]
isl_union_set_intersect: special case intersection with parameter domain

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_map_intersect_params
Sven Verdoolaege [Sun, 16 Oct 2011 08:54:22 +0000 (10:54 +0200)]
add isl_union_map_intersect_params

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoadd isl_union_set_is_params
Sven Verdoolaege [Sat, 15 Oct 2011 08:45:08 +0000 (10:45 +0200)]
add isl_union_set_is_params

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_point_get_coordinate: check validity of "pos" argument
Sven Verdoolaege [Fri, 14 Oct 2011 10:10:13 +0000 (12:10 +0200)]
isl_point_get_coordinate: check validity of "pos" argument

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agointerface/extract_interface.cc: adjust to rename of Diagnostic in clang
Sven Verdoolaege [Thu, 13 Oct 2011 14:26:02 +0000 (16:26 +0200)]
interface/extract_interface.cc: adjust to rename of Diagnostic in clang

Reported-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agorename isl_pw_aff_add to isl_pw_aff_union_add
Sven Verdoolaege [Thu, 13 Oct 2011 10:16:45 +0000 (12:16 +0200)]
rename isl_pw_aff_add to isl_pw_aff_union_add

As pointed out by Andreas Kloeckner, isl_pw_aff_add behaves in a way
that is inconsistent with other functions defined over pairs of
isl_pw_affs in that it produces an isl_pw_aff that is defined on
the union of the definition domains of its arguments.
We therefore rename isl_pw_aff_add to isl_pw_aff_union_add and
add a new isl_pw_aff_add that produces a result that is only
defined on the intersection of the definition domains of its arguments.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoreimplement pw_aff_mul on top of a generic isl_pw_*_on_shared_domain
Sven Verdoolaege [Thu, 13 Oct 2011 09:54:16 +0000 (11:54 +0200)]
reimplement pw_aff_mul on top of a generic isl_pw_*_on_shared_domain

This new function will be useful for implementing other similar functionality.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_map_intersect: require arguments to live in the same space
Sven Verdoolaege [Wed, 12 Oct 2011 09:52:59 +0000 (11:52 +0200)]
isl_map_intersect: require arguments to live in the same space

Before, we would allow one of the arguments to be a parameter domain.
As pointed out by Andreas Kloeckner, this breaks some invariants
in other parts of the code, notably isl_pw_*_intersect_domain.
Since we have an isl_map_intersect_params now, we no longer need
this special case, so we remove it.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_input.c: read_tuple: use isl_map_intersect_params where needed
Sven Verdoolaege [Wed, 12 Oct 2011 09:49:42 +0000 (11:49 +0200)]
isl_input.c: read_tuple: use isl_map_intersect_params where needed

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoMerge branch 'maint'
Sven Verdoolaege [Mon, 10 Oct 2011 22:27:35 +0000 (00:27 +0200)]
Merge branch 'maint'

13 years agoInsert missing error check into isl_pw_*_intersect_domain
Andreas Kloeckner [Mon, 10 Oct 2011 22:02:18 +0000 (18:02 -0400)]
Insert missing error check into isl_pw_*_intersect_domain

Signed-off-by: Andreas Kloeckner <inform@tiker.net>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoRun isl_basic_map_finalize after isl_{basic_,}map_eliminate
Andreas Kloeckner [Mon, 10 Oct 2011 12:09:50 +0000 (08:09 -0400)]
Run isl_basic_map_finalize after isl_{basic_,}map_eliminate

Signed-off-by: Andreas Kloeckner <inform@tiker.net>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_stream_read_map: handle nested parenthesized expressions
Sven Verdoolaege [Sat, 8 Oct 2011 14:23:59 +0000 (16:23 +0200)]
isl_stream_read_map: handle nested parenthesized expressions

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
13 years agoisl_basic_{set,map}_partial_lex{min,max}_pw_multi_aff: normalize isl_affs
Sven Verdoolaege [Thu, 6 Oct 2011 21:19:43 +0000 (23:19 +0200)]
isl_basic_{set,map}_partial_lex{min,max}_pw_multi_aff: normalize isl_affs

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