summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--polly/lib/CodeGen/IslExprBuilder.cpp1
-rw-r--r--polly/test/Isl/Ast/dependence_distance_parametric.ll2
-rw-r--r--polly/test/Isl/Ast/dependence_distance_parametric_expr.ll2
-rw-r--r--polly/test/Isl/Ast/dependence_distance_varying_multiple.ll2
-rw-r--r--polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions.ll2
-rw-r--r--polly/test/Isl/Ast/reduction_modulo_schedule_multiple_dimensions_4.ll6
-rw-r--r--polly/test/Isl/Ast/simple-run-time-condition.ll6
-rwxr-xr-xpolly/utils/checkout_cloog.sh2
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`
OpenPOWER on IntegriCloud