diff options
8 files changed, 14 insertions, 9 deletions
diff --git a/polly/lib/CodeGen/IslExprBuilder.cpp b/polly/lib/CodeGen/IslExprBuilder.cpp index e78b4c064ad..f37b693d630 100644 --- a/polly/lib/CodeGen/IslExprBuilder.cpp +++ b/polly/lib/CodeGen/IslExprBuilder.cpp @@ -352,6 +352,7 @@ Value *IslExprBuilder::createOp(__isl_take isl_ast_expr *Expr) { case isl_ast_op_or_else: case isl_ast_op_call: case isl_ast_op_member: + case isl_ast_op_address_of: llvm_unreachable("Unsupported isl ast expression"); case isl_ast_op_access: return createOpAccess(Expr); diff --git a/polly/test/Isl/Ast/dependence_distance_parametric.ll b/polly/test/Isl/Ast/dependence_distance_parametric.ll index 06ec287dc97..44786627f2a 100644 --- a/polly/test/Isl/Ast/dependence_distance_parametric.ll +++ b/polly/test/Isl/Ast/dependence_distance_parametric.ll @@ -3,7 +3,7 @@ ; void f(int *A, int N, int c) { ; CHECK: #pragma minimal dependence distance: 1 ; for (int j = 0; j < N; j++) -; CHECK: #pragma minimal dependence distance: (-1 + c >= 0) ? (c) : -c +; CHECK: #pragma minimal dependence distance: c >= 1 ? c : -c ; for (int i = 0; i < N; i++) ; A[i + c] = A[i] + 1; ; } diff --git a/polly/test/Isl/Ast/dependence_distance_parametric_expr.ll b/polly/test/Isl/Ast/dependence_distance_parametric_expr.ll index 6b56aa675bf..d225fade42a 100644 --- a/polly/test/Isl/Ast/dependence_distance_parametric_expr.ll +++ b/polly/test/Isl/Ast/dependence_distance_parametric_expr.ll @@ -3,7 +3,7 @@ ; void f(int *A, int N, int c, int v) { ; CHECK: #pragma minimal dependence distance: 1 ; for (int j = 0; j < N; j++) -; CHECK: #pragma minimal dependence distance: (-1 + c + v >= 0) ? (c + v) : -c - v +; CHECK: #pragma minimal dependence distance: c + v >= 1 ? c + v : -c - v ; for (int i = 0; i < N; i++) ; A[i + c + v] = A[i] + 1; ; } diff --git a/polly/test/Isl/Ast/dependence_distance_varying_multiple.ll b/polly/test/Isl/Ast/dependence_distance_varying_multiple.ll index 783961c703a..23a261a64f8 100644 --- a/polly/test/Isl/Ast/dependence_distance_varying_multiple.ll +++ b/polly/test/Isl/Ast/dependence_distance_varying_multiple.ll @@ -2,7 +2,7 @@ ; ; void f(int *restrict A, int *restrict B, int *restrict C, int *restrict D, ; int *restrict E, int N) { -; CHECK: #pragma minimal dependence distance: (-35 + N >= 0) ? (1) : (-17 + N >= 0 && 34 - N >= 0) ? (2) : 5 +; CHECK: #pragma minimal dependence distance: N >= 35 ? 1 : N >= 17 && N <= 34 ? 2 : 5 ; for (int i = 0; i < N; i++) { ; A[i] = A[100 - 2 * i] + 1; ; B[i] = B[100 - 3 * i] + 1; diff --git a/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions.ll b/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions.ll index af7f79990c9..2d1ed9f7aaf 100644 --- a/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions.ll +++ b/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions.ll @@ -8,7 +8,7 @@ ; CHECK: for (int c3 = 0; c3 <= 1023; c3 += 1) ; CHECK: Stmt_for_body3(c1, c3); ; CHECK: } else -; CHECK: for (int c1 = 0; c1 < 2 * n - 1; c1 += 2) +; CHECK: for (int c1 = 0; c1 < 2 * n; c1 += 2) ; CHECK: #pragma simd reduction ; CHECK: for (int c3 = 0; c3 <= 1023; c3 += 1) ; CHECK: Stmt_for_body3(c1, c3); diff --git a/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_4.ll b/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_4.ll index 8516207125c..bf91a8e3e73 100644 --- a/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_4.ll +++ b/polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_4.ll @@ -6,10 +6,10 @@ ; CHECK: #pragma omp parallel for ; CHECK: for (int c1 = 0; c1 < 2 * n; c1 += 1) ; CHECK: #pragma simd reduction -; CHECK: for (int c3 = -1022; c3 <= 1023; c3 += 1) { -; CHECK: if ((c3 + 1022) % 2 == 0 && c3 <= 0) { +; CHECK: for (int c3 = -1023; c3 <= 1023; c3 += 1) { +; CHECK: if (c3 <= 0 && -c3 % 2 == 0) { ; CHECK: Stmt_for_body3(c1, -c3); -; CHECK: } else if ((c3 + 1023) % 2 == 0 && c3 >= 1) +; CHECK: } else if (c3 >= 1 && (c3 - 1) % 2 == 0) ; CHECK: Stmt_for_body3(c1, c3); ; CHECK: } ; diff --git a/polly/test/Isl/Ast/simple-run-time-condition.ll b/polly/test/Isl/Ast/simple-run-time-condition.ll index 8eff8beef5d..d264a86b305 100644 --- a/polly/test/Isl/Ast/simple-run-time-condition.ll +++ b/polly/test/Isl/Ast/simple-run-time-condition.ll @@ -18,7 +18,11 @@ target triple = "x86_64-unknown-linux-gnu" ; for the delinearization is simplified such that conditions that would not ; cause any code to be executed are not generated. -; CHECK: if ((q == 100 && o <= 0) || (q == 0 && o >= 1) ? 1 : 0) +; CHECK: if ( +; CHECK: ({{(q == 100 && o <= 0|o <= 0 && q == 100)}}) +; CHECK: || +; CHECK: ({{(q == 0 && o >= 1)|(o >= 1 && q == 0)}}) +; CHECK: ? 1 : 0) ; CHECK: if (o >= 1) { ; CHECK: for (int c1 = 0; c1 < n; c1 += 1) diff --git a/polly/utils/checkout_cloog.sh b/polly/utils/checkout_cloog.sh index 0957005a086..1941f4e3369 100755 --- a/polly/utils/checkout_cloog.sh +++ b/polly/utils/checkout_cloog.sh @@ -1,7 +1,7 @@ #!/bin/sh CLOOG_HASH="22643c94eba7b010ae4401c347289f4f52b9cd2b" -ISL_HASH="163646566efd07086ed4fbe99ecbf8d5bb8ebca0" +ISL_HASH="2c19ecd444095d6f560349018f68993bc0e03691" PWD=`pwd` |

