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>
Sven Verdoolaege [Wed, 29 Feb 2012 10:37:39 +0000 (11:37 +0100)]
add isl_printer_get_output_format
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 28 Feb 2012 19:20:27 +0000 (20:20 +0100)]
add isl_local_space_has_dim_name
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 28 Feb 2012 18:19:34 +0000 (19:19 +0100)]
add isl_constraint_get_local_space
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 28 Feb 2012 11:42:48 +0000 (12:42 +0100)]
add isl_constraint_is_{lower,upper}_bound
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 28 Feb 2012 11:12:19 +0000 (12:12 +0100)]
add isl_basic_set_n_constraint
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 28 Feb 2012 11:07:46 +0000 (12:07 +0100)]
doc: document isl_basic_set_foreach_constraint
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 27 Feb 2012 10:55:29 +0000 (11:55 +0100)]
add isl_set_has_tuple_name
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 27 Feb 2012 10:53:54 +0000 (11:53 +0100)]
add isl_space_has_tuple_name
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 29 Feb 2012 16:58:14 +0000 (17:58 +0100)]
isl_aff_private.h: add missing include
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sun, 22 Apr 2012 08:25:53 +0000 (10:25 +0200)]
add isl_seq_dump
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 11 Apr 2012 10:48:09 +0000 (12:48 +0200)]
add isl_printer_get_file
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 29 Mar 2012 14:01:39 +0000 (16:01 +0200)]
add isl_union_map_curry
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 29 Mar 2012 14:01:33 +0000 (16:01 +0200)]
isl_space.c: avoid use of "0" as pointer value
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 29 Mar 2012 12:38:27 +0000 (14:38 +0200)]
add isl_map_order_gt
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 29 Mar 2012 12:37:35 +0000 (14:37 +0200)]
add isl_map_from_aff
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 22 Mar 2012 16:03:47 +0000 (17:03 +0100)]
isl_args_parse: optionally ignore --help
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 12:33:45 +0000 (13:33 +0100)]
move generic part of isl_union_pw_qpolynomial_mul to isl_union_templ.c
This simplifies the interface of match_bin_op, even though it is currently
only used in one place.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 13:38:05 +0000 (14:38 +0100)]
add isl_union_pw_multi_aff_flat_range_product
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 13:35:31 +0000 (14:35 +0100)]
isl_pw_*_on_shared_domain: allow specification of target space
We will need exploit this possibility in the next commit.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 13:32:22 +0000 (14:32 +0100)]
add isl_union_map_from_union_pw_multi_aff
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 18 Apr 2012 09:33:48 +0000 (11:33 +0200)]
isl_aff.c: fix typo in comment
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 13:28:53 +0000 (14:28 +0100)]
add isl_union_pw_multi_aff_from_domain
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 13:24:15 +0000 (14:24 +0100)]
add isl_union_pw_multi_aff
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 13:12:08 +0000 (14:12 +0100)]
isl_union_pw_*: don't assume zero is the default value
Although we consider an isl_pw_qpolynomial to be zero by default,
we will not do so for the isl_pw_multi_affs we will introduce next.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 12:23:21 +0000 (13:23 +0100)]
add isl_pw_multi_aff_from_multi_aff
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 19 Mar 2012 15:04:54 +0000 (16:04 +0100)]
export isl_multi_aff_set_aff
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 19 Mar 2012 15:03:29 +0000 (16:03 +0100)]
add isl_multi_aff_zero
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Mon, 19 Mar 2012 15:01:25 +0000 (16:01 +0100)]
add isl_map_from_multi_aff
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 15:38:39 +0000 (16:38 +0100)]
isl_basic_set_parameter_compression: use isl_vec_set
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 15:32:55 +0000 (16:32 +0100)]
isl_flow.c: use public isl_vec interface
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 15:51:30 +0000 (16:51 +0100)]
add isl_vec_set_si
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 15:38:04 +0000 (16:38 +0100)]
add isl_vec_set
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 15:32:13 +0000 (16:32 +0100)]
add public isl_vec interface
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 15:51:21 +0000 (16:51 +0100)]
add isl_seq_set_si
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 12:28:27 +0000 (13:28 +0100)]
isl_union_pw_*_free: return NULL
Returning NULL helps to simplify error handling code.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 20 Mar 2012 12:17:21 +0000 (13:17 +0100)]
split off declarations of isl_union_map and isl_union_set
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Riyadh Baghdadi [Tue, 1 May 2012 13:48:44 +0000 (15:48 +0200)]
isl_map_deltas: add memory management annotations
Signed-off-by: Riyadh Baghdadi <baghdadi.m.riyadh@gmail.com>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 5 Apr 2012 09:40:16 +0000 (11:40 +0200)]
isl_access_info: change interface for specifying restrictions
The original interface would only allow the user to restrict the source
iterations, while the user may also want to restrict the sink iterations.
The new interface also makes it more convenient for the user to specify
that no restriction should be applied and allows for a restriction
on the result of the maximization problem.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 17 Apr 2012 17:05:00 +0000 (19:05 +0200)]
isl_map_coalesce: only coalesce pairs of basic maps with the same divs
Most of the heuristics won't be able to find any coalescing opportunities
on basic maps with different divs, so it's not worth it to even try.
A notable exception is the subset test, which is now handled separately.
Since we only perform the tests after checking that the divs are the same,
there is no point in aligning the divs over all basic maps. This could
be a very expensive operation, especially if some divs are unknown as it
would then compute explicit representations for all divs. This could have
the counter-intuitive effect that the ouptut of isl_map_coalesce would have
_more_ basic maps (because of the splits introduced during the computation
of explicit representations) than the input.
Instead, we know simply sort the known divs.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 30 Mar 2012 10:53:51 +0000 (12:53 +0200)]
isl_coalesce.c: change interface of {in,}eq_status_in
We will want to call them on a modified basic map in the next commit.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 17 Apr 2012 17:04:21 +0000 (19:04 +0200)]
add isl_map_sort_divs
Sorting divs should improve the effectiveness of isl_merge_divs.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 30 Mar 2012 12:19:20 +0000 (14:19 +0200)]
add isl_set_coalesce test case
We will be making changes to isl_map_coalesce and we want to make sure
we won't break this case.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 18 Apr 2012 08:48:16 +0000 (10:48 +0200)]
add isl_basic_map_get_divs
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 18 Apr 2012 08:31:50 +0000 (10:31 +0200)]
isl_merge_divs: handle NULL input
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Wed, 18 Apr 2012 08:54:21 +0000 (10:54 +0200)]
Merge branch 'maint'
Sven Verdoolaege [Wed, 18 Apr 2012 08:46:20 +0000 (10:46 +0200)]
isl_local_space_alloc_div: fix error handling
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Sat, 14 Apr 2012 21:21:55 +0000 (23:21 +0200)]
isl_union_set_compute_schedule: ignore backward proximity edges on split
Proximity edges are not taken into account during the detection
of strongly connected components. When we split the dependence graph
based on these SCCs, we may therefore have proximity edges that go
back from a SCC behind the split to a SCC ahead of the split. These should
be ignored, just like those edges that go from ahead of the split to behind
the split.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 17 Apr 2012 10:50:27 +0000 (12:50 +0200)]
isl_basic_map_insert: preserve emptiness
isl_basic_map_plain_is_empty doesn't look at the constraints but only
at the ISL_BASIC_MAP_EMPTY flag. We therefore need to make sure the
flag is set on the output of isl_basic_map_insert if it was set on the
input.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Tue, 17 Apr 2012 10:34:22 +0000 (12:34 +0200)]
isl_basic_set_total_dim: handle NULL input
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 30 Mar 2012 13:14:54 +0000 (15:14 +0200)]
isl_term_get_div: support nested divs
Ever since 028d1a7 (drop isl_div abstraction, Fri Sep 9 14:55:16 2011 +0200),
the result of isl_term_get_div is an isl_aff and it can handle nested divs
just fine. We therefore simply need to remove the now redundant check.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 30 Mar 2012 13:18:35 +0000 (15:18 +0200)]
isl_term_get_div: normalize result
In particular, remove unused divs from the result.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Thu, 5 Apr 2012 08:31:04 +0000 (10:31 +0200)]
isl_access_info_compute_flow: sort accesses in textual order
Before, we tried to be clever and sorted the accesses in order
of increasing number of shared levels with the sink access.
However, this has little advantage over textual order.
Textually later accesses that cannot precede the sink at a given level
are simply skipped.
On the other hand, when we consider a loop level, we usually
do want to consider the textually last access first and not some
textually earlier access that happens to share more levels with the sink.
In particular, if this textually last access covers all the pending
sink accesses, there is no need to consider earlier accesses,
whereas you would always have to consider later accesses if you started
out with an earlier access.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 13 Apr 2012 14:43:57 +0000 (16:43 +0200)]
isl_flow.c: access_sort_cmp: use isl_quicksort
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
Sven Verdoolaege [Fri, 13 Apr 2012 14:39:04 +0000 (16:39 +0200)]
isl_qsort.h: fix whitespace
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>