isl_ast_build_node_from_schedule: generate disjunctions outside isolated part
commit3e4de51855e70b8331d7831a4f9542231d60d539
authorSven Verdoolaege <skimo@kotnet.org>
Fri, 24 Apr 2015 16:44:09 +0000 (24 18:44 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Tue, 30 Jun 2015 07:43:58 +0000 (30 09:43 +0200)
tree8ed54af86bf3a9b5142f8fe1d59c81a6015d5c6c
parent2ffe7e5208119c75c6a46e3c1b97aecb6940fd7e
isl_ast_build_node_from_schedule: generate disjunctions outside isolated part

When an isolate option is being used, the parts of the schedule domain
outside of the isolated part may be described using a disjunction.
This disjunction then gets introduced into the executed relation and
may end up getting generated at the leaves.
Although there is some support for hoisting disjunctions up, this support
is fairly limited.  Moreover, if there are any extension nodes
in between the isolation and the leaves, then the disjunction
may not apply to the extension such that it cannot even be hoisted up.

Generate the disjunction directly at the point of the isolation.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
isl_ast_codegen.c
test_inputs/codegen/isolate2.c