isl_ast_codegen.c: build_ast_from_extension: only include simple hull of domain
commit2ffe7e5208119c75c6a46e3c1b97aecb6940fd7e
authorSven Verdoolaege <skimo@kotnet.org>
Sat, 25 Apr 2015 09:40:14 +0000 (25 11:40 +0200)
committerSven Verdoolaege <skimo@kotnet.org>
Tue, 30 Jun 2015 07:43:58 +0000 (30 09:43 +0200)
tree26704128bb4d8a7002b2f1a8e1f88b9632754fd4
parentf1fd473e90ef90c1f427850ba74729941e4cd0d6
isl_ast_codegen.c: build_ast_from_extension: only include simple hull of domain

If the current generated domain contains any disjunctions, then
intersecting the extension with the actual generated domain
may needlessly introduce disjunctions which can complicate
the generated code.
In particular, this will happen when we introduce the disjunction
implied by the pieces of the schedule domain that lie outside
of some isolated part in the generated domain.

Intersect the extension with the simple hull of the generated domain
instead.  Note that in exceptional cases, this may result in
the generation of a subtree that does not execute any code.
If this turns out to be a problem, then we may need to introduce
additional tests to detect such situations beforehand.

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