forked from OSchip/llvm-project
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:
parent
771f7652a9
commit
a38c92406c
|
@ -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:
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
CLOOG_HASH="2d8b7c6b43ee46fee978a57fa6877de49675f357"
|
CLOOG_HASH="2d8b7c6b43ee46fee978a57fa6877de49675f357"
|
||||||
ISL_HASH="34eb3a0c3d52875ec93e926f12713feff4d08af0"
|
ISL_HASH="1b3ba3b72c0482fd36bf0b4a1186a259f7bafeed"
|
||||||
|
|
||||||
PWD=`pwd`
|
PWD=`pwd`
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue