diff options
author | Tobias Grosser <tobias@grosser.es> | 2014-01-26 19:36:28 +0000 |
---|---|---|
committer | Tobias Grosser <tobias@grosser.es> | 2014-01-26 19:36:28 +0000 |
commit | a38c92406c1d60bd1af36393886c65ff253e0514 (patch) | |
tree | b6f99ee32e60ae51a8b4618790e46371e8aca668 | |
parent | 771f7652a90172d187b1c65f1a8cad5f8aab759c (diff) | |
download | bcm5719-llvm-a38c92406c1d60bd1af36393886c65ff253e0514.tar.gz bcm5719-llvm-a38c92406c1d60bd1af36393886c65ff253e0514.zip |
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
-rw-r--r-- | polly/lib/CodeGen/IslCodeGeneration.cpp | 2 | ||||
-rw-r--r-- | polly/lib/ScheduleOptimizer.cpp | 13 | ||||
-rwxr-xr-x | polly/utils/checkout_cloog.sh | 2 |
3 files changed, 14 insertions, 3 deletions
diff --git a/polly/lib/CodeGen/IslCodeGeneration.cpp b/polly/lib/CodeGen/IslCodeGeneration.cpp index e89384e207f..ed17050e002 100644 --- a/polly/lib/CodeGen/IslCodeGeneration.cpp +++ b/polly/lib/CodeGen/IslCodeGeneration.cpp @@ -445,6 +445,8 @@ Value *IslExprBuilder::createOp(__isl_take isl_ast_expr *Expr) { case isl_ast_op_and_then: case isl_ast_op_or_else: case isl_ast_op_call: + case isl_ast_op_member: + case isl_ast_op_access: llvm_unreachable("Unsupported isl ast expression"); case isl_ast_op_max: case isl_ast_op_min: diff --git a/polly/lib/ScheduleOptimizer.cpp b/polly/lib/ScheduleOptimizer.cpp index 415bc6e5588..14fea7c58ba 100644 --- a/polly/lib/ScheduleOptimizer.cpp +++ b/polly/lib/ScheduleOptimizer.cpp @@ -396,7 +396,7 @@ IslScheduleOptimizer::getScheduleForBandList(isl_band_list *BandList) { isl_band_list_free(Children); } else if (PollyVectorizerChoice != VECTORIZER_NONE) { 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_union_map *TileUMap; @@ -514,8 +514,17 @@ bool IslScheduleOptimizer::runOnScop(Scop &S) { isl_options_set_schedule_max_coefficient(S.getIslCtx(), MaxCoefficient); 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; - 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); // In cases the scheduler is not able to optimize the code, we just do not diff --git a/polly/utils/checkout_cloog.sh b/polly/utils/checkout_cloog.sh index e8e68d476c1..3ffd4b541e4 100755 --- a/polly/utils/checkout_cloog.sh +++ b/polly/utils/checkout_cloog.sh @@ -1,7 +1,7 @@ #!/bin/sh CLOOG_HASH="2d8b7c6b43ee46fee978a57fa6877de49675f357" -ISL_HASH="34eb3a0c3d52875ec93e926f12713feff4d08af0" +ISL_HASH="1b3ba3b72c0482fd36bf0b4a1186a259f7bafeed" PWD=`pwd` |