Sven Verdoolaege [Sat, 18 Jun 2011 12:11:04 +0000 (14:11 +0200)]
Merge branch 'maint'
Sven Verdoolaege [Sat, 18 Jun 2011 07:56:15 +0000 (09:56 +0200)]
isl_basic_map_remove_divs_involving_dims: handle disappearance of divs
The internal call to isl_basic_map_remove_dims may remove more divs
than explicitly asked for (or it may reorder them) because it involves
a simplification step. We therefore have to reconsider all the divs
after calling isl_basic_map_remove_dims.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 14 Jun 2011 15:17:40 +0000 (17:17 +0200)]
isl_band: rename "parallel" property to "zero distance"
Since the property is measured with respect to the proximity dependences
and independently of the validity dependences, the "parallel" name was
considered to be too confusing. Hopefully, the new name is less confusing.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 16 Apr 2011 17:39:53 +0000 (19:39 +0200)]
change isl_basic_map_foreach_lexmin prototype
In particular, the callback now receives an isl_aff_list instead
of an isl_mat. The use of an isl_mat exposed too much of the internal
details of isl. On top of that, it was also very fragile as the meaning
of the columns in the matrix depended on the internal representation
of the separate basic set. Any change in this internal representation,
including any simplification step, would change the meaning of the matrix.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 12 Jun 2011 10:14:51 +0000 (12:14 +0200)]
add isl_basic_map_from_aff and isl_basic_map_from_aff_list
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 12 Jun 2011 10:14:03 +0000 (12:14 +0200)]
add isl_local_space_add_dim
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 12 Jun 2011 09:42:14 +0000 (11:42 +0200)]
add isl_local_space_from_domain
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 12 Jun 2011 09:20:00 +0000 (11:20 +0200)]
add isl_basic_map_flat_range_product
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 12 Jun 2011 09:18:11 +0000 (11:18 +0200)]
export isl_basic_map_flatten_range
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Tobias Grosser [Thu, 2 Jun 2011 16:29:06 +0000 (13:29 -0300)]
Enable -Wall if compiling with clang
isl is at the moment free of warnings with 'clang -Wall'. To maintain this
enable -Wall by default. In case false positives show up, we disable the
corresponding warning type by adding e.g. -Wno-return-type. To disable all
warnings configure or compile with CFLAGS=-Wno-all.
Signed-off-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Tobias Grosser [Thu, 2 Jun 2011 16:29:05 +0000 (13:29 -0300)]
Update ax_compiler_vendor.m4
Use the newest version, as it includes clang support.
Signed-off-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Tobias Grosser [Tue, 7 Jun 2011 19:15:15 +0000 (16:15 -0300)]
Check the ctx argument of the memory macros
Isl defines its own set of memory management macros. These macros currently
expect an isl_ctx*, but do not yet actively use it. Hence, it is possible to
pass a random string to these macros, without the compiler issuing any warnings.
And in case an isl_ctx* is passed, the compiler does not count the macro call
as a valid use, which may lead to some unexpected 'variable never used'
warnings.
We solve this, by adding a compile time check that always verifies that ctx has
the type isl_ctx*. This is also a valid use of ctx and consequently stops the
'variable never used' warnings. The check itself is designed such that it will
be optimized out during compilation.
While at this fix all cases, where some invalid structures were passed to the
memory location macros instead of an valid isl_ctx*.
Signed-off-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Tobias Grosser [Tue, 7 Jun 2011 19:15:14 +0000 (16:15 -0300)]
Fix typo in comment.
Signed-off-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 5 Jun 2011 17:44:35 +0000 (19:44 +0200)]
document isl_*_fix functions
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Tobias Grosser [Thu, 2 Jun 2011 16:29:08 +0000 (13:29 -0300)]
Remove use of PATH_MAX
Instead of using statically allocated char arrays, allocate the memory for the
paths dynamically. This removes the use of PATH_MAX. PATH_MAX is not part of C99
and also seems to be incorrect on some systems that provide it (In terms of
being defined to a value smaller than the maximal path length a system
supports).
Signed-off-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Tobias Grosser [Thu, 2 Jun 2011 16:29:07 +0000 (13:29 -0300)]
Fix <strings.h> includes
Remove unneeded includes and add includes that were forgotten, because some
compiler seem to automatically add some functions if not in strict C99 mode.
Signed-off-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 3 Jun 2011 08:39:19 +0000 (10:39 +0200)]
scheduling: optionally split parallel rows in non-tilable bands
If a scheduling row that is constructed to carry dependences
is of the form, say, { S1[..] -> [2 * g(..)]; S2[..] -> [2 * g(..) + 1] },
then it is usually better to split off the constant term into a separate
band and obtain { S1[..] -> [g(..),0]; S2[..] -> [g(..),1] } instead.
In particular, the code generated from the second schedule is usually
simpler than that from the first schedule.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 25 May 2011 14:57:25 +0000 (16:57 +0200)]
scheduling: optionally create schedules with outermost parallelism
Some applications require not only tilable bands, but also parallel
loops inside those bands. The default algorithm favors larger bands
over having parallel loops inside the band. It is always possible
to sacrifice one of the loops in the band to create parallelism by
applying a wavefront transformation. This typically leads to more
complicated schedules, however.
Instead, when enabled, we now force there to be at least one parallel
loop inside each tilable band.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 4 Jun 2011 16:18:04 +0000 (18:18 +0200)]
add isl_printer_print_schedule
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 29 May 2011 15:21:23 +0000 (17:21 +0200)]
scheduling: introduce band forest interface
The new interface exposes more properties of the constructed schedule.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 29 May 2011 17:41:55 +0000 (19:41 +0200)]
isl_schedule.c: keep track of parallel loops
This information could be useful to some users.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 4 Jun 2011 08:42:01 +0000 (10:42 +0200)]
isl_schedule.c: extract out definition of isl_schedule to isl_schedule_private.h
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 3 Jun 2011 21:03:36 +0000 (23:03 +0200)]
add isl_union_map_flat_range_product
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 3 Jun 2011 08:38:50 +0000 (10:38 +0200)]
add isl_mat_normalize_row
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 29 May 2011 15:20:36 +0000 (17:20 +0200)]
add isl_printer_indent
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 28 May 2011 08:24:35 +0000 (10:24 +0200)]
add isl_dim_align_params
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 16 Apr 2011 17:50:54 +0000 (19:50 +0200)]
add isl_aff_list
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 16 Apr 2011 17:36:52 +0000 (19:36 +0200)]
add isl_printer_print_*_list
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 27 Apr 2011 10:51:19 +0000 (12:51 +0200)]
add *list_get_*
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 27 Apr 2011 10:51:00 +0000 (12:51 +0200)]
add *list_n_*
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 16 Apr 2011 12:55:10 +0000 (14:55 +0200)]
add *_list_foreach
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 16 Apr 2011 17:34:25 +0000 (19:34 +0200)]
add *_list_get_ctx
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 27 Apr 2011 14:57:14 +0000 (16:57 +0200)]
add *list_copy
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 16 Apr 2011 12:40:23 +0000 (14:40 +0200)]
generalize isl_basic_set_list to generic lists
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 4 Jun 2011 11:18:36 +0000 (13:18 +0200)]
Merge branch 'maint'
Sven Verdoolaege [Fri, 3 Jun 2011 17:34:36 +0000 (19:34 +0200)]
isl_union_map_range_product: only consider pairs of maps with matching domains
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 3 Jun 2011 17:20:00 +0000 (19:20 +0200)]
isl_mat_scale_down: avoid trampling over aliased matrices
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 2 Jun 2011 12:12:03 +0000 (14:12 +0200)]
add isl_aff_scale and isl_aff_scale_down
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 2 Jun 2011 12:11:35 +0000 (14:11 +0200)]
add isl_aff_add and isl_aff_sub
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 2 Jun 2011 12:04:44 +0000 (14:04 +0200)]
add isl_inequality_from_aff
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 2 Jun 2011 12:04:07 +0000 (14:04 +0200)]
add isl_seq_addmul
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 25 May 2011 14:12:03 +0000 (16:12 +0200)]
isl_vertices.c: avoid use of unitialized variables on an error path
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 25 May 2011 14:11:46 +0000 (16:11 +0200)]
isl_transitive_closure.c: avoid use of an unitialized variable on an error path
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 25 May 2011 14:11:34 +0000 (16:11 +0200)]
isl_polynomial.c: avoid use of an unitialized variable on an error path
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 25 May 2011 13:13:23 +0000 (15:13 +0200)]
autogen.sh: replace by call to autoreconf
autoreconf has been available since autoconf 2.50 and we probably
depend on newer versions of autoconf already.
This doesn't solve any immediate problem, except that OS X users
can now use autogen.sh directly, as explained in e2cd3ad (configure.ac:
use non-deprecated form of AM_INIT_AUTOMAKE, Fri May 20 22:44:34 2011 +0200).
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 20 May 2011 20:44:34 +0000 (22:44 +0200)]
configure.ac: use non-deprecated form of AM_INIT_AUTOMAKE
The old form was deprecated back in automake 1.6, so it's probably
about time to switch.
The new form allows us to specify automake options, which in turn
allows us to use "autoreconf -i" instead of the current autogen.sh script.
This is especially useful for OS X users. OS X comes with its own
libtool, which is different from GNU's. GNU libtool is therefore
usually made available as glibtool and libtoolize as glibtoolize.
The current autogen.sh script therefore does not work as is for those users.
autoreconf would have the same problem, except that the macport version
of autoconf has a pathed version of autoreconf which looks for
glibtoolize instead of libtoolize.
Reported-by: Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 20 May 2011 21:20:14 +0000 (23:20 +0200)]
isl_fold.c: avoid warning about control reaching end of non-void function
Based on a patch by Tobias Grosser <tobias@grosser.es>.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 25 May 2011 11:43:37 +0000 (13:43 +0200)]
mark some functions as (possibly) unused
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 25 May 2011 10:58:40 +0000 (12:58 +0200)]
isl_polynomial.c: use flex array member to avoid array out of bounds warning
The p field in struct isl_upoly_rec is meant to be a flexible array member,
but this was only introduced in C99 and so we were using a slightly
different construct. However, we already assume C99 (in particular,
designated initializers) in the rest of the code and recent versions
of clang complain about possible array out of bounds accesses when
we don't use a flexible array member.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 23 May 2011 19:03:45 +0000 (21:03 +0200)]
isl_tab_pip.c: remove unused context_lex_extend
It appears to be a remnant of temporary commit that was reorganized
before it was applied to master. It therefore wasn't even used in
fc0a2de (isl_tab_pip.c: extract out context handling,
Thu Oct 8 13:49:57 2009 +0200), where it was introduced.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 23 May 2011 18:56:36 +0000 (20:56 +0200)]
isl_map_simplify.c: remove unused normalize_constraints_in_compressed_space
Its last use was removed in d5e1701 (isl_basic_map_gist: be more aggressive
in removing constraints, Fri Apr 23 12:00:58 2010 +0200).
Presumably, it was kept because it thought it might still be useful in the
future. However, it seems we haven't found a use for it so far and we
may be reorganizing the internals a bit in the not too distant future,
so let's just remove it for now.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 23 May 2011 18:40:54 +0000 (20:40 +0200)]
isl_map_simplify.c: remove unused set_swap_inequality
Its last use was removed in 9f3099a (isl_basic_map_gist: replace by new
version based on tableaus, Wed Mar 18 18:30:39 2009 +0100).
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 23 May 2011 17:32:11 +0000 (19:32 +0200)]
isl_convex_hull.c: remove unused set_project_out
Its last use was removed in 1df7669 (convex_hull: use elimination based
convex hull for unbounded polyhedra, Sat Sep 20 22:28:58 2008 +0200).
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 23 May 2011 17:28:14 +0000 (19:28 +0200)]
isl_convex_hull.c: remove unused swap_ineq
Its last use was removed in 95e960e (isl_basic_map_convex_hull: use
tableau to detect redundant constraints, Fri Feb 27 22:20:21 2009 +0100).
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 23 May 2011 17:43:17 +0000 (19:43 +0200)]
isl_arg.c: fix typo affecting argument parsing when flags are used
Found by clang.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 23 May 2011 17:23:02 +0000 (19:23 +0200)]
isl_transitive_closure.c: remove unused variable
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 23 May 2011 17:22:09 +0000 (19:22 +0200)]
isl_union_map.c: remove unused variables
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 23 May 2011 17:20:46 +0000 (19:20 +0200)]
isl_tab.c: avoid warning about unhandled enumeration value in switch
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 23 May 2011 17:17:34 +0000 (19:17 +0200)]
isl_tab.c: remove unused variable
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 23 May 2011 17:15:58 +0000 (19:15 +0200)]
isl_tab_pip.c: remove unused variables
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 23 May 2011 15:34:13 +0000 (17:34 +0200)]
isl_reordering.c: remove unused variables
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 23 May 2011 15:20:52 +0000 (17:20 +0200)]
isl_output.c: remove unused variable
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 23 May 2011 15:19:18 +0000 (17:19 +0200)]
isl_arg.c: remove unused variable
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 23 May 2011 15:16:46 +0000 (17:16 +0200)]
isl_map.c remove unused isl_set_swap_vars
It was introduced (but already unused) in the initial commit and was made
private in 90862d1 (add private isl_basic_map_swap_vars,
Wed Mar 9 10:33:55 2011 +0100).
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 23 May 2011 15:09:40 +0000 (17:09 +0200)]
isl_map.c: remove unused variables
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 22 May 2011 16:27:42 +0000 (18:27 +0200)]
isl_map_subtract.c: remove unused variables
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 22 May 2011 16:26:08 +0000 (18:26 +0200)]
isl_morph.c: remove unused variable
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 22 May 2011 16:25:23 +0000 (18:25 +0200)]
isl_polynomial.c: remove unused variables
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 22 May 2011 16:23:52 +0000 (18:23 +0200)]
isl_input.c: remove unused variables
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 22 May 2011 16:21:37 +0000 (18:21 +0200)]
isl_bernstein.c: remove unused variable
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 22 May 2011 16:21:03 +0000 (18:21 +0200)]
isl_dim.c: avoid warnings about unhandled enumeration value in switch
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 21 May 2011 19:51:22 +0000 (21:51 +0200)]
isl_dim_drop: fix botched up rename of parameter
07889cd (add isl_basic_map_remove, Wed Feb 18 13:42:55 2009 +0100) renamed
the "n" argument of isl_dim_drop to "num", but forgot one instance.
The mistake was harmless, but it made the (minor) optimization
ineffective.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 20 May 2011 21:18:50 +0000 (23:18 +0200)]
bound.c: remove unused variable
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 20 May 2011 21:06:51 +0000 (23:06 +0200)]
isl_local_space.c: remove unused variable
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 20 May 2011 21:03:26 +0000 (23:03 +0200)]
isl_pw_templ.c: remove unused label
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 20 May 2011 20:59:58 +0000 (22:59 +0200)]
isl_fold.c: fix typo
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 20 May 2011 20:58:19 +0000 (22:58 +0200)]
isl_union_templ.c: remove unused variables
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 20 May 2011 20:58:00 +0000 (22:58 +0200)]
isl_fold.c: remove unused variable
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 20 May 2011 10:06:13 +0000 (12:06 +0200)]
add isl_basic_set_max
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 20 May 2011 10:02:03 +0000 (12:02 +0200)]
isl_qpolynomial_from_aff: create private copy of divs
Otherwise, reduce_divs could end up modifying the divs of the input isl_aff.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 20 May 2011 09:50:27 +0000 (11:50 +0200)]
isl_aff_expand_divs: fix typo
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 20 May 2011 09:23:49 +0000 (11:23 +0200)]
isl_aff_alloc: check that all divs are known
Sven Verdoolaege [Fri, 20 May 2011 09:23:31 +0000 (11:23 +0200)]
add isl_local_space_divs_known
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 20 May 2011 13:07:16 +0000 (15:07 +0200)]
Merge branch 'maint'
Sven Verdoolaege [Fri, 20 May 2011 09:24:20 +0000 (11:24 +0200)]
isl_qpolynomial_* constructors: check dim before accessing fields
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 18 May 2011 13:03:11 +0000 (15:03 +0200)]
add isl_qpolynomial_from_aff
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 18 May 2011 12:46:16 +0000 (14:46 +0200)]
isl_qpolynomial_involves_dims: fix typo
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 18 May 2011 11:25:04 +0000 (13:25 +0200)]
isl_polynomial.c: fix typo in comment
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 18 May 2011 11:07:52 +0000 (13:07 +0200)]
add isl_aff_get_dim
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 17 May 2011 13:29:16 +0000 (15:29 +0200)]
isl_basic_map_from_local_space: don't finalize result
This function is only called internally during the construction
of isl_constraints and isl_divs and we don't want to remove redundant
existentially quantified variables in these cases.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 12 May 2011 13:59:09 +0000 (15:59 +0200)]
add isl_set_add_constraint
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 12 May 2011 13:55:15 +0000 (15:55 +0200)]
add isl_equality_from_aff
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 12 May 2011 11:32:38 +0000 (13:32 +0200)]
add isl_set_max
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 11 May 2011 16:26:05 +0000 (18:26 +0200)]
add isl_constraint_get_bound
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 11 May 2011 16:01:59 +0000 (18:01 +0200)]
add isl_{basic_,}map_may_be_set
Sets and maps share the same internal representation, but only
some of those internal representations can be sets.
Add specific functions to test this condition, replacing some
open coded variants.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 16 Apr 2011 14:23:57 +0000 (16:23 +0200)]
add isl_aff
Affine expressions will be used in a subsequent commit to specify
the objective function for an ILP problem, but they should hopefully
be more generally useful.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 12 May 2011 11:03:10 +0000 (13:03 +0200)]
add isl_basic_set_expand_divs
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 12 May 2011 10:24:16 +0000 (12:24 +0200)]
isl_polynomial.c: move merge_divs to isl_local_space.c
In time, we will want to define isl_qpolynomials over isl_local_spaces.
We start by moving some of the handling of divs to isl_local_space.c
as it also useful for local spaces in general.
The merging is adapted to handle possibly unknown divs, which should
never be merged.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 16 Apr 2011 17:47:13 +0000 (19:47 +0200)]
add isl_local_space
Local spaces should hopefully replaced the duplicate functionality
in basic sets and quasi-polynomials.
In a later commit, we will start by using it in affine expressions.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 16 Apr 2011 17:41:16 +0000 (19:41 +0200)]
isl_dim_size: handle isl_dim_all
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>