--- a/tools/polly/lib/ScheduleOptimizer.cpp 2013/06/23 01:29:29 184655 +++ b/tools/polly/lib/ScheduleOptimizer.cpp 2014/01/26 19:36:28 200155 @@ -396,7 +396,7 @@ 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 @@ 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 --- a/tools/polly/lib/CodeGen/IslCodeGeneration.cpp 2014/01/26 18:51:00 200154 +++ b/tools/polly/lib/CodeGen/IslCodeGeneration.cpp 2014/01/26 19:36:28 200155 @@ -445,6 +445,8 @@ 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: --- a/tools/polly/lib/CodeGen/CodeGeneration.cpp 2014/01/19 11:28:24 199584 +++ b/tools/polly/lib/CodeGen/CodeGeneration.cpp 2014/01/19 11:31:23 199585 @@ -801,7 +801,7 @@ int NumberOfIterations = polly::getNumberOfIterations(LoopDomain); if (NumberOfIterations == -1) return -1; - return NumberOfIterations / isl_int_get_si(For->stride) + 1; + return NumberOfIterations / mpz_get_si(For->stride) + 1; } void ClastStmtCodeGen::codegenForVector(const clast_for *F) {