isl_ast_build_node_from_schedule: handle basic AST build options
commit978192140aa4be7176c3bded39cbbb77a0f5b316
authorSven Verdoolaege <skimo@kotnet.org>
Fri, 27 Sep 2013 08:15:20 +0000 (27 10:15 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Wed, 25 Feb 2015 09:52:42 +0000 (25 10:52 +0100)
tree001d7163cb34ea3c1499533daf44c6cdd313e7b6
parent6b350ed0c922a4c59ee2e89bb114c3f010e5d287
isl_ast_build_node_from_schedule: handle basic AST build options

That is, handle the atomic/separate/unroll choice for each schedule
dimension in a band node.  These options are much simpler than their
schedule map representation counterparts.  When using a schedule map
representation, the options had to describe which part of the schedule
tree encoded in the schedule map was affected.  Since the new options
are attached directly to a band node, they only need to describe
which of the schedule dimensions within the band is/are affected.

In theory, the new options are less expressive, but in practice,
the extra expressiveness is not used or even usable.
In particular, the new options are much easier to use by the user
and much easier to handle by isl with a seriously reduced risk
for inconsistencies.

We provide two interfaces for setting these options,
one through a function call and one through an options string.
The first is easier to use programmatically, while the second
is easier to use when loading a schedule tree from a file.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
19 files changed:
codegen.c
doc/user.pod
include/isl/ast_type.h
include/isl/schedule_node.h
isl_ast_build.c
isl_ast_build_private.h
isl_ast_codegen.c
isl_schedule_band.c
isl_schedule_band.h
isl_schedule_node.c
isl_schedule_read.c
isl_schedule_tree.c
isl_schedule_tree.h
test_inputs/codegen/atomic.st [new file with mode: 0644]
test_inputs/codegen/separate.st [new file with mode: 0644]
test_inputs/codegen/unroll8.c [new file with mode: 0644]
test_inputs/codegen/unroll8.st [new file with mode: 0644]
test_inputs/codegen/unroll9.c [new file with mode: 0644]
test_inputs/codegen/unroll9.st [new file with mode: 0644]