Update to isl 1b3ba3b72c0482fd36bf0b4a1186a259f7bafeed

This includes the following very useful isl commit:

commit d962967ab42323ea5ca0398956fbff6a98c782fa
Author: Sven Verdoolaege <skimo@kotnet.org>
Date:   Wed Dec 18 12:05:32 2013 +0100

allow the user to impose a bound on the number of low-level operations

This should allow the user to deterministically limit the effort spent on a
computation.

llvm-svn: 200155
This commit is contained in:
Tobias Grosser 2014-01-26 19:36:28 +00:00
parent 771f7652a9
commit a38c92406c
3 changed files with 14 additions and 3 deletions

View File

@ -445,6 +445,8 @@ Value *IslExprBuilder::createOp(__isl_take isl_ast_expr *Expr) {
case isl_ast_op_and_then: case isl_ast_op_and_then:
case isl_ast_op_or_else: case isl_ast_op_or_else:
case isl_ast_op_call: case isl_ast_op_call:
case isl_ast_op_member:
case isl_ast_op_access:
llvm_unreachable("Unsupported isl ast expression"); llvm_unreachable("Unsupported isl ast expression");
case isl_ast_op_max: case isl_ast_op_max:
case isl_ast_op_min: case isl_ast_op_min:

View File

@ -396,7 +396,7 @@ IslScheduleOptimizer::getScheduleForBandList(isl_band_list *BandList) {
isl_band_list_free(Children); isl_band_list_free(Children);
} else if (PollyVectorizerChoice != VECTORIZER_NONE) { } else if (PollyVectorizerChoice != VECTORIZER_NONE) {
for (int j = 0; j < isl_band_n_member(Band); j++) { for (int j = 0; j < isl_band_n_member(Band); j++) {
if (isl_band_member_is_zero_distance(Band, j)) { if (isl_band_member_is_coincident(Band, j)) {
isl_map *TileMap; isl_map *TileMap;
isl_union_map *TileUMap; isl_union_map *TileUMap;
@ -514,8 +514,17 @@ bool IslScheduleOptimizer::runOnScop(Scop &S) {
isl_options_set_schedule_max_coefficient(S.getIslCtx(), MaxCoefficient); isl_options_set_schedule_max_coefficient(S.getIslCtx(), MaxCoefficient);
isl_options_set_on_error(S.getIslCtx(), ISL_ON_ERROR_CONTINUE); isl_options_set_on_error(S.getIslCtx(), ISL_ON_ERROR_CONTINUE);
isl_schedule_constraints *ScheduleConstraints;
ScheduleConstraints = isl_schedule_constraints_on_domain(Domain);
ScheduleConstraints =
isl_schedule_constraints_set_proximity(ScheduleConstraints, Proximity);
ScheduleConstraints = isl_schedule_constraints_set_validity(
ScheduleConstraints, isl_union_map_copy(Validity));
ScheduleConstraints =
isl_schedule_constraints_set_coincidence(ScheduleConstraints, Validity);
isl_schedule *Schedule; isl_schedule *Schedule;
Schedule = isl_union_set_compute_schedule(Domain, Validity, Proximity); Schedule = isl_schedule_constraints_compute_schedule(ScheduleConstraints);
isl_options_set_on_error(S.getIslCtx(), ISL_ON_ERROR_ABORT); isl_options_set_on_error(S.getIslCtx(), ISL_ON_ERROR_ABORT);
// In cases the scheduler is not able to optimize the code, we just do not // In cases the scheduler is not able to optimize the code, we just do not

View File

@ -1,7 +1,7 @@
#!/bin/sh #!/bin/sh
CLOOG_HASH="2d8b7c6b43ee46fee978a57fa6877de49675f357" CLOOG_HASH="2d8b7c6b43ee46fee978a57fa6877de49675f357"
ISL_HASH="34eb3a0c3d52875ec93e926f12713feff4d08af0" ISL_HASH="1b3ba3b72c0482fd36bf0b4a1186a259f7bafeed"
PWD=`pwd` PWD=`pwd`