Sven Verdoolaege [Fri, 2 Mar 2012 10:38:32 +0000 (11:38 +0100)]
isl_stream_read_map: force result to be a map
In particular, if obj_read returns a set, then turn it into a map.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 1 Mar 2012 10:02:01 +0000 (11:02 +0100)]
isl_stream_read_map: accept rational affine expressions
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 19 Apr 2012 19:55:09 +0000 (21:55 +0200)]
add isl_map_{lexmin,lexmax}_pw_multi_aff
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 15 May 2012 11:00:53 +0000 (13:00 +0200)]
declare isl_map_remove_unknown_divs
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 4 Jul 2012 11:10:58 +0000 (13:10 +0200)]
doc: document isl_set_remove_unknown_divs
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 15 May 2012 11:00:02 +0000 (13:00 +0200)]
declare isl_map_remove_divs_involving_dims
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 3 Apr 2012 11:31:49 +0000 (13:31 +0200)]
add isl_basic_set_remove_divs_involving_dims
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 4 Jul 2012 10:17:43 +0000 (12:17 +0200)]
doc: document isl_set_remove_divs_involving_dims
This function is used by CLooG.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 11 Apr 2012 12:50:48 +0000 (14:50 +0200)]
add isl_basic_set_eliminate
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 9 Apr 2012 15:05:00 +0000 (17:05 +0200)]
add isl_union_set_from_basic_set and isl_union_map_from_basic_map
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 29 Feb 2012 17:53:50 +0000 (18:53 +0100)]
add isl_basic_{set,map}_insert_dims
We already had a (private) isl_basic_map_insert, but we rename it to
isl_basic_map_insert_dims for consistency with isl_map_insert_dims.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 25 Apr 2012 18:03:25 +0000 (20:03 +0200)]
add isl_basic_{set,map}_align_params
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 26 Jun 2012 16:38:37 +0000 (18:38 +0200)]
add isl_union_map_domain_product
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 21 Jun 2012 13:08:07 +0000 (15:08 +0200)]
declare isl_basic_map_product
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 3 Apr 2012 08:48:14 +0000 (10:48 +0200)]
add isl_pw_multi_aff_product
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 19 Apr 2012 19:54:19 +0000 (21:54 +0200)]
add isl_pw_multi_aff_union_{lexmin,lexmax}
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 30 Jun 2012 12:47:04 +0000 (14:47 +0200)]
isl_set_free: return NULL
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 19 Apr 2012 19:53:21 +0000 (21:53 +0200)]
add isl_multi_aff_lex_{le,ge}_set
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 19 Apr 2012 19:52:15 +0000 (21:52 +0200)]
declare isl_multi_aff_get_domain_space
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 16 Apr 2012 15:27:00 +0000 (17:27 +0200)]
add isl_multi_aff_identity
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 18 Apr 2012 16:07:07 +0000 (18:07 +0200)]
add isl_aff_neg_basic_set
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 19 Apr 2012 08:54:58 +0000 (10:54 +0200)]
add isl_aff_add_constant_num{,_si}
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 25 Apr 2012 08:51:49 +0000 (10:51 +0200)]
add isl_id_list
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 29 Feb 2012 16:30:38 +0000 (17:30 +0100)]
add isl_*_list_set_*
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 9 Jun 2012 13:15:41 +0000 (15:15 +0200)]
add isl_pw_multi_aff_has_tuple_name
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 28 May 2012 14:16:29 +0000 (16:16 +0200)]
declare isl_pw_aff_get_tuple_id
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 3 Mar 2012 13:21:09 +0000 (14:21 +0100)]
add isl_map_has_dim_name
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 26 May 2012 13:29:52 +0000 (15:29 +0200)]
add isl_local_space_has_dim_id and isl_local_space_get_dim_id
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 10 May 2012 13:57:06 +0000 (15:57 +0200)]
isl_set_opt: align parameters
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 25 Apr 2012 18:41:14 +0000 (20:41 +0200)]
isl_multi_*_set_*: check that parameters and domains match
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 25 Apr 2012 15:05:16 +0000 (17:05 +0200)]
isl_basic_map_range_product: check that parameters match
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 16 May 2012 11:51:16 +0000 (13:51 +0200)]
isl_basic_map_simplify: eliminate known divs that appear with unit coefficient
They can be eliminated without loss of accuracy and this elimination
results in "simpler" constraints.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 17 May 2012 08:22:23 +0000 (10:22 +0200)]
isl_basic_map_remove_divs_involving_dims: insert bounds before removing divs
The div will be removed using Fourier-Motzkin elimination and the extra
bounds can be used to improve accuracy of the result.
For example, eliminating the div from the following set
{ [i,j,k] : 3 + i + 2j >= 0 and 2 * [(i+2j)/4] <= k }
we now first use the first constraint to derive a lower bound
on the div:
[(i + 2j)/4] >= [-3/4] = -1
During the elimination, this bound can be combined with the upper bound
to result in the additional constraint
k >= -2
Although this technique can be applied in general, it is especially
useful after the next commit, where we will eliminate divs
that appear with a unit coefficient. If the same div also appears
in other constraints with a non-unit coefficient, and we later
decide to eliminate the div, then this technique can be used to
recover some of those constraints so that we can avoid losing accuracy.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 16 May 2012 14:01:24 +0000 (16:01 +0200)]
isl_basic_map_simplify: normalize div expressions
That is, remove common divisors in numerator and denominator.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Tobias Grosser [Thu, 2 Aug 2012 08:52:54 +0000 (10:52 +0200)]
Use an MIT licensed mergesort as the sorting algorithm for isl
This patch replaces the old LGPL licenced quicksort implementation taken
from glibc.
The call sites are adjusted to the fact that isl_sort can now fail
(due to failed memory allocation).
Signed-off-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 2 Aug 2012 10:06:30 +0000 (12:06 +0200)]
isl_access_info_free: return NULL
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 31 Jul 2012 12:47:26 +0000 (14:47 +0200)]
add isl_printer_print_double
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 30 Jul 2012 09:16:48 +0000 (11:16 +0200)]
doc: add a note on isl_dim_type
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 29 Jul 2012 16:11:23 +0000 (18:11 +0200)]
doc: add a note about isl_*_intersect and parametric sets
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 28 Jul 2012 18:24:32 +0000 (20:24 +0200)]
doc: add missing documentation for some scheduling options
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 27 Jul 2012 16:21:24 +0000 (18:21 +0200)]
Merge branch 'maint'
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 18 Jul 2012 15:52:11 +0000 (17:52 +0200)]
isl_pw_*_realign_domain: plug memory leak on error path
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 19 Jul 2012 11:29:36 +0000 (13:29 +0200)]
isl_handle_error: avoid use of isl_options_get_on_error
isl_options_get_on_error could end up calling isl_handle_error
recursively, resulting in an infinite calling sequence.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 20 Jul 2012 17:41:17 +0000 (19:41 +0200)]
isl_space_extend_domain_with_range: handle ranges with a nested space
The original code would only take into account the number of dimensions
and the tuple name.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 27 Jul 2012 15:17:38 +0000 (17:17 +0200)]
isl_map_eliminate: check for overflow in computation of last dimension
In particular, if the computation of the last dimension overflows,
then at least one of the dimensions is out of bounds.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 27 Jul 2012 16:14:54 +0000 (18:14 +0200)]
isl_*_eliminate: update comments to reflect recent change
In particular, since baf22b7 (isl_*_eliminate: perform integer elimination,
Tue Apr 17 12:29:41 2012 +0200), the elimination is no longer performed
using Fourier-Motzkin (unless the input is marked rational).
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 16 Jul 2012 11:09:19 +0000 (13:09 +0200)]
Merge branch 'maint'
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 16 Jul 2012 11:06:23 +0000 (13:06 +0200)]
isl_multi_aff_set_dim_name: do not set name of elements if type is isl_dim_out
An isl_aff does not keep track of the name of its output dimension.
Even if it did, we would have to change the name of only the specified
element and not of all elements as we did before this commit.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 5 Jul 2012 06:03:34 +0000 (08:03 +0200)]
add doc/SubmittingPatches to the distribution
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 19 Jun 2012 10:06:22 +0000 (12:06 +0200)]
doc: fix typos
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 17 Apr 2012 10:29:41 +0000 (12:29 +0200)]
isl_*_eliminate: perform integer elimination
The original code would perform the elimination "rationally" by
simply applying Fourier-Motzkin on them. If the input
is an integer set or map, this could drop information on other dimensions.
For example, eliminating the second dimension of
{ [i, j] : i = 2 j }
would result in
{ [i, j] }
while it should result in
{ [i, j] : exists a : i = 2 a }
We now perform an integer elimination (on integer sets and maps).
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 11 Jul 2012 06:36:54 +0000 (08:36 +0200)]
privately export isl_basic_map_insert
We need it in the next commit.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Mythri Alle [Sun, 8 Jul 2012 14:27:01 +0000 (16:27 +0200)]
isl_hash.c: reset the number of entries to 0 when growing the hash table
The hash table is grown by creating a new table and adding the entries
of the old table to the new table. Since the new table starts out as
being empty, the number of entries should be reset to 0.
Not only would the old code result in isl_union_map_n_map returing
the wrong value if the underlying hash table had ever been grown,
it would also result in the table subsequently being grown again
far too early.
Signed-off-by: Mythri Alle <mythri.alle@gmail.com>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 14 Jun 2012 08:42:12 +0000 (10:42 +0200)]
isl_flow.c: merge isl_restriction_none and isl_restriction_empty
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 9 Jun 2012 13:10:04 +0000 (15:10 +0200)]
isl_tab_basic_map_partial_lexopt: don't normalize intermediate div expressions
The function get_row_parameter_div would call normalize_div before finishing
the construction of the div expression. In particular, it would call
normalize_div before negating the coefficients. Since normalize_div may round
down the constant term, the result of first normalizing and then negating
may result in a different div than first negating and then normalizing.
Call normalize_div only after negating the coefficients.
Reported-by: Alexandre Isoard <alexandre.isoard@ens-lyon.fr>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 3 Jun 2012 13:47:09 +0000 (15:47 +0200)]
isl 0.10
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 3 Jun 2012 15:57:19 +0000 (17:57 +0200)]
isl_space.c: avoid icc warning
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 3 Jun 2012 15:52:16 +0000 (17:52 +0200)]
isl_schedule.c: fix types of enum isl_edge_type iterators
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 3 Jun 2012 15:47:09 +0000 (17:47 +0200)]
isl_input.c: construct_constraints: avoid icc warning
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 3 Jun 2012 15:42:38 +0000 (17:42 +0200)]
isl_handle_error: fix type of error argument
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 3 Jun 2012 13:47:32 +0000 (15:47 +0200)]
update AUTHORS
Sven Verdoolaege [Thu, 24 May 2012 10:28:06 +0000 (12:28 +0200)]
add isl_map_order_lt
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 27 May 2012 12:21:16 +0000 (14:21 +0200)]
isl_space_unwrap: fix error message
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 30 May 2012 11:35:32 +0000 (13:35 +0200)]
Merge branch 'maint'
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 29 May 2012 17:45:58 +0000 (19:45 +0200)]
isl_union_set_compute_schedule: fix computation of maximal number of rows
The original computation wasn't documented, but was probably wrong.
The maximal number of schedule rows is now computed in a separate
and documented function.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 30 May 2012 09:03:12 +0000 (11:03 +0200)]
isl_space_insert_dims: fix handling of nested spaces
In particular, if we are inserting parameters, then we should also
insert them in any nested spaces.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 30 May 2012 10:34:55 +0000 (12:34 +0200)]
isl_restriction_{none,empty}: "take" argument for consistency
The other isl_restriction constructors "take" their arguments,
so it seems more consistent for isl_restriction_none and
isl_restriction_empty to do so as well.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Andreas Kloeckner [Sun, 20 May 2012 21:38:53 +0000 (17:38 -0400)]
Add isl_restriction_get_ctx
Signed-off-by: Andreas Kloeckner <inform@tiker.net>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 18 May 2012 09:43:12 +0000 (11:43 +0200)]
isl_space.c: document name_ok
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 21 May 2012 12:24:46 +0000 (14:24 +0200)]
Merge branch 'maint'
Andreas Kloeckner [Sun, 20 May 2012 19:11:58 +0000 (15:11 -0400)]
Call finalize in isl_basic_map_set_dim_name
Signed-off-by: Andreas Kloeckner <inform@tiker.net>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 18 May 2012 09:40:29 +0000 (11:40 +0200)]
isl_space_set_dim_name: handle NULL name
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 18 May 2012 09:25:58 +0000 (11:25 +0200)]
isl_basic_map_zip: always call isl_basic_map_cow
We were relying on isl_basic_map_swap_vars calling isl_basic_map_cow for us,
but if no actual swapping needs to be performed (because the number
of variables to swap is zero), then isl_basic_map_swap_vars will not call
isl_basic_map_cow.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 16 May 2012 14:25:11 +0000 (16:25 +0200)]
isl_morph.c: add_strides: clear newly added divs
Although we know what the divs should look like, we leave it to
isl_basic_map_simplify to extract them from the equalities we add.
However, we should at least mark them as (initially) unknown as
isl_basic_map_simplify may perform some other simplifications based
on the div expressions.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 8 May 2012 10:52:50 +0000 (12:52 +0200)]
isl_tab_pip.c: fix typos in comment
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 11 May 2012 08:49:40 +0000 (10:49 +0200)]
isl_test: be more verbose
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 9 Apr 2012 18:26:14 +0000 (20:26 +0200)]
isl_aff_floor: add special case for constant arguments
Requested-by: Tobias Grosser <tobias@grosser.es>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 11 May 2012 08:02:19 +0000 (10:02 +0200)]
doc: explain isl_*_is_subset
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 11 May 2012 07:35:32 +0000 (09:35 +0200)]
isl_map_order_gt: add special case for ordering a dimension wrt itself
Ordering a dimension with respect to itself isn't very useful, but we
should still produce the correct result.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 11 May 2012 07:39:56 +0000 (09:39 +0200)]
add tests for isl_map_oppose
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 11 May 2012 07:35:32 +0000 (09:35 +0200)]
isl_map_equate: add special case for equating a dimension to itself
Equating a dimension to itself isn't very useful, but we should still
produce the correct result.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 15:01:12 +0000 (16:01 +0100)]
add isl_schedule_foreach_band
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 15:00:45 +0000 (16:00 +0100)]
add isl_band_list_foreach_band
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 16:55:52 +0000 (17:55 +0100)]
add isl_band_tile
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 16:55:24 +0000 (17:55 +0100)]
add isl_band_dup
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 16:03:46 +0000 (17:03 +0100)]
isl_schedule.c: extract out isl_band_alloc
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 16:53:35 +0000 (17:53 +0100)]
isl_schedule_get_map: extract schedule from band forest if available
In the next commits, we will allow the user to modify the band forest.
This means that the schedule represented by the modified band forest
may not be the same as the schedule that was originally computed.
We therefore need to extract it from this forest if the forest
has been constructed already.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 16:53:08 +0000 (17:53 +0100)]
isl_band.c: extract out isl_band_list_get_suffix_schedule
This cleans up the code a little bit and will be useful in the next commit.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 13:39:39 +0000 (14:39 +0100)]
isl_band: use isl_union_pw_multi_aff to represent partial schedule
An isl_multi_aff is a more natural representation for the kind of schedules
we are constructing and will make it easier to perform tiling.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 19 Mar 2012 15:06:37 +0000 (16:06 +0100)]
isl_schedule_node: represent schedule using isl_multi_aff
An isl_multi_aff is a more natural representation for the kind of schedules
we are constructing and will make it easier to perform tiling on the resulting
bands.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 11 Apr 2012 09:42:29 +0000 (11:42 +0200)]
isl_union_set_compute_schedule: separate components by default
Serialize (weakly connected) components by assigning them separate
values at an outer dimension by default.
Although it is possible for independent components to be executed
in parallel, it is usually not a good idea to do so.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 11 Apr 2012 09:24:27 +0000 (11:24 +0200)]
isl_union_set_compute_schedule: components may also involve proximity edges
When looking for (weakly connected) components, we used to only consider
validity dependences, but the presence of a proximity dependence may
also be a reason for keeping two nodes together.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 13 Apr 2012 09:32:53 +0000 (11:32 +0200)]
isl_union_set_compute_schedule: also keep track of proximity edges in hash table
We don't use this additional hash table yet, but we will need it the next
commit. A separate hash table is needed because the entries are keyed
by the source and destination node, so there can be only one edge
between a given pair of nodes in a single table.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 29 Apr 2012 15:55:36 +0000 (17:55 +0200)]
isl_schedule.c: extract out graph_edge_table_add
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 26 Mar 2012 10:55:35 +0000 (12:55 +0200)]
isl_union_set_compute_schedule: only carry validity dependences
If we are forced to try and carry come dependences because of some conflict,
then we only need to carry those dependences that may lead to a conflict.
That is, we only need to carry validity dependences.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 26 Mar 2012 10:20:54 +0000 (12:20 +0200)]
isl_schedule.c: simplify computation of number of constraints
Instead of telling count_constraints how many times it should
count any given constraint, we now tell it whether we want to
compute the number of constraints for the main LP or for the
carrying LP.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 26 Mar 2012 11:04:02 +0000 (13:04 +0200)]
isl_schedule.c: fix typos in comments
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 29 Feb 2012 11:50:38 +0000 (12:50 +0100)]
add isl_basic_map_is_single_valued
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 29 Feb 2012 11:39:01 +0000 (12:39 +0100)]
add isl_basic_map_equate
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 29 Feb 2012 10:40:13 +0000 (11:40 +0100)]
add isl_basic_set_get_dim_id
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>