[polly] r228193 - Import isl(+imath) as an external library into Polly

Tobias Grosser tobias at grosser.es
Wed Feb 4 12:55:55 PST 2015


Added: polly/trunk/lib/External/isl/test_inputs/codegen/cloog/yosr.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/cloog/yosr.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/cloog/yosr.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/cloog/yosr.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,12 @@
+{
+  for (int c0 = 1; c0 < n; c0 += 1) {
+    for (int c2 = c0 + 1; c2 <= n; c2 += 1)
+      S1(c0, c2);
+    for (int c1 = 1; c1 < c0; c1 += 1)
+      for (int c2 = c1 + 1; c2 <= n; c2 += 1)
+        S2(c1, c2, c0);
+  }
+  for (int c1 = 1; c1 < n; c1 += 1)
+    for (int c2 = c1 + 1; c2 <= n; c2 += 1)
+      S2(c1, c2, n);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/cloog/yosr.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/cloog/yosr.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/cloog/yosr.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/cloog/yosr.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { S2[i0, i1, i2] -> [i2] : i0 >= 1 and i0 <= -1 + n and i1 >= 1 + i0 and i1 <= n and i2 >= 1 + i0 and i2 <= n; S1[i0, i1] -> [i0] : i0 >= 1 and i0 <= -1 + n and i1 >= 1 + i0 and i1 <= n }
+[n] -> {  :  }
+[n] -> { [i] -> separate[o0] }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/cloog/yosr2.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/cloog/yosr2.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/cloog/yosr2.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/cloog/yosr2.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,13 @@
+{
+  for (int c1 = 1; c1 <= M; c1 += 1)
+    S2(c1);
+  for (int c0 = 2; c0 <= M; c0 += 1) {
+    for (int c2 = c0 + 1; c2 <= M; c2 += 1)
+      for (int c3 = 1; c3 < c0; c3 += 1)
+        S3(c0, c2, c3);
+    for (int c1 = 1; c1 < c0; c1 += 1)
+      S4(c1, c0);
+    for (int c2 = 1; c2 < c0; c2 += 1)
+      S1(c0, c2);
+  }
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/cloog/yosr2.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/cloog/yosr2.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/cloog/yosr2.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/cloog/yosr2.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[M] -> { S3[i0, i1, i2] -> [i0] : i0 >= 1 and i0 <= M and i1 >= 1 + i0 and i1 <= M and i2 >= 1 and i2 <= -1 + i0; S4[i0, i1] -> [i1] : i0 >= 1 and i0 <= M and i1 >= 1 + i0 and i1 <= M; S1[i0, i1] -> [i0] : i0 >= 1 and i0 <= M and i1 >= 1 and i1 <= -1 + i0; S2[i0] -> [0] : i0 >= 1 and i0 <= M }
+[M] -> {  : M >= 2 }
+[M] -> { [i] -> separate[o0] }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/cloog/youcef.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/cloog/youcef.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/cloog/youcef.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/cloog/youcef.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,6 @@
+for (int c0 = 0; c0 <= 5; c0 += 1) {
+  S1(c0, c0);
+  for (int c1 = c0; c1 <= 5; c1 += 1)
+    S2(c0, c1);
+  S3(c0, 5);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/cloog/youcef.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/cloog/youcef.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/cloog/youcef.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/cloog/youcef.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ S1[i0, i0] -> [i0, i0, 0] : i0 >= 0 and i0 <= 5; S2[i0, i1] -> [i0, i1, 1] : i0 >= 0 and i0 <= 5 and i1 >= i0 and i1 <= 5; S3[i0, 5] -> [i0, 5, 2] : i0 >= 0 and i0 <= 5 }
+{  :  }
+{ [i, j, k] -> separate[o0] }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/cloog/youcefn.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/cloog/youcefn.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/cloog/youcefn.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/cloog/youcefn.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,10 @@
+{
+  for (int c0 = 1; c0 <= n; c0 += 1) {
+    S1(c0, c0);
+    for (int c1 = c0; c1 <= n; c1 += 1)
+      S2(c0, c1);
+    S3(c0, n);
+  }
+  for (int c0 = n + 1; c0 <= m; c0 += 1)
+    S3(c0, n);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/cloog/youcefn.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/cloog/youcefn.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/cloog/youcefn.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/cloog/youcefn.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n, m] -> { S3[i0, n] -> [i0, n, 2] : i0 >= 1 and i0 <= m; S2[i0, i1] -> [i0, i1, 1] : i0 >= 1 and i0 <= n and i1 >= i0 and i1 <= n; S1[i0, i0] -> [i0, i0, 0] : i0 >= 1 and i0 <= n }
+[n, m] -> {  : n >= 2 and m >= n }
+[n, m] -> { [i, j, k] -> separate[o0] }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/disjuncts.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/disjuncts.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/disjuncts.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/disjuncts.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,10 @@
+for (int c0 = 0; c0 <= n; c0 += 1)
+  for (int c1 = 0; c1 <= n; c1 += 1)
+    if (c1 == n || c0 == n || c1 == 0 || c0 == 0) {
+      for (int c3 = 0; c3 <= n; c3 += 1)
+        for (int c4 = 0; c4 <= n; c4 += 1)
+          a(c0, c1, c3, c4);
+      for (int c3 = 0; c3 <= n; c3 += 1)
+        for (int c4 = 0; c4 <= n; c4 += 1)
+          b(c0, c1, c3, c4);
+    }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/disjuncts.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/disjuncts.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/disjuncts.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/disjuncts.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,7 @@
+# Check that conditions are hoisted up from the innermost loop
+[n] -> { a[i,j,k,l] -> [i,j,0,k,l] :
+	    0 <= i,j,k,l <= n and (i = 0 or j = 0 or i = n or j = n);
+	 b[i,j,k,l] -> [i,j,1,k,l] :
+	    0 <= i,j,k,l <= n and (i = 0 or j = 0 or i = n or j = n) }
+{ : }
+{ [i,j,t,k,l] -> atomic[x] }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/dwt.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/dwt.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/dwt.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/dwt.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,8 @@
+for (int c0 = 0; c0 < Ncl; c0 += 1) {
+  if (Ncl >= c0 + 2 && c0 >= 1) {
+    S(c0, 28);
+  } else if (c0 == 0) {
+    S(0, 26);
+  } else
+    S(Ncl - 1, 27);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/dwt.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/dwt.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/dwt.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/dwt.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[Ncl] -> { S[j, 28] -> [j] : j <= -2 + Ncl and Ncl <= 256 and Ncl >= 40 and j >= 1; S[0, 26] -> [0] : Ncl <= 256 and Ncl >= 40; S[-1 + Ncl, 27] -> [-1 + Ncl] : Ncl <= 256 and Ncl >= 40 }
+[Ncl] -> {  :  Ncl >= 40 and Ncl <= 256 }
+{  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/empty.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/empty.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/empty.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/empty.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,6 @@
+for (int c0 = 0; c0 <= 10; c0 += 1) {
+  S0(c0);
+  if (c0 == 5)
+    S2();
+  S1(c0);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/empty.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/empty.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/empty.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/empty.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+# Earlier versions of isl would end up with an empty partial
+# executed relation and fail to detect this emptiness.
+[M] -> { S0[i] -> [i, -M] : 0 <= i <= 10; S1[i] -> [i, 0] : 0 <= i <= 10; S2[] -> [5, 0] }
+[M] -> {  : M >= 1 }
+{ }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/hoist.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/hoist.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/hoist.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/hoist.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,45 @@
+if (ni >= t0 + 1 && nj >= t1 + 1)
+  for (int c2 = 0; c2 <= min(15, nk - 1); c2 += 1) {
+    S_1(t0, t1, c2);
+    if (nj >= t1 + 17) {
+      S_1(t0, t1 + 16, c2);
+      if (nj >= t1 + 33) {
+        S_1(t0, t1 + 32, c2);
+        if (nj >= t1 + 49)
+          S_1(t0, t1 + 48, c2);
+      }
+    }
+    if (ni >= t0 + 17) {
+      S_1(t0 + 16, t1, c2);
+      if (nj >= t1 + 17) {
+        S_1(t0 + 16, t1 + 16, c2);
+        if (nj >= t1 + 33) {
+          S_1(t0 + 16, t1 + 32, c2);
+          if (nj >= t1 + 49)
+            S_1(t0 + 16, t1 + 48, c2);
+        }
+      }
+      if (ni >= t0 + 33) {
+        S_1(t0 + 32, t1, c2);
+        if (nj >= t1 + 17) {
+          S_1(t0 + 32, t1 + 16, c2);
+          if (nj >= t1 + 33) {
+            S_1(t0 + 32, t1 + 32, c2);
+            if (nj >= t1 + 49)
+              S_1(t0 + 32, t1 + 48, c2);
+          }
+        }
+        if (ni >= t0 + 49) {
+          S_1(t0 + 48, t1, c2);
+          if (nj >= t1 + 17) {
+            S_1(t0 + 48, t1 + 16, c2);
+            if (nj >= t1 + 33) {
+              S_1(t0 + 48, t1 + 32, c2);
+              if (nj >= t1 + 49)
+                S_1(t0 + 48, t1 + 48, c2);
+            }
+          }
+        }
+      }
+    }
+  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/hoist.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/hoist.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/hoist.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/hoist.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,10 @@
+# check that the shared conditions ni >= t0 + 1 and nj >= t1 + 1
+# are hoisted out of the loop
+[ni, nj, nk, t0, t1] -> { S_1[i, j, k] -> [t0, t1, k, i, j] :
+	exists (e0 = [(-t0 + i)/16], e1 = [(-t1 + j)/16]:
+	16e0 = -t0 + i and 16e1 = -t1 + j and k >= 0 and j >= 0 and
+	j <= -1 + nj and i >= 0 and i <= -1 + ni and k <= -1 + nk and
+	ni >= 1 and nj >= 1 and nk >= 1 and j <= 63 and t1 >= 0 and
+	i <= 63 and k <= 15 and t0 >= 0 and t1 <= 15 and t0 <= 15) }
+[t0, t1] -> { : 0 <= t0, t1 <= 15 }
+{ [t0, t1, i5, i6, i7] -> unroll[x] : x >= 3}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/hoist2.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/hoist2.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/hoist2.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/hoist2.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 <= 5; c0 += 1)
+  for (int c1 = t1 - 64 * b + 64; c1 <= min(70, -((c0 - 1) % 2) - c0 + 73); c1 += 64)
+    A(c0, 64 * b + c1 - 8);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/hoist2.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/hoist2.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/hoist2.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/hoist2.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+# Check that the constraints hoisted from the inner loop
+# do not end up involving the inner loop iterator.
+[t1, b] -> { A[i1, i2] -> [i1, 8 - 64b + i2] : exists (e0, e1 = [(-8 + t1 - i2)/64]: 64e1 = -8 + t1 - i2 and i2 >= 1 and i2 <= 127 and 2e0 >= -3 + i1 and 2e0 >= -1 - i1 and 2e0 <= 8 - i1 and 2e0 <= 6 + i1 and 2e0 >= -65 - 64b + i2 and 2e0 >= -1 + 64b - i2 and e0 <= 1 and e0 >= 0 and 2e0 <= 62 + 64b - i2 and b <= 1 and b >= 0 and i1 >= 1 and i1 <= 2046 and t1 >= 5 and t1 <= 8) }
+[t1, b] -> { : b >= 0 and b <= 1 and t1 >= 5 and t1 <= 8 }
+[t1] -> { [i0, i1, i5, a] -> atomic[x]}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/lu.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/lu.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/lu.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/lu.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,17 @@
+for (int c0 = 0; c0 < n - 1; c0 += 32)
+  for (int c1 = c0; c1 < n; c1 += 32)
+    for (int c2 = c0; c2 < n; c2 += 32) {
+      if (c1 >= c0 + 32) {
+        for (int c3 = c0; c3 <= min(c0 + 31, c2 + 30); c3 += 1)
+          for (int c4 = c1; c4 <= min(n - 1, c1 + 31); c4 += 1)
+            for (int c5 = max(c2, c3 + 1); c5 <= min(n - 1, c2 + 31); c5 += 1)
+              S_6(c3, c4, c5);
+      } else
+        for (int c3 = c0; c3 <= min(min(n - 2, c0 + 31), c2 + 30); c3 += 1) {
+          for (int c5 = max(c2, c3 + 1); c5 <= min(n - 1, c2 + 31); c5 += 1)
+            S_2(c3, c5);
+          for (int c4 = c3 + 1; c4 <= min(n - 1, c0 + 31); c4 += 1)
+            for (int c5 = max(c2, c3 + 1); c5 <= min(n - 1, c2 + 31); c5 += 1)
+              S_6(c3, c4, c5);
+        }
+    }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/lu.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/lu.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/lu.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/lu.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,4 @@
+# Check that the stride of the second loop is properly detected
+[n] -> { S_2[k, j] -> [o0, o0, o2, k, k, j, 1] : exists (e0 = floor((o2)/32), e1 = floor((o0)/32): 32e0 = o2 and 32e1 = o0 and o0 <= k and o0 >= -31 + k and k >= 0 and j <= -1 + n and o2 <= j and o2 >= -31 + j and j >= 1 + k); S_6[k, i, j] -> [o0, o1, o2, k, i, j, 0] : exists (e0 = floor((o0)/32), e1 = floor((o1)/32), e2 = floor((o2)/32): 32e0 = o0 and 32e1 = o1 and 32e2 = o2 and o0 <= k and o0 >= -31 + k and o1 <= i and o1 >= -31 + i and o2 <= j and o2 >= -31 + j and k >= 0 and i >= 1 + k and j <= -1 + n and j >= 1 + k and i <= -1 + n) }
+{  :  }
+{ [a,b,c,d,e,f,g] -> atomic[x] : x < 3; [a,b,c,d,e,f,g] -> separate[x] : x >= 3  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/mod.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/mod.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/mod.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/mod.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+if (2 * (n % 100) == 3 * (m % 200))
+  A();

Added: polly/trunk/lib/External/isl/test_inputs/codegen/mod.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/mod.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/mod.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/mod.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,4 @@
+# check that modulo constraint is generated correctly
+[n, m] -> { A[] -> [] : 2 * (n % 100) = 3 * (m % 200) }
+[n, m] -> { : m, n >= 0 }
+{}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/README
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/README?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/README (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/README Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+The tests in this directory have been adapted from the corresponding omega+
+test cases.
+The options have been derived semi-automatically and may not always
+correspond to the intended meaning of the specified "effort" in the omega+
+test cases.

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/basics-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/basics-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/basics-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/basics-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,8 @@
+{
+  for (int c0 = 5; c0 <= 8; c0 += 1)
+    s0(c0);
+  for (int c0 = 10; c0 <= 16; c0 += 2)
+    s0(c0);
+  for (int c0 = 20; c0 <= 25; c0 += 1)
+    s0(c0);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/basics-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/basics-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/basics-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/basics-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1] -> [In_1] : (In_1 >= 5 and In_1 <= 8) or (exists (e0 = [(In_1)/2]: 2e0 = In_1 and In_1 >= 10 and In_1 <= 16)) or (In_1 >= 20 and In_1 <= 25) }
+{  :  }
+{ [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/basics-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/basics-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/basics-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/basics-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = -9; c0 <= 9; c0 += 1)
+  for (int c1 = max(1, -c0 + 1); c1 <= min(10, -c0 + 10); c1 += 1)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/basics-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/basics-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/basics-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/basics-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : In_2 >= 1 - In_1 and In_2 >= 1 and In_2 <= 10 - In_1 and In_2 <= 10 }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/chosol-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/chosol-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/chosol-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/chosol-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,9 @@
+{
+  for (int c1 = 2; c1 <= n; c1 += 1)
+    s0(c1);
+  for (int c1 = 1; c1 < n; c1 += 1) {
+    for (int c3 = c1 + 1; c3 <= n; c3 += 1)
+      s1(c3, c1);
+    s2(c1 + 1);
+  }
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/chosol-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/chosol-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/chosol-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/chosol-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[i] -> [0, i, 0, 0] : i >= 2 and i <= n; s1[i, j] -> [1, j, 0, i] : j >= 1 and j <= -1 + i and i <= n; s2[i] -> [1, -1 + i, 1, 0] : i >= 2 and i <= n }
+{  :  }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/chosol-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/chosol-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/chosol-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/chosol-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,9 @@
+{
+  for (int c1 = 2; c1 <= n; c1 += 1)
+    s0(c1);
+  for (int c1 = 1; c1 < n; c1 += 1) {
+    for (int c3 = c1 + 1; c3 <= n; c3 += 1)
+      s1(c3, c1);
+    s2(c1 + 1);
+  }
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/chosol-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/chosol-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/chosol-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/chosol-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[i] -> [0, i, 0, 0] : i >= 2 and i <= n; s1[i, j] -> [1, j, 0, i] : j >= 1 and j <= -1 + i and i <= n; s2[i] -> [1, -1 + i, 1, 0] : i >= 2 and i <= n }
+{  :  }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 1; [i0, i1, i2, i3] -> separate[o0] : o0 >= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,7 @@
+for (int c0 = 1; c0 <= 8; c0 += 1)
+  for (int c1 = 0; c1 <= 7; c1 += 1) {
+    if (c0 >= 2 && c0 <= 6 && c1 <= 4)
+      s1(c0, c1);
+    if (c1 + 1 >= c0)
+      s0(c0, c1);
+  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s1[In_1, In_2] -> [In_1, In_2] : In_1 >= 2 and In_1 <= 6 and In_2 >= 0 and In_2 <= 4; s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_2 >= -1 + In_1 and In_2 <= 7 }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 1; [i0, i1] -> separate[o0] : o0 >= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,15 @@
+for (int c0 = 1; c0 <= 8; c0 += 1) {
+  if (c0 >= 2) {
+    if (c0 <= 6)
+      for (int c1 = 0; c1 < c0 - 1; c1 += 1)
+        s1(c0, c1);
+    for (int c1 = c0 - 1; c1 <= 4; c1 += 1) {
+      s1(c0, c1);
+      s0(c0, c1);
+    }
+    for (int c1 = max(5, c0 - 1); c1 <= 7; c1 += 1)
+      s0(c0, c1);
+  } else
+    for (int c1 = 0; c1 <= 7; c1 += 1)
+      s0(1, c1);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s1[In_1, In_2] -> [In_1, In_2] : In_1 >= 2 and In_1 <= 6 and In_2 >= 0 and In_2 <= 4; s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_2 >= -1 + In_1 and In_2 <= 7 }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-2.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-2.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-2.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-2.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,17 @@
+{
+  for (int c1 = 0; c1 <= 7; c1 += 1)
+    s0(1, c1);
+  for (int c0 = 2; c0 <= 6; c0 += 1) {
+    for (int c1 = 0; c1 < c0 - 1; c1 += 1)
+      s1(c0, c1);
+    for (int c1 = c0 - 1; c1 <= 4; c1 += 1) {
+      s1(c0, c1);
+      s0(c0, c1);
+    }
+    for (int c1 = 5; c1 <= 7; c1 += 1)
+      s0(c0, c1);
+  }
+  for (int c0 = 7; c0 <= 8; c0 += 1)
+    for (int c1 = c0 - 1; c1 <= 7; c1 += 1)
+      s0(c0, c1);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-2.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-2.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-2.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/code_gen-2.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s1[In_1, In_2] -> [In_1, In_2] : In_1 >= 2 and In_1 <= 6 and In_2 >= 0 and In_2 <= 4; s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_2 >= -1 + In_1 and In_2 <= 7 }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= -1; [i0, i1] -> separate[o0] : o0 >= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/collard-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/collard-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/collard-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/collard-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,16 @@
+{
+  for (int c4 = 1; c4 <= n; c4 += 1)
+    s2(c4);
+  for (int c1 = 1; c1 < n; c1 += 1) {
+    for (int c4 = 0; c4 < n - c1; c4 += 1)
+      s0(c1, n - c4);
+    for (int c3 = 0; c3 < n - c1; c3 += 1)
+      for (int c4 = c1 + 1; c4 <= n; c4 += 1)
+        s1(c1, n - c3, c4);
+  }
+  for (int c1 = 1; c1 <= n; c1 += 1) {
+    s4(c1);
+    for (int c3 = c1 + 1; c3 <= n; c3 += 1)
+      s3(c3, c1);
+  }
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/collard-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/collard-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/collard-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/collard-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s1[i, j, k] -> [1, i, 1, n - j, k] : j >= 1 + i and k >= 1 + i and i >= 1 and j <= n and k <= n; s2[i] -> [0, 0, 0, 0, i] : i >= 1 and i <= n; s4[i] -> [2, i, 0, 0, 0] : i >= 1 and i <= n; s0[i, j] -> [1, i, 0, n - i, n - j] : i >= 1 and j >= 1 + i and j <= n; s3[i, j] -> [2, j, 1, i, j] : j >= 1 and j <= -1 + i and i <= n }
+{  :  }
+[n] -> { [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 4; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 3 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+for (int c0 = 0; c0 <= 99; c0 += 1)
+  s0(c0 % 10, c0 / 10);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [i + 10j] : i >= 0 and i <= 9 and j >= 0 and j <= 9 }
+{  :  }
+{ [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+for (int c0 = 0; c0 <= 99; c0 += 1)
+  s0(c0, c0 % 10, (c0 + 10) / 10 - 1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/dagstuhl1-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{s0[p,i,j] -> [p,i,j] : 0 <= i,j <= 9 && p = i+10j}
+{  :  }
+{ [p,i,j] -> separate[o0] : o0 >= 2; [p,i,j] -> atomic[o0] : o0 <= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,7 @@
+for (int c0 = 0; c0 < n - 1; c0 += 1) {
+  for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+    s0(c0 + 1, n - c3);
+  for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+    for (int c6 = c0 + 2; c6 <= n; c6 += 1)
+      s1(c0 + 1, n - c3, c6);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[i, j] -> [-1 + i, 0, n - i, n - j] : i >= 1 and j >= 1 + i and j <= n; s1[i, j, k] -> [-1 + i, 1, n - i, n - j] : j >= 1 + i and k >= 1 + i and i >= 1 and j <= n and k <= n }
+{  :  }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,17 @@
+{
+  for (int c3 = 1; c3 <= n; c3 += 1)
+    s2(c3);
+  for (int c0 = 0; c0 < n - 1; c0 += 1) {
+    for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+      s0(c0 + 1, n - c3);
+    for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+      for (int c6 = c0 + 2; c6 <= n; c6 += 1)
+        s1(c0 + 1, n - c3, c6);
+  }
+  for (int c0 = n - 1; c0 < 2 * n - 1; c0 += 1) {
+    if (c0 >= n)
+      for (int c2 = -n + c0 + 2; c2 <= n; c2 += 1)
+        s3(c2, -n + c0 + 1);
+    s4(-n + c0 + 2);
+  }
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s1[i, j, k] -> [-1 + i, 1, n - i, n - j] : j >= 1 + i and k >= 1 + i and i >= 1 and j <= n and k <= n; s3[i, j] -> [-1 + n + j, 0, i, j] : j >= 1 and j <= -1 + i and i <= n; s4[i] -> [-2 + n + i, 1, 0, 0] : i >= 1 and i <= n; s0[i, j] -> [-1 + i, 0, n - i, n - j] : i >= 1 and j >= 1 + i and j <= n; s2[i] -> [0, 0, 0, i] : i >= 1 and i <= n }
+{  :  }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-2.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-2.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-2.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-2.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,17 @@
+{
+  for (int c3 = 1; c3 <= n; c3 += 1)
+    s2(c3);
+  for (int c0 = 0; c0 < n - 1; c0 += 1) {
+    for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+      s0(c0 + 1, n - c3);
+    for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+      for (int c6 = c0 + 2; c6 <= n; c6 += 1)
+        s1(c0 + 1, n - c3, c6);
+  }
+  for (int c0 = n - 1; c0 < 2 * n - 1; c0 += 1) {
+    if (c0 >= n)
+      for (int c2 = -n + c0 + 2; c2 <= n; c2 += 1)
+        s3(c2, -n + c0 + 1);
+    s4(-n + c0 + 2);
+  }
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-2.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-2.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-2.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc1-2.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s1[i, j, k] -> [-1 + i, 1, n - i, n - j] : j >= 1 + i and k >= 1 + i and i >= 1 and j <= n and k <= n; s3[i, j] -> [-1 + n + j, 0, i, j] : j >= 1 and j <= -1 + i and i <= n; s4[i] -> [-2 + n + i, 1, 0, 0] : i >= 1 and i <= n; s0[i, j] -> [-1 + i, 0, n - i, n - j] : i >= 1 and j >= 1 + i and j <= n; s2[i] -> [0, 0, 0, i] : i >= 1 and i <= n }
+{  :  }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 1; [i0, i1, i2, i3] -> separate[o0] : o0 >= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc2-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc2-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc2-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc2-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,7 @@
+for (int c0 = 0; c0 < n - 1; c0 += 1) {
+  for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+    s0(c0 + 1, n - c3);
+  for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+    for (int c6 = c0 + 2; c6 <= n; c6 += 1)
+      s1(c0 + 1, n - c3, c6);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc2-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc2-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc2-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc2-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[i, j] -> [-1 + i, 0, n - i, n - j] : i >= 1 and j >= 1 + i and j <= n; s1[i, j, k] -> [-1 + i, 1, n - i, n - j] : j >= 1 + i and k >= 1 + i and i >= 1 and j <= n and k <= n }
+{  :  }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc2-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc2-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc2-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc2-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,17 @@
+{
+  for (int c3 = 1; c3 <= n; c3 += 1)
+    s2(c3);
+  for (int c0 = 0; c0 < n - 1; c0 += 1) {
+    for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+      s0(c0 + 1, n - c3);
+    for (int c3 = 0; c3 < n - c0 - 1; c3 += 1)
+      for (int c6 = c0 + 2; c6 <= n; c6 += 1)
+        s1(c0 + 1, n - c3, c6);
+  }
+  for (int c0 = n - 1; c0 < 2 * n - 1; c0 += 1) {
+    if (c0 >= n)
+      for (int c2 = -n + c0 + 2; c2 <= n; c2 += 1)
+        s3(c2, -n + c0 + 1);
+    s4(-n + c0 + 2);
+  }
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc2-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc2-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc2-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/fc2-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s1[i, j, k] -> [-1 + i, 1, n - i, n - j] : j >= 1 + i and k >= 1 + i and i >= 1 and j <= n and k <= n; s3[i, j] -> [-1 + n + j, 0, i, j] : j >= 1 and j <= -1 + i and i <= n; s4[i] -> [-2 + n + i, 1, 0, 0] : i >= 1 and i <= n; s0[i, j] -> [-1 + i, 0, n - i, n - j] : i >= 1 and j >= 1 + i and j <= n; s2[i] -> [0, 0, 0, i] : i >= 1 and i <= n }
+{  :  }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+for (int c0 = 4 * floord(m - 1, 12) + 4; c0 <= floord(n, 3); c0 += 4)
+  s0(c0);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[m, n] -> { s0[In_1] -> [In_1] : exists (e0 = [(In_1)/4]: 4e0 = In_1 and 3In_1 >= m and 3In_1 <= n) }
+{  :  }
+[m, n] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+for (int c0 = floord(m, 4); c0 <= n; c0 += 1)
+  s0(c0);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[m, n] -> { s0[In_1] -> [In_1] : 4In_1 >= -3 + m and In_1 <= n }
+{  :  }
+[m, n] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-2.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-2.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-2.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-2.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+for (int c0 = 4 * floord(m, 4); c0 <= n; c0 += 1)
+  s0(c0);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-2.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-2.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-2.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-2.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[m, n] -> { s0[In_1] -> [In_1] : exists (e0 = [(m)/4]: 4e0 <= m and 4e0 >= -3 + m and 4e0 <= In_1 and In_1 <= n) }
+{  :  }
+[m, n] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-3.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-3.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-3.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-3.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+for (int c0 = 3 * floord(m, 3) + 4 * floord(m, 4); c0 <= n; c0 += 1)
+  s0(c0);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-3.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-3.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-3.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-3.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[m, n] -> { s0[In_1] -> [In_1] : exists (e0 = [(m)/3], e1 = [(m)/4]: 4e1 <= m and 3e0 <= m and 4e1 >= -3 + m and 3e0 >= -2 + m and In_1 <= n and 4e1 <= In_1 - 3e0) }
+{  :  }
+[m, n] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-4.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-4.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-4.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-4.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+if (n >= 3 * floord(n + 1, 3))
+  for (int c0 = m; c0 <= 5 * floord(n + 1, 3); c0 += 1)
+    s0(c0);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-4.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-4.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-4.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-4.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n, m] -> { s0[In_1] -> [In_1] : exists (e0 = [(1 + n)/3]: In_1 >= m and 5e0 >= In_1 and 3e0 <= n and 3e0 >= -1 + n) }
+{  :  }
+[n, m] -> { [i0] -> atomic[o0] : o0 <= -1; [i0] -> separate[o0] : o0 >= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-5.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-5.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-5.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-5.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+for (int c0 = 4 * floord(m, 32); c0 <= n; c0 += 1)
+  s0(c0);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-5.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-5.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-5.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-5.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[m, n] -> { s0[In_1] -> [In_1] : exists (e0 = [(m)/32]: 32e0 <= m and 32e0 >= -31 + m and 4e0 <= In_1 and In_1 <= n) }
+{  :  }
+[m, n] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-6.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-6.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-6.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-6.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+if (m >= 8 * floord(m + 1, 8))
+  for (int c0 = 4 * floord(m + 1, 32); c0 <= n; c0 += 1)
+    s0(c0);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-6.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-6.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-6.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/floor_bound-6.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[m, n] -> { s0[In_1] -> [In_1] : exists (e0 = [(1 + m)/8], e1 = [(e0)/4]: 8e0 <= m and 8e0 >= -6 + m and 4e1 <= In_1 and In_1 <= n and 32e1 <= 1 + m and 32e1 >= -30 + m) }
+{  :  }
+[m, n] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/gc-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/gc-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/gc-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/gc-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+for (int c0 = 2; c0 <= 8; c0 += 2)
+  s0(c0);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/gc-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/gc-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/gc-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/gc-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1] -> [In_1] : exists (e0 = [(In_1)/2]: 2e0 = In_1 and In_1 >= 2 and In_1 <= 8) }
+{  :  }
+{ [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/ge-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/ge-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/ge-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/ge-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,7 @@
+for (int c0 = 2; c0 <= n; c0 += 1)
+  for (int c1 = 1; c1 <= n; c1 += 1) {
+    for (int c3 = 1; c3 < min(c0, c1); c3 += 1)
+      s1(c3, c0, c1);
+    if (c0 >= c1 + 1)
+      s0(c1, c0);
+  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/ge-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/ge-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/ge-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/ge-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[k, i] -> [i, k, 1, 0] : k >= 1 and i >= 1 + k and i <= n; s1[k, i, j] -> [i, j, 0, k] : i >= 1 + k and j >= 1 + k and k >= 1 and i <= n and j <= n }
+{  :  }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/ge-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/ge-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/ge-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/ge-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,7 @@
+for (int c0 = 2; c0 <= n; c0 += 1)
+  for (int c1 = 1; c1 <= n; c1 += 1) {
+    for (int c3 = 1; c3 < min(c0, c1); c3 += 1)
+      s1(c3, c0, c1);
+    if (c0 >= c1 + 1)
+      s0(c1, c0);
+  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/ge-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/ge-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/ge-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/ge-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[k, i] -> [i, k, 1, 0] : k >= 1 and i >= 1 + k and i <= n; s1[k, i, j] -> [i, j, 0, k] : i >= 1 + k and j >= 1 + k and k >= 1 and i <= n and j <= n }
+{  :  }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 1; [i0, i1, i2, i3] -> separate[o0] : o0 >= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 <= n; c0 += 4)
+  for (int c1 = c0; c1 <= n; c1 += 3)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(-1 + In_1)/4], e1 = [(-3 - In_1 + 4In_2)/12]: 4e0 = -1 + In_1 and 12e1 = -3 - In_1 + 4In_2 and In_1 >= 1 and In_2 >= In_1 and In_2 <= n) }
+{  :  }
+[n] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 <= n; c0 += 4)
+  for (int c1 = c0; c1 <= n; c1 += 8)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(-1 + In_1)/4], e1 = [(-In_1 + In_2)/8]: 4e0 = -1 + In_1 and 8e1 = -In_1 + In_2 and In_1 >= 1 and In_2 >= In_1 and In_2 <= n) }
+{  :  }
+[n] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-2.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-2.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-2.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-2.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 <= n; c0 += 256)
+  for (int c1 = c0; c1 <= n; c1 += 8)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-2.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-2.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-2.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-2.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(-1 + In_1)/256], e1 = [(-1 + In_2)/8]: 256e0 = -1 + In_1 and 8e1 = -1 + In_2 and In_1 >= 1 and In_2 >= In_1 and In_2 <= n) }
+{  :  }
+[n] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-3.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-3.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-3.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-3.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 < n; c0 += 4)
+  for (int c1 = c0 + 1; c1 <= n; c1 += 6)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-3.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-3.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-3.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-3.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(-1 + In_1)/4], e1 = [(-1 - In_1 + In_2)/6]: 4e0 = -1 + In_1 and 6e1 = -1 - In_1 + In_2 and In_1 >= 1 and In_2 >= 1 + In_1 and In_2 <= n) }
+{  :  }
+[n] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-4.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-4.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-4.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-4.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 <= n; c0 += 6)
+  for (int c1 = c0; c1 <= n; c1 += 4)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-4.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-4.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-4.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-4.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(-1 + In_1)/6], e1 = [(-2 - In_1 + 3In_2)/12]: 6e0 = -1 + In_1 and 12e1 = -2 - In_1 + 3In_2 and In_1 >= 1 and In_2 >= In_1 and In_2 <= n) }
+{  :  }
+[n] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-5.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-5.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-5.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-5.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 <= n; c0 += 12)
+  for (int c1 = c0; c1 <= n; c1 += 8)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-5.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-5.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-5.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/gist-5.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(-1 + In_1)/12], e1 = [(-2 - In_1 + 3In_2)/24]: 12e0 = -1 + In_1 and 24e1 = -2 - In_1 + 3In_2 and In_1 >= 1 and In_2 >= In_1 and In_2 <= n) }
+{  :  }
+[n] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/guard1-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/guard1-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/guard1-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/guard1-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+if ((n - m + 2) % 3 == 0)
+  s0(n, m);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/guard1-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/guard1-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/guard1-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/guard1-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n, m] -> { s0[n, m] -> [n, m] : exists (e0 = [(-2 - n + m)/3]: 3e0 = -2 - n + m) }
+{  :  }
+[n, m] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/guard1-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/guard1-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/guard1-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/guard1-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+if ((n - m + 1) % 2 == 0)
+  s0(n, m);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/guard1-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/guard1-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/guard1-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/guard1-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n, m] -> { s0[n, m] -> [n, m] : exists (e0 = [(-1 - n + m)/2]: 2e0 = -1 - n + m) }
+{  :  }
+[n, m] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/hpf-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/hpf-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/hpf-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/hpf-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,4 @@
+if (P2 >= 0 && P2 <= 3 && P1 == P2)
+  for (int c0 = 0; c0 <= min(2, -P2 + 4); c0 += 1)
+    for (int c2 = (-P2 - c0 + 6) % 3; c2 <= 3; c2 += 3)
+      s0(c0, c0, c2, c2);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/hpf-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/hpf-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/hpf-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/hpf-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[P1, P2] -> { s0[In_1, In_1, In_3, In_3] -> [In_1, In_1, In_3, In_3] : exists (e0 = [(-2P2 - 2In_1 + In_3)/3]: P1 = P2 and 3e0 = -2P2 - 2In_1 + In_3 and P2 >= 0 and P2 <= 3 and In_1 <= 4 - P2 and In_1 >= 0 and In_1 <= 2 and In_3 >= 0 and In_3 <= 3) }
+{  :  }
+[P2, P1] -> { [i0, i1, i2, i3] -> separate[o0] : o0 >= 3; [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,12 @@
+if (m <= 1) {
+  for (int c0 = 1; c0 <= n; c0 += 1)
+    for (int c1 = 1; c1 <= n; c1 += 1)
+      s2(c0, c1);
+} else if (n >= m + 1) {
+  for (int c0 = 1; c0 <= n; c0 += 1)
+    for (int c1 = 1; c1 <= n; c1 += 1)
+      s0(c0, c1);
+} else
+  for (int c0 = 1; c0 <= n; c0 += 1)
+    for (int c1 = 1; c1 <= n; c1 += 1)
+      s1(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n, m] -> { s2[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_1 <= n and In_2 >= 1 and In_2 <= n and m <= 1; s0[In_1, In_2] -> [In_1, In_2] : m >= 2 and m <= -1 + n and In_1 >= 1 and In_1 <= n and In_2 >= 1 and In_2 <= n; s1[In_1, In_2] -> [In_1, In_2] : In_1 <= n and In_2 <= n and m >= n and In_1 >= 1 and In_2 >= 1 and m >= 2 }
+{  :  }
+[n, m] -> { [i0, i1] -> atomic[o0] : o0 <= 1; [i0, i1] -> separate[o0] : o0 >= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,9 @@
+for (int c0 = 1; c0 <= 100; c0 += 1) {
+  if (n >= 2)
+    s0(c0);
+  for (int c1 = 1; c1 <= 100; c1 += 1) {
+    if (n >= 2)
+      s1(c0, c1);
+    s2(c0, c1);
+  }
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1] -> [In_1,0] : In_1 >= 1 and In_1 <= 100 and n >= 2; s1[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and n >= 2; s2[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 }
+{  :  }
+[n] -> { [i0,i1] -> separate[o0] : o0 >= 2; [i0,i1] -> atomic[o0] : o0 <= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-2.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-2.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-2.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-2.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,11 @@
+for (int c0 = 1; c0 <= 100; c0 += 1) {
+  if (n >= 2) {
+    s0(c0);
+    for (int c1 = 1; c1 <= 100; c1 += 1) {
+      s1(c0, c1);
+      s2(c0, c1);
+    }
+  } else
+    for (int c1 = 1; c1 <= 100; c1 += 1)
+      s2(c0, c1);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-2.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-2.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-2.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-2.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1] -> [In_1,0] : In_1 >= 1 and In_1 <= 100 and n >= 2; s1[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and n >= 2; s2[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 }
+{  :  }
+[n] -> { [i0,i1] -> separate[o0] : o0 >= 1; [i0,i1] -> atomic[o0] : o0 <= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-3.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-3.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-3.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-3.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,12 @@
+if (n >= 2) {
+  for (int c0 = 1; c0 <= 100; c0 += 1) {
+    s0(c0);
+    for (int c1 = 1; c1 <= 100; c1 += 1) {
+      s1(c0, c1);
+      s2(c0, c1);
+    }
+  }
+} else
+  for (int c0 = 1; c0 <= 100; c0 += 1)
+    for (int c1 = 1; c1 <= 100; c1 += 1)
+      s2(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-3.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-3.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-3.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-3.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1] -> [In_1,0] : In_1 >= 1 and In_1 <= 100 and n >= 2; s1[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and n >= 2; s2[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 }
+{  :  }
+[n] -> { [i0,i1] -> separate[o0] : o0 >= 0; [i0,i1] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-4.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-4.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-4.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-4.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,7 @@
+for (int c0 = 4; c0 <= 100; c0 += 4) {
+  for (int c1 = 1; c1 <= 100; c1 += 1)
+    s0(c0, c1);
+  if (c0 >= 8 && c0 <= 96)
+    for (int c1 = 10; c1 <= 100; c1 += 1)
+      s1(c0 + 2, c1);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-4.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-4.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-4.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-4.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s1[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(-2 + In_1)/4]: 4e0 = -2 + In_1 and In_1 >= 10 and In_1 <= 98 and In_2 >= 10 and In_2 <= 100); s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(In_1)/4]: 4e0 = In_1 and In_1 >= 4 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100) }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 1; [i0, i1] -> separate[o0] : o0 >= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-5.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-5.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-5.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-5.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,7 @@
+for (int c0 = 4; c0 <= 100; c0 += 4) {
+  for (int c1 = 1; c1 <= 100; c1 += 1)
+    s0(c0, c1);
+  if (c0 >= 8 && c0 <= 96)
+    for (int c1 = 10; c1 <= 100; c1 += 1)
+      s1(c0 + 2, c1);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-5.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-5.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-5.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/if_then-5.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s1[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(-2 + In_1)/4]: 4e0 = -2 + In_1 and In_1 >= 10 and In_1 <= 98 and In_2 >= 10 and In_2 <= 100); s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(In_1)/4]: 4e0 = In_1 and In_1 >= 4 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100) }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter1-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter1-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter1-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter1-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+for (int c0 = 2; c0 <= 9; c0 += 1)
+  s0(c0);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter1-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter1-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter1-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter1-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1] -> [In_1] : In_1 >= 2 and In_1 <= 9 }
+{  :  }
+{ [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter2-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter2-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter2-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter2-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 <= 10; c0 += 1)
+  for (int c1 = 10; c1 <= 100; c1 += 1)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter2-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter2-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter2-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter2-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_1 <= 10 and In_2 >= 10 and In_2 <= 100 }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter3-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter3-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter3-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter3-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 2; c0 <= 8; c0 += 1)
+  for (int c1 = c0 + 1; c1 <= 9; c1 += 1)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter3-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter3-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter3-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter3-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 2 and In_2 >= 1 + In_1 and In_2 <= 9 }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter4-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter4-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter4-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter4-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 2; c0 <= 9; c0 += 1)
+  for (int c1 = c0 + 1; c1 <= 2 * c0; c1 += 1)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter4-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter4-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter4-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter4-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 2 and In_2 >= 1 + In_1 and In_2 <= 2In_1 and In_1 <= 9 }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter5-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter5-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter5-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter5-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 2; c0 <= 9; c0 += 1)
+  for (int c1 = c0 + 1; c1 <= min(16, 2 * c0); c1 += 1)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter5-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter5-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter5-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter5-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 2 and In_2 >= 1 + In_1 and In_2 <= 2In_1 and In_2 <= 16 and In_1 <= 9 }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter6-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter6-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter6-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter6-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 <= 5; c0 += 1)
+  for (int c1 = 12; c1 <= 17; c1 += 1)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter6-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter6-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter6-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter6-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 1 and In_1 <= 5 and In_2 >= 12 and In_2 <= 17 }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter6-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter6-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter6-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter6-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+for (int c0 = 46; c0 <= 70; c0 += 12)
+  s0(c0, (17 * c0 - 170) / 12);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter6-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter6-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter6-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter6-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, o1] : 12In_2 = -170 + 17In_1 and 12o1 = -170 + 17In_1 and In_1 >= 46 and In_1 <= 70 }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter7-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter7-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter7-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter7-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+for (int c0 = 1; c0 <= 3; c0 += 2)
+  s0(c0, (-3 * c0 + 15) / 2);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter7-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter7-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter7-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter7-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, o1] : 2In_2 = 15 - 3In_1 and 2o1 = 15 - 3In_1 and In_1 <= 3 and In_1 >= 1 }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter8-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter8-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter8-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter8-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+for (int c0 = max(exprVar2 + 1, exprVar2 + 8 * floord(-exprVar2 + exprVar1 - 1, 8) + 9); c0 <= 16; c0 += 8)
+  s0(c0);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter8-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter8-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter8-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter8-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[exprVar2, exprVar3, exprVar1] -> { s0[In_1] -> [In_1] : exists (e0 = [(-1 - exprVar2 + In_1)/8]: exprVar3 = 0 and 8e0 = -1 - exprVar2 + In_1 and exprVar1 >= 1 and In_1 >= 1 + exprVar1 and In_1 <= 16 and In_1 >= 1 + exprVar2) }
+[exprVar3, exprVar2, exprVar1] -> {  : exists (e0: exprVar3 = 0 and 8e0 >= -15 + exprVar2 and exprVar2 <= 15 and exprVar1 >= 1 and 8e0 <= exprVar2 - exprVar1) }
+[exprVar2, exprVar3, exprVar1] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter9-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter9-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter9-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter9-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,11 @@
+for (int c0 = 1; c0 <= 15; c0 += 1) {
+  if (((-exprVar1 + 15) % 8) + c0 <= 15) {
+    s4(c0);
+    s0(c0);
+    s3(c0);
+    s2(c0);
+    s1(c0);
+  }
+  if (((-exprVar1 + 15) % 8) + c0 <= 15 || (c0 >= exprVar1 + 1 && (exprVar1 - c0 + 1) % 8 == 0))
+    s5(c0);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter9-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter9-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter9-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/iter9-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[exprVar2, exprVar1] -> { s3[In_1] -> [In_1] : exists (e0: exprVar2 = 0 and 8e0 >= -15 + exprVar1 and exprVar1 <= 15 and In_1 >= 1 and 8e0 <= exprVar1 - In_1); s4[In_1] -> [In_1] : exists (e0: exprVar2 = 0 and 8e0 >= -15 + exprVar1 and exprVar1 <= 15 and In_1 >= 1 and 8e0 <= exprVar1 - In_1); s1[In_1] -> [In_1] : exists (e0: exprVar2 = 0 and 8e0 >= -15 + exprVar1 and exprVar1 <= 15 and In_1 >= 1 and 8e0 <= exprVar1 - In_1); s5[In_1] -> [In_1] : (exists (e0: exprVar2 = 0 and 8e0 >= -15 + exprVar1 and exprVar1 <= 15 and In_1 >= 1 and 8e0 <= exprVar1 - In_1)) or (exists (e0 = [(-1 - exprVar1 + In_1)/8]: exprVar2 = 0 and 8e0 = -1 - exprVar1 + In_1 and In_1 >= 1 + exprVar1 and In_1 >= 1 and In_1 <= 15)); s0[In_1] -> [In_1] : exists (e0: exprVar2 = 0 and 8e0 >= -15 + exprVar1 and exprVar1 <= 15 and In_1 >= 1 and 8e0 <= exprVar1 - In_1); s2[In_1] -> [In_1] : exists (e0: exprVar2 = 0 and 8e0 >= -15 + exprVar1 and exprVar1 <= 15 and In_1 >= 1 and 8e0 <= exprVar1 - In_1) }
+[exprVar2, exprVar1] -> {  : exprVar2 = 0 and exprVar1 <= 15 }
+[exprVar2, exprVar1] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur00-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur00-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur00-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur00-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+for (int c0 = 0; c0 <= 15; c0 += 1)
+  for (int c1 = max(2 * c0 - 15, c0 / 2); c1 <= min(15, c0 + 1); c1 += 1)
+    for (int c2 = max(max(max(1, 67 * c0 - (c0 + 1) / 3), 67 * c1 - (c1 + 2) / 3), 133 * c0 - 67 * c1 + (c0 + c1 + 1) / 3 - 66); c2 <= min(min(1000, 100 * c0 + 99), 133 * c0 - 67 * c1 + floord(c0 + c1 - 1, 3) + 133); c2 += 1)
+      for (int c3 = max(max(c2, 200 * c0 - c2), 100 * c1 + (c2 + 1) / 2); c3 <= min(min(2 * c2 + 1, 200 * c0 - c2 + 199), 100 * c1 + (c2 + 1) / 2 + 99); c3 += 1)
+        s0(c0, c1, c2, c3);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur00-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur00-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur00-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur00-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4] -> [In_1, In_2, In_3, In_4] : In_3 >= 1 and In_4 >= In_3 and In_4 <= 1 + 2In_3 and In_3 <= 1000 and In_4 >= 200In_1 - In_3 and In_4 <= 199 + 200In_1 - In_3 and 2In_4 >= 200In_2 + In_3 and 2In_4 <= 199 + 200In_2 + In_3 }
+{  :  }
+{ [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur01-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur01-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur01-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur01-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+for (int c0 = 0; c0 <= 15; c0 += 1)
+  for (int c1 = max(2 * c0 - 15, c0 / 2); c1 <= min(15, c0 + 1); c1 += 1)
+    for (int c2 = max(max(max(1, 67 * c0 - (c0 + 1) / 3), 67 * c1 - (c1 + 2) / 3), 133 * c0 - 67 * c1 + (c0 + c1 + 1) / 3 - 66); c2 <= min(min(1000, 100 * c0 + 99), 133 * c0 - 67 * c1 + floord(c0 + c1 - 1, 3) + 133); c2 += 1)
+      for (int c3 = max(max(c2, 200 * c0 - c2), 100 * c1 + (c2 + 1) / 2); c3 <= min(min(2 * c2 + 1, 200 * c0 - c2 + 199), 100 * c1 + (c2 + 1) / 2 + 99); c3 += 1)
+        s0(c0, c1, c2, c3);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur01-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur01-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur01-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur01-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4] -> [In_1, In_2, In_3, In_4] : In_3 >= 1 and In_4 >= In_3 and In_4 <= 1 + 2In_3 and In_3 <= 1000 and In_4 >= 200In_1 - In_3 and In_4 <= 199 + 200In_1 - In_3 and 2In_4 >= 200In_2 + In_3 and 2In_4 <= 199 + 200In_2 + In_3 }
+{  :  }
+{ [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur01-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur01-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur01-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur01-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+for (int c0 = 0; c0 <= 15; c0 += 1)
+  for (int c1 = max(2 * c0 - 15, c0 / 2); c1 <= min(15, c0 + 1); c1 += 1)
+    for (int c2 = max(max(max(1, 67 * c0 - (c0 + 1) / 3), 67 * c1 - (c1 + 2) / 3), 133 * c0 - 67 * c1 + (c0 + c1 + 1) / 3 - 66); c2 <= min(min(1000, 100 * c0 + 99), 133 * c0 - 67 * c1 + floord(c0 + c1 - 1, 3) + 133); c2 += 1)
+      for (int c3 = max(max(c2, 200 * c0 - c2), 100 * c1 + (c2 + 1) / 2); c3 <= min(min(2 * c2 + 1, 200 * c0 - c2 + 199), 100 * c1 + (c2 + 1) / 2 + 99); c3 += 1)
+        s0(c0, c1, c2, c3);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur01-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur01-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur01-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur01-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4] -> [In_1, In_2, In_3, In_4] : In_3 >= 1 and In_4 >= In_3 and In_4 <= 1 + 2In_3 and In_3 <= 1000 and In_4 >= 200In_1 - In_3 and In_4 <= 199 + 200In_1 - In_3 and 2In_4 >= 200In_2 + In_3 and 2In_4 <= 199 + 200In_2 + In_3 }
+{  :  }
+{ [i0, i1, i2, i3] -> atomic[o0] : o0 <= 1; [i0, i1, i2, i3] -> separate[o0] : o0 >= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur03-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur03-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur03-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur03-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,7 @@
+for (int c0 = 0; c0 <= 3; c0 += 1)
+  for (int c1 = max(2 * c0 - 3, c0 / 2); c1 <= min(3, c0 + 1); c1 += 1)
+    for (int c2 = c0; c2 <= min(min(3, 2 * c0 - c1 + 1), 3 * c1 + 2); c2 += 1)
+      for (int c3 = max(max(max(0, c1 - (-c1 + 3) / 3), c0 - (-c2 + 3) / 3), c2 + floord(3 * c1 - c2 - 1, 6)); c3 <= min(3, c0 + 1); c3 += 1)
+        for (int c4 = max(max(max(max(-200 * c1 + 400 * c3 - 199, 250 * c3 + 1), 667 * c0 - 333 * c1 - (c0 + c1 + 3) / 3 - 332), 333 * c1 + c1 / 3), 333 * c2 + (c2 + 1) / 3); c4 <= min(min(min(min(1000, 500 * c0 + 499), -200 * c1 + 400 * c3 + 400), 333 * c2 - (-c2 + 3) / 3 + 333), 333 * c3 - (-c3 + 3) / 3 + 334); c4 += 1)
+          for (int c5 = max(max(max(c4, 1000 * c0 - c4), 1000 * c3 - 2 * c4 + 2), 500 * c1 + (c4 + 1) / 2); c5 <= min(min(min(2 * c4 + 1, 1000 * c0 - c4 + 999), 1000 * c3 - 2 * c4 + 1001), 500 * c1 + (c4 + 1) / 2 + 499); c5 += 1)
+            s0(c0, c1, c2, c3, c4, c5);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur03-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur03-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur03-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur03-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5, In_6] -> [In_1, In_2, In_3, In_4, In_5, In_6] : In_6 >= In_5 and In_6 <= 1 + 2In_5 and In_5 <= 1000 and In_6 >= 1000In_1 - In_5 and In_6 <= 999 + 1000In_1 - In_5 and In_6 >= 2 + 1000In_4 - 2In_5 and In_6 <= 1001 + 1000In_4 - 2In_5 and In_4 >= 0 and 2In_6 >= 1000In_2 + In_5 and 2In_6 <= 999 + 1000In_2 + In_5 and 3In_5 >= -1 + 1000In_3 and 3In_5 <= 998 + 1000In_3 }
+{  :  }
+{ [i0, i1, i2, i3, i4, i5] -> separate[o0] : o0 >= 5; [i0, i1, i2, i3, i4, i5] -> atomic[o0] : o0 <= 4 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur04-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur04-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur04-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur04-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,8 @@
+for (int c0 = 0; c0 <= 3; c0 += 1)
+  for (int c1 = max(2 * c0 - 3, c0 / 2); c1 <= min(3, c0 + 1); c1 += 1)
+    for (int c2 = c0; c2 <= min(min(3, 2 * c0 - c1 + 1), 3 * c1 + 2); c2 += 1)
+      for (int c3 = max(max(max(c1 - (-c1 + 3) / 3, c0 - (-c2 + 3) / 3), c2 - (c2 + 2) / 3), c2 + floord(3 * c1 - c2 - 1, 6)); c3 <= min(3, c0 + c2 / 3 + 1); c3 += 1)
+        for (int c5 = max(max(max(max(0, 2 * c3 - 4), c1 - (-c1 + 3) / 3), c2 - (c2 + 3) / 3), c3 - (c3 + 3) / 3); c5 <= min(min(c1 + 1, c3), -c2 + 2 * c3 - (c2 + 3) / 3 + 2); c5 += 1)
+          for (int c6 = max(max(max(max(max(-200 * c1 + 400 * c3 - 199, 250 * c3 + 1), 1000 * c0 - 500 * c5 - 501), 667 * c0 - 333 * c1 - (c0 + c1 + 3) / 3 - 332), 333 * c1 + c1 / 3), 333 * c2 + (c2 + 1) / 3); c6 <= min(min(min(min(min(min(1000, 500 * c0 + 499), -200 * c1 + 400 * c3 + 400), 500 * c5 + 501), 1000 * c0 - 500 * c5 + 997), 333 * c2 - (-c2 + 3) / 3 + 333), 333 * c3 - (-c3 + 3) / 3 + 334); c6 += 1)
+            for (int c7 = max(max(max(max(500 * c5 + 2, c6), 1000 * c0 - c6), 1000 * c3 - 2 * c6 + 2), 500 * c1 + (c6 + 1) / 2); c7 <= min(min(min(min(500 * c5 + 501, 2 * c6 + 1), 1000 * c0 - c6 + 999), 1000 * c3 - 2 * c6 + 1001), 500 * c1 + (c6 + 1) / 2 + 499); c7 += 1)
+              s0(c0, c1, c2, c3, c2 / 3, c5, c6, c7);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur04-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur04-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur04-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lefur04-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5, In_6, In_7, In_8] -> [In_1, In_2, In_3, In_4, In_5, In_6, In_7, In_8] : In_7 >= 1000In_5 and In_8 >= In_7 and In_8 <= 501 + 500In_6 and In_8 <= 1 + 2In_7 and In_7 <= 999 + 1000In_5 and In_7 <= 1000 and In_8 >= 1000In_1 - In_7 and In_8 <= 999 + 1000In_1 - In_7 and 2In_8 >= 1000In_2 + In_7 and 2In_8 <= 999 + 1000In_2 + In_7 and 3In_7 >= -1 + 1000In_3 and 3In_7 <= 998 + 1000In_3 and In_8 >= 2 + 500In_6 and In_6 >= 0 and In_8 >= 2 + 1000In_4 - 2In_7 and In_8 <= 1001 + 1000In_4 - 2In_7 }
+{  :  }
+{ [i0, i1, i2, i3, i4, i5, i6, i7] -> atomic[o0] : o0 <= 6; [i0, i1, i2, i3, i4, i5, i6, i7] -> separate[o0] : o0 >= 7 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,9 @@
+for (int c0 = 1; c0 <= 100; c0 += 1)
+  for (int c1 = 1; c1 <= 100; c1 += 1)
+    for (int c2 = 1; c2 <= 100; c2 += 1)
+      for (int c3 = 1; c3 <= 100; c3 += 1)
+        for (int c4 = 1; c4 <= 100; c4 += 1) {
+          s1(c0, c1, c2, c3, c4);
+          if (c0 <= 60)
+            s0(c0, c1, c2, c3, c4);
+        }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{  :  }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 5; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 4 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,13 @@
+for (int c0 = 1; c0 <= 100; c0 += 1)
+  for (int c1 = 1; c1 <= 100; c1 += 1)
+    for (int c2 = 1; c2 <= 100; c2 += 1)
+      for (int c3 = 1; c3 <= 100; c3 += 1) {
+        if (c0 >= 61) {
+          for (int c4 = 1; c4 <= 100; c4 += 1)
+            s1(c0, c1, c2, c3, c4);
+        } else
+          for (int c4 = 1; c4 <= 100; c4 += 1) {
+            s1(c0, c1, c2, c3, c4);
+            s0(c0, c1, c2, c3, c4);
+          }
+      }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{  :  }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 4; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 3 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-2.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-2.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-2.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-2.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,14 @@
+for (int c0 = 1; c0 <= 100; c0 += 1)
+  for (int c1 = 1; c1 <= 100; c1 += 1)
+    for (int c2 = 1; c2 <= 100; c2 += 1) {
+      if (c0 >= 61) {
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1)
+            s1(c0, c1, c2, c3, c4);
+      } else
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1) {
+            s1(c0, c1, c2, c3, c4);
+            s0(c0, c1, c2, c3, c4);
+          }
+    }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-2.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-2.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-2.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-2.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{  :  }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 3; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-3.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-3.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-3.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-3.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,15 @@
+for (int c0 = 1; c0 <= 100; c0 += 1)
+  for (int c1 = 1; c1 <= 100; c1 += 1) {
+    if (c0 >= 61) {
+      for (int c2 = 1; c2 <= 100; c2 += 1)
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1)
+            s1(c0, c1, c2, c3, c4);
+    } else
+      for (int c2 = 1; c2 <= 100; c2 += 1)
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1) {
+            s1(c0, c1, c2, c3, c4);
+            s0(c0, c1, c2, c3, c4);
+          }
+  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-3.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-3.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-3.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-3.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{  :  }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 2; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-4.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-4.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-4.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-4.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,16 @@
+for (int c0 = 1; c0 <= 100; c0 += 1) {
+  if (c0 >= 61) {
+    for (int c1 = 1; c1 <= 100; c1 += 1)
+      for (int c2 = 1; c2 <= 100; c2 += 1)
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1)
+            s1(c0, c1, c2, c3, c4);
+  } else
+    for (int c1 = 1; c1 <= 100; c1 += 1)
+      for (int c2 = 1; c2 <= 100; c2 += 1)
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1) {
+            s1(c0, c1, c2, c3, c4);
+            s0(c0, c1, c2, c3, c4);
+          }
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-4.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-4.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-4.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-4.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{  :  }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 1; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-5.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-5.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-5.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-5.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,16 @@
+{
+  for (int c0 = 1; c0 <= 60; c0 += 1)
+    for (int c1 = 1; c1 <= 100; c1 += 1)
+      for (int c2 = 1; c2 <= 100; c2 += 1)
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1) {
+            s1(c0, c1, c2, c3, c4);
+            s0(c0, c1, c2, c3, c4);
+          }
+  for (int c0 = 61; c0 <= 100; c0 += 1)
+    for (int c1 = 1; c1 <= 100; c1 += 1)
+      for (int c2 = 1; c2 <= 100; c2 += 1)
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1)
+            s1(c0, c1, c2, c3, c4);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-5.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-5.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-5.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift1-5.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{  :  }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 0; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,9 @@
+for (int c0 = 1; c0 <= 100; c0 += 1)
+  for (int c1 = 1; c1 <= 100; c1 += 1)
+    for (int c2 = 1; c2 <= 100; c2 += 1)
+      for (int c3 = 1; c3 <= 100; c3 += 1)
+        for (int c4 = 1; c4 <= 100; c4 += 1) {
+          s1(c0, c1, c2, c3, c4);
+          if (c0 >= 5 && c0 <= 60)
+            s0(c0, c1, c2, c3, c4);
+        }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 5 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{  :  }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 5; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 4 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,16 @@
+for (int c0 = 1; c0 <= 100; c0 += 1)
+  for (int c1 = 1; c1 <= 100; c1 += 1)
+    for (int c2 = 1; c2 <= 100; c2 += 1)
+      for (int c3 = 1; c3 <= 100; c3 += 1) {
+        if (c0 >= 61) {
+          for (int c4 = 1; c4 <= 100; c4 += 1)
+            s1(c0, c1, c2, c3, c4);
+        } else if (c0 <= 4) {
+          for (int c4 = 1; c4 <= 100; c4 += 1)
+            s1(c0, c1, c2, c3, c4);
+        } else
+          for (int c4 = 1; c4 <= 100; c4 += 1) {
+            s1(c0, c1, c2, c3, c4);
+            s0(c0, c1, c2, c3, c4);
+          }
+      }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 5 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{  :  }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 4; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 3 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-2.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-2.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-2.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-2.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,18 @@
+for (int c0 = 1; c0 <= 100; c0 += 1)
+  for (int c1 = 1; c1 <= 100; c1 += 1)
+    for (int c2 = 1; c2 <= 100; c2 += 1) {
+      if (c0 >= 61) {
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1)
+            s1(c0, c1, c2, c3, c4);
+      } else if (c0 <= 4) {
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1)
+            s1(c0, c1, c2, c3, c4);
+      } else
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1) {
+            s1(c0, c1, c2, c3, c4);
+            s0(c0, c1, c2, c3, c4);
+          }
+    }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-2.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-2.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-2.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-2.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 5 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{  :  }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 3; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-3.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-3.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-3.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-3.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,20 @@
+for (int c0 = 1; c0 <= 100; c0 += 1)
+  for (int c1 = 1; c1 <= 100; c1 += 1) {
+    if (c0 >= 61) {
+      for (int c2 = 1; c2 <= 100; c2 += 1)
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1)
+            s1(c0, c1, c2, c3, c4);
+    } else if (c0 <= 4) {
+      for (int c2 = 1; c2 <= 100; c2 += 1)
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1)
+            s1(c0, c1, c2, c3, c4);
+    } else
+      for (int c2 = 1; c2 <= 100; c2 += 1)
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1) {
+            s1(c0, c1, c2, c3, c4);
+            s0(c0, c1, c2, c3, c4);
+          }
+  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-3.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-3.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-3.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-3.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 5 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{  :  }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 2; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-4.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-4.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-4.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-4.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,22 @@
+for (int c0 = 1; c0 <= 100; c0 += 1) {
+  if (c0 >= 61) {
+    for (int c1 = 1; c1 <= 100; c1 += 1)
+      for (int c2 = 1; c2 <= 100; c2 += 1)
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1)
+            s1(c0, c1, c2, c3, c4);
+  } else if (c0 <= 4) {
+    for (int c1 = 1; c1 <= 100; c1 += 1)
+      for (int c2 = 1; c2 <= 100; c2 += 1)
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1)
+            s1(c0, c1, c2, c3, c4);
+  } else
+    for (int c1 = 1; c1 <= 100; c1 += 1)
+      for (int c2 = 1; c2 <= 100; c2 += 1)
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1) {
+            s1(c0, c1, c2, c3, c4);
+            s0(c0, c1, c2, c3, c4);
+          }
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-4.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-4.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-4.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-4.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 5 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{  :  }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 1; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-5.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-5.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-5.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-5.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,22 @@
+{
+  for (int c0 = 1; c0 <= 4; c0 += 1)
+    for (int c1 = 1; c1 <= 100; c1 += 1)
+      for (int c2 = 1; c2 <= 100; c2 += 1)
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1)
+            s1(c0, c1, c2, c3, c4);
+  for (int c0 = 5; c0 <= 60; c0 += 1)
+    for (int c1 = 1; c1 <= 100; c1 += 1)
+      for (int c2 = 1; c2 <= 100; c2 += 1)
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1) {
+            s1(c0, c1, c2, c3, c4);
+            s0(c0, c1, c2, c3, c4);
+          }
+  for (int c0 = 61; c0 <= 100; c0 += 1)
+    for (int c1 = 1; c1 <= 100; c1 += 1)
+      for (int c2 = 1; c2 <= 100; c2 += 1)
+        for (int c3 = 1; c3 <= 100; c3 += 1)
+          for (int c4 = 1; c4 <= 100; c4 += 1)
+            s1(c0, c1, c2, c3, c4);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-5.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-5.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-5.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lift2-5.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 5 and In_1 <= 60 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100; s1[In_1, In_2, In_3, In_4, In_5] -> [In_1, In_2, In_3, In_4, In_5] : In_1 >= 1 and In_1 <= 100 and In_2 >= 1 and In_2 <= 100 and In_3 >= 1 and In_3 <= 100 and In_4 >= 1 and In_4 <= 100 and In_5 >= 1 and In_5 <= 100 }
+{  :  }
+{ [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 0; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,10 @@
+for (int c0 = 1; c0 < n; c0 += 64)
+  for (int c1 = c0 - 1; c1 <= n; c1 += 64)
+    for (int c2 = c0; c2 <= n; c2 += 1) {
+      for (int c3 = c0; c3 <= min(min(c0 + 63, c1 + 62), c2 - 1); c3 += 1)
+        for (int c4 = max(c1, c3 + 1); c4 <= min(n, c1 + 63); c4 += 1)
+          s1(c3, c4, c2);
+      if (c0 + 63 >= c2)
+        for (int c4 = max(c1, c2 + 1); c4 <= min(n, c1 + 63); c4 += 1)
+          s0(c2, c4);
+    }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s1[k, i, j] -> [t1, t2, j, k, i] : exists (e0 = [(-1 + t1)/64], e1 = [(t2)/64]: 64e0 = -1 + t1 and 64e1 = t2 and t1 >= -63 + k and t1 <= k and t2 >= -63 + i and t2 <= i and i >= 1 + k and j >= 1 + k and k >= 1 and i <= n and j <= n); s0[k, i] -> [t1, t2, k, k, i] : exists (e0 = [(-1 + t1)/64], e1 = [(t2)/64]: 64e0 = -1 + t1 and 64e1 = t2 and t1 >= -63 + k and t1 <= k and t2 >= -63 + i and t2 <= i and k >= 1 and i >= 1 + k and i <= n) }
+{  :  }
+[n] -> { [t1, t2, i2, i3, i4] -> separate[o0] : o0 >= 5; [t1, t2, i2, i3, i4] -> atomic[o0] : o0 <= 4 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,10 @@
+for (int c0 = 1; c0 < n; c0 += 64)
+  for (int c1 = c0 - 1; c1 <= n; c1 += 64)
+    for (int c2 = c0; c2 <= n; c2 += 1) {
+      for (int c3 = c0; c3 <= min(min(c0 + 63, c1 + 62), c2 - 1); c3 += 1)
+        for (int c4 = max(c1, c3 + 1); c4 <= min(n, c1 + 63); c4 += 1)
+          s1(c3, c4, c2);
+      if (c0 + 63 >= c2)
+        for (int c4 = max(c1, c2 + 1); c4 <= min(n, c1 + 63); c4 += 1)
+          s0(c2, c4);
+    }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s1[k, i, j] -> [t1, t2, j, k, i] : exists (e0 = [(-1 + t1)/64], e1 = [(t2)/64]: 64e0 = -1 + t1 and 64e1 = t2 and t1 >= -63 + k and t1 <= k and t2 >= -63 + i and t2 <= i and i >= 1 + k and j >= 1 + k and k >= 1 and i <= n and j <= n); s0[k, i] -> [t1, t2, k, k, i] : exists (e0 = [(-1 + t1)/64], e1 = [(t2)/64]: 64e0 = -1 + t1 and 64e1 = t2 and t1 >= -63 + k and t1 <= k and t2 >= -63 + i and t2 <= i and k >= 1 and i >= 1 + k and i <= n) }
+{  :  }
+[n] -> { [t1, t2, i2, i3, i4] -> separate[o0] : o0 >= 4; [t1, t2, i2, i3, i4] -> atomic[o0] : o0 <= 3 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-2.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-2.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-2.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-2.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,10 @@
+for (int c0 = 1; c0 < n; c0 += 64)
+  for (int c1 = c0 - 1; c1 <= n; c1 += 64)
+    for (int c2 = c0; c2 <= n; c2 += 1) {
+      for (int c3 = c0; c3 <= min(min(c0 + 63, c1 + 62), c2 - 1); c3 += 1)
+        for (int c4 = max(c1, c3 + 1); c4 <= min(n, c1 + 63); c4 += 1)
+          s1(c3, c4, c2);
+      if (c0 + 63 >= c2)
+        for (int c4 = max(c1, c2 + 1); c4 <= min(n, c1 + 63); c4 += 1)
+          s0(c2, c4);
+    }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-2.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-2.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-2.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-2.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s1[k, i, j] -> [t1, t2, j, k, i] : exists (e0 = [(-1 + t1)/64], e1 = [(t2)/64]: 64e0 = -1 + t1 and 64e1 = t2 and t1 >= -63 + k and t1 <= k and t2 >= -63 + i and t2 <= i and i >= 1 + k and j >= 1 + k and k >= 1 and i <= n and j <= n); s0[k, i] -> [t1, t2, k, k, i] : exists (e0 = [(-1 + t1)/64], e1 = [(t2)/64]: 64e0 = -1 + t1 and 64e1 = t2 and t1 >= -63 + k and t1 <= k and t2 >= -63 + i and t2 <= i and k >= 1 and i >= 1 + k and i <= n) }
+{  :  }
+[n] -> { [t1, t2, i2, i3, i4] -> separate[o0] : o0 >= 3; [t1, t2, i2, i3, i4] -> atomic[o0] : o0 <= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-3.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-3.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-3.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-3.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,14 @@
+for (int c0 = 1; c0 < n; c0 += 64)
+  for (int c1 = c0 - 1; c1 <= n; c1 += 64) {
+    for (int c2 = c0; c2 <= min(n, c0 + 63); c2 += 1) {
+      for (int c3 = c0; c3 <= min(c1 + 62, c2 - 1); c3 += 1)
+        for (int c4 = max(c1, c3 + 1); c4 <= min(n, c1 + 63); c4 += 1)
+          s1(c3, c4, c2);
+      for (int c4 = max(c1, c2 + 1); c4 <= min(n, c1 + 63); c4 += 1)
+        s0(c2, c4);
+    }
+    for (int c2 = c0 + 64; c2 <= n; c2 += 1)
+      for (int c3 = c0; c3 <= min(c0 + 63, c1 + 62); c3 += 1)
+        for (int c4 = max(c1, c3 + 1); c4 <= min(n, c1 + 63); c4 += 1)
+          s1(c3, c4, c2);
+  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-3.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-3.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-3.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu-3.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s1[k, i, j] -> [t1, t2, j, k, i] : exists (e0 = [(-1 + t1)/64], e1 = [(t2)/64]: 64e0 = -1 + t1 and 64e1 = t2 and t1 >= -63 + k and t1 <= k and t2 >= -63 + i and t2 <= i and i >= 1 + k and j >= 1 + k and k >= 1 and i <= n and j <= n); s0[k, i] -> [t1, t2, k, k, i] : exists (e0 = [(-1 + t1)/64], e1 = [(t2)/64]: 64e0 = -1 + t1 and 64e1 = t2 and t1 >= -63 + k and t1 <= k and t2 >= -63 + i and t2 <= i and k >= 1 and i >= 1 + k and i <= n) }
+{  :  }
+[n] -> { [t1, t2, i2, i3, i4] -> separate[o0] : o0 >= 2; [t1, t2, i2, i3, i4] -> atomic[o0] : o0 <= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,7 @@
+for (int c0 = 1; c0 <= n; c0 += 1)
+  for (int c1 = 2; c1 <= n; c1 += 1) {
+    for (int c3 = 1; c3 < min(c0, c1); c3 += 1)
+      s1(c3, c1, c0);
+    if (c1 >= c0 + 1)
+      s0(c0, c1);
+  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[k, j] -> [k, j, 1, 0] : k >= 1 and j >= 1 + k and j <= n; s1[k, j, i] -> [i, j, 0, k] : j >= 1 + k and i >= 1 + k and k >= 1 and j <= n and i <= n }
+{  :  }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,7 @@
+for (int c0 = 1; c0 <= n; c0 += 1)
+  for (int c1 = 2; c1 <= n; c1 += 1) {
+    for (int c3 = 1; c3 < min(c0, c1); c3 += 1)
+      s1(c3, c1, c0);
+    if (c1 >= c0 + 1)
+      s0(c0, c1);
+  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[k, j] -> [k, j, 1, 0] : k >= 1 and j >= 1 + k and j <= n; s1[k, j, i] -> [i, j, 0, k] : j >= 1 + k and i >= 1 + k and k >= 1 and j <= n and i <= n }
+{  :  }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 1; [i0, i1, i2, i3] -> separate[o0] : o0 >= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-2.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-2.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-2.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-2.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,11 @@
+if (n >= 2)
+  for (int c0 = 1; c0 <= n; c0 += 1) {
+    for (int c1 = 2; c1 <= c0; c1 += 1)
+      for (int c3 = 1; c3 < c1; c3 += 1)
+        s1(c3, c1, c0);
+    for (int c1 = c0 + 1; c1 <= n; c1 += 1) {
+      for (int c3 = 1; c3 < c0; c3 += 1)
+        s1(c3, c1, c0);
+      s0(c0, c1);
+    }
+  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-2.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-2.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-2.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_ijk-2.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[k, j] -> [k, j, 1, 0] : k >= 1 and j >= 1 + k and j <= n; s1[k, j, i] -> [i, j, 0, k] : j >= 1 + k and i >= 1 + k and k >= 1 and j <= n and i <= n }
+{  :  }
+[n] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 0; [i0, i1, i2, i3] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_spmd-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_spmd-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_spmd-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_spmd-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,12 @@
+if (ub >= lb)
+  for (int c0 = 1; c0 <= ub; c0 += 1)
+    for (int c1 = c0; c1 <= n; c1 += 1) {
+      if (c0 >= lb && c1 >= c0 + 1) {
+        s0(c0, c1);
+        if (n >= ub + 1)
+          s2(c0, c1);
+      } else if (lb >= c0 + 1)
+        s3(c0, c1, lb, c0, c1);
+      for (int c3 = max(lb, c0); c3 <= ub; c3 += 1)
+        s1(c0, c1, c3);
+    }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_spmd-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_spmd-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_spmd-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_spmd-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n, lb, ub] -> { s1[k, i, j] -> [k, i, 1, j, 0, 0, 0, 0] : k >= 1 and j >= k and j <= n and j <= ub and i >= k and i <= n and j >= lb; s3[k, i, lb, k, i] -> [k, i, 1, lb, -1, k, i, 0] : k >= 1 and k <= -1 + lb and lb <= n and ub >= lb and i >= k and i <= n; s0[k, i] -> [k, i, 0, 0, 0, 0, 0, 0] : k >= 1 and k >= lb and i >= 1 + k and i <= n and k <= ub; s2[k, i] -> [k, i, 0, 0, 1, 0, 0, 0] : k >= 1 and k >= lb and k <= ub and ub <= -1 + n and i >= 1 + k and i <= n }
+[lb, n, ub] -> {  : ub <= n and lb >= 1 }
+[n, lb, ub] -> { [i0, i1, i2, i3, i4, i5, i6, i7] -> atomic[o0] : o0 <= 7; [i0, i1, i2, i3, i4, i5, i6, i7] -> separate[o0] : o0 >= 8 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_spmd-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_spmd-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_spmd-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_spmd-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,12 @@
+if (ub >= lb)
+  for (int c0 = 1; c0 <= ub; c0 += 1)
+    for (int c1 = c0; c1 <= n; c1 += 1) {
+      if (c0 >= lb && c1 >= c0 + 1) {
+        s0(c0, c1);
+        if (n >= ub + 1)
+          s2(c0, c1);
+      } else if (lb >= c0 + 1)
+        s3(c0, c1, lb, c0, c1);
+      for (int c3 = max(lb, c0); c3 <= ub; c3 += 1)
+        s1(c0, c1, c3);
+    }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_spmd-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_spmd-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_spmd-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/lu_spmd-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n, lb, ub] -> { s1[k, i, j] -> [k, i, 1, j, 0, 0, 0, 0] : k >= 1 and j >= k and j <= n and j <= ub and i >= k and i <= n and j >= lb; s3[k, i, lb, k, i] -> [k, i, 1, lb, -1, k, i, 0] : k >= 1 and k <= -1 + lb and lb <= n and ub >= lb and i >= k and i <= n; s0[k, i] -> [k, i, 0, 0, 0, 0, 0, 0] : k >= 1 and k >= lb and i >= 1 + k and i <= n and k <= ub; s2[k, i] -> [k, i, 0, 0, 1, 0, 0, 0] : k >= 1 and k >= lb and k <= ub and ub <= -1 + n and i >= 1 + k and i <= n }
+[lb, n, ub] -> {  : ub <= n and lb >= 1 }
+[n, lb, ub] -> { [i0, i1, i2, i3, i4, i5, i6, i7] -> atomic[o0] : o0 <= 6; [i0, i1, i2, i3, i4, i5, i6, i7] -> separate[o0] : o0 >= 7 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m1-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m1-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m1-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m1-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,6 @@
+for (int c0 = 1; c0 <= 9; c0 += 1)
+  for (int c1 = 1; c1 <= 9; c1 += 1) {
+    s0(c0, c1);
+    if (c0 == 5)
+      s1(5, c1);
+  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m1-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m1-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m1-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m1-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [i, j, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[5, j] -> [5, j, 1] : j >= 1 and j <= 9 }
+{  :  }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m1-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m1-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m1-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m1-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,13 @@
+for (int c0 = 1; c0 <= 9; c0 += 1) {
+  if (c0 >= 6) {
+    for (int c1 = 1; c1 <= 9; c1 += 1)
+      s0(c0, c1);
+  } else if (c0 <= 4) {
+    for (int c1 = 1; c1 <= 9; c1 += 1)
+      s0(c0, c1);
+  } else
+    for (int c1 = 1; c1 <= 9; c1 += 1) {
+      s0(5, c1);
+      s1(5, c1);
+    }
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m1-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m1-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m1-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m1-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [i, j, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[5, j] -> [5, j, 1] : j >= 1 and j <= 9 }
+{  :  }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 1; [i0, i1, i2] -> atomic[o0] : o0 <= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m10-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m10-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m10-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m10-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,7 @@
+for (int c0 = 1; c0 <= 18; c0 += 1)
+  for (int c1 = 1; c1 <= 9; c1 += 1) {
+    if (c0 % 2 == 0)
+      s0(c1, c0 / 2);
+    if (c0 <= 9)
+      s1(c1, c0);
+  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m10-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m10-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m10-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m10-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [4j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [2j, i, 1] : i >= 1 and i <= 9 and j >= 1 and j <= 9 }
+{  :  }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m10-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m10-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m10-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m10-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,14 @@
+for (int c0 = 1; c0 <= 18; c0 += 1) {
+  if (c0 >= 2 && c0 <= 9) {
+    for (int c1 = 1; c1 <= 9; c1 += 1) {
+      if (c0 % 2 == 0)
+        s0(c1, c0 / 2);
+      s1(c1, c0);
+    }
+  } else if (c0 == 1) {
+    for (int c1 = 1; c1 <= 9; c1 += 1)
+      s1(c1, 1);
+  } else if (c0 % 2 == 0)
+    for (int c1 = 1; c1 <= 9; c1 += 1)
+      s0(c1, c0 / 2);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m10-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m10-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m10-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m10-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [4j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [2j, i, 1] : i >= 1 and i <= 9 and j >= 1 and j <= 9 }
+{  :  }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 1; [i0, i1, i2] -> atomic[o0] : o0 <= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m11-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m11-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m11-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m11-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,6 @@
+for (int c0 = 1; c0 <= min(4, floord(2 * m - 1, 17) + 1); c0 += 1)
+  for (int c1 = 1; c1 <= 2; c1 += 1)
+    for (int c2 = 0; c2 <= min(2, -c0 - c1 + (2 * m + 3 * c0 + 10 * c1 + 6) / 20 + 1); c2 += 1)
+      for (int c3 = 8 * c0 + (c0 + 1) / 2 - 8; c3 <= min(min(30, m - 5 * c1 - 10 * c2 + 5), 8 * c0 + c0 / 2); c3 += 1)
+        for (int c4 = 5 * c1 + 10 * c2 - 4; c4 <= min(5 * c1 + 10 * c2, m - c3 + 1); c4 += 1)
+          s0(c0, c1, c2, c3, c4, -9 * c0 + c3 + c0 / 2 + 9, -5 * c1 - 5 * c2 + c4 + 5);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m11-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m11-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m11-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m11-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[m] -> { s0[In_1, In_2, In_3, In_4, In_5, In_6, 5 - 5In_2 - 5In_3 + In_5] -> [In_1, In_2, In_3, In_4, In_5, In_6, 5 - 5In_2 - 5In_3 + In_5] : In_2 >= 1 and 2In_3 >= 1 - In_2 and In_2 <= 2 and 2In_3 <= 6 - In_2 and In_4 <= 30 and In_1 >= 1 and 2In_6 <= 18 - 17In_1 + 2In_4 and 2In_6 >= 17 - 17In_1 + 2In_4 and In_5 <= 5In_2 + 10In_3 and In_5 >= -4 + 5In_2 + 10In_3 and 2In_4 <= 17In_1 and 2In_4 >= -16 + 17In_1 and In_5 <= 1 + m - In_4 }
+{  :  }
+[m] -> { [i0, i1, i2, i3, i4, i5, i6] -> atomic[o0] : o0 <= 5; [i0, i1, i2, i3, i4, i5, i6] -> separate[o0] : o0 >= 6 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m12-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m12-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m12-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m12-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c1 = 1; c1 <= n; c1 += 1)
+  for (int c2 = 1; c2 <= m; c2 += 1)
+    s0(1, c1, c2, 0);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m12-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m12-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m12-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m12-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[m, n] -> { s0[1, In_2, In_3, 0] -> [1, In_2, In_3, 0] : In_3 >= 1 and In_3 <= m and In_2 >= 1 and In_2 <= n }
+{  :  }
+[m, n] -> { [i0, i1, i2, i3] -> separate[o0] : o0 >= 3; [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m12-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m12-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m12-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m12-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,25 @@
+{
+  for (int c1 = 1; c1 <= n; c1 += 1)
+    for (int c2 = 1; c2 <= m; c2 += 1) {
+      s0(1, c1, c2, 0);
+      s1(1, c1, c2, 0);
+    }
+  for (int c1 = 1; c1 <= n; c1 += 1) {
+    s3(2, c1, 0, 0);
+    s2(2, c1, 0, 0);
+  }
+  for (int c1 = 1; c1 <= m; c1 += 1) {
+    for (int c3 = 1; c3 <= n; c3 += 1) {
+      s5(3, c1, 1, c3);
+      s4(3, c1, 1, c3);
+    }
+    for (int c3 = 1; c3 <= n; c3 += 1) {
+      s7(3, c1, 2, c3);
+      s6(3, c1, 2, c3);
+    }
+  }
+  for (int c1 = 1; c1 <= m; c1 += 1) {
+    s8(4, c1, 0, 0);
+    s9(4, c1, 0, 0);
+  }
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m12-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m12-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m12-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m12-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[m, n] -> { s1[1, In_2, In_3, 0] -> [1, In_2, In_3, 0] : In_3 >= 1 and In_3 <= m and In_2 >= 1 and In_2 <= n; s2[2, In_2, 0, 0] -> [2, In_2, 0, 0] : In_2 >= 1 and In_2 <= n; s3[2, In_2, 0, 0] -> [2, In_2, 0, 0] : In_2 >= 1 and In_2 <= n; s8[4, In_2, 0, 0] -> [4, In_2, 0, 0] : In_2 >= 1 and In_2 <= m; s0[1, In_2, In_3, 0] -> [1, In_2, In_3, 0] : In_3 >= 1 and In_3 <= m and In_2 >= 1 and In_2 <= n; s7[3, In_2, 2, In_4] -> [3, In_2, 2, In_4] : In_4 >= 1 and In_4 <= n and In_2 >= 1 and In_2 <= m; s4[3, In_2, 1, In_4] -> [3, In_2, 1, In_4] : In_4 >= 1 and In_4 <= n and In_2 >= 1 and In_2 <= m; s6[3, In_2, 2, In_4] -> [3, In_2, 2, In_4] : In_4 >= 1 and In_4 <= n and In_2 >= 1 and In_2 <= m; s9[4, In_2, 0, 0] -> [4, In_2, 0, 0] : In_2 >= 1 and In_2 <= m; s5[3, In_2, 1, In_4] -> [3, In_2, 1, In_4] : In_4 >= 1 and In_4 <= n and In_2 >= 1 and In_2 <= m }
+{  :  }
+[m, n] -> { [i0, i1, i2, i3] -> separate[o0] : o0 >= 3; [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m2-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m2-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m2-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m2-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,11 @@
+for (int c0 = 2; c0 <= 9; c0 += 1) {
+  if (c0 >= 5) {
+    s1(c0, 1);
+    for (int c1 = 2; c1 <= 9; c1 += 1) {
+      s1(c0, c1);
+      s0(c0, c1);
+    }
+  } else
+    for (int c1 = 2; c1 <= 9; c1 += 1)
+      s0(c0, c1);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m2-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m2-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m2-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m2-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s1[In_1, In_2] -> [In_1, In_2] : In_1 >= 5 and In_1 <= 9 and In_2 >= 1 and In_2 <= 9; s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 2 and In_1 <= 9 and In_2 >= 2 and In_2 <= 9 }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m2-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m2-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m2-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m2-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,12 @@
+{
+  for (int c0 = 2; c0 <= 4; c0 += 1)
+    for (int c1 = 2; c1 <= 9; c1 += 1)
+      s0(c0, c1);
+  for (int c0 = 5; c0 <= 9; c0 += 1) {
+    s1(c0, 1);
+    for (int c1 = 2; c1 <= 9; c1 += 1) {
+      s1(c0, c1);
+      s0(c0, c1);
+    }
+  }
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m2-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m2-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m2-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m2-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s1[In_1, In_2] -> [In_1, In_2] : In_1 >= 5 and In_1 <= 9 and In_2 >= 1 and In_2 <= 9; s0[In_1, In_2] -> [In_1, In_2] : In_1 >= 2 and In_1 <= 9 and In_2 >= 2 and In_2 <= 9 }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= -1; [i0, i1] -> separate[o0] : o0 >= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m3-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m3-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m3-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m3-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = -9; c0 <= 9; c0 += 1)
+  for (int c1 = max(1, -c0 + 1); c1 <= min(10, -c0 + 10); c1 += 1)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m3-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m3-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m3-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m3-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : In_2 >= 1 - In_1 and In_2 >= 1 and In_2 <= 10 - In_1 and In_2 <= 10 }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m4-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m4-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m4-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m4-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+for (int c0 = 1; c0 <= 9; c0 += 1)
+  for (int c1 = 1; c1 <= 9; c1 += 1) {
+    s0(c1, c0);
+    s1(c1, c0);
+  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m4-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m4-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m4-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m4-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [j, i, 1] : i >= 1 and i <= 9 and j >= 1 and j <= 9 }
+{  :  }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m4-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m4-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m4-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m4-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+for (int c0 = 1; c0 <= 9; c0 += 1)
+  for (int c1 = 1; c1 <= 9; c1 += 1) {
+    s0(c1, c0);
+    s1(c1, c0);
+  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m4-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m4-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m4-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m4-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [j, i, 1] : i >= 1 and i <= 9 and j >= 1 and j <= 9 }
+{  :  }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 1; [i0, i1, i2] -> atomic[o0] : o0 <= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m7-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m7-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m7-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m7-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,6 @@
+for (int c0 = 1; c0 <= 9; c0 += 1)
+  for (int c1 = 1; c1 <= 9; c1 += 1) {
+    s0(c1, c0);
+    if (c0 % 2 == 0)
+      s1(c1, c0);
+  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m7-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m7-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m7-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m7-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [j, i, 1] : exists (e0 = [(j)/2]: 2e0 = j and i >= 1 and i <= 9 and j >= 2 and j <= 8) }
+{  :  }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m7-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m7-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m7-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m7-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,10 @@
+for (int c0 = 1; c0 <= 9; c0 += 1) {
+  if (c0 % 2 == 0) {
+    for (int c1 = 1; c1 <= 9; c1 += 1) {
+      s0(c1, c0);
+      s1(c1, c0);
+    }
+  } else
+    for (int c1 = 1; c1 <= 9; c1 += 1)
+      s0(c1, c0);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m7-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m7-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m7-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m7-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [j, i, 1] : exists (e0 = [(j)/2]: 2e0 = j and i >= 1 and i <= 9 and j >= 2 and j <= 8) }
+{  :  }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 1; [i0, i1, i2] -> atomic[o0] : o0 <= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m8-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m8-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m8-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m8-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,6 @@
+for (int c0 = 2; c0 <= 8; c0 += 2)
+  for (int c1 = 1; c1 <= 9; c1 += 1) {
+    if (c0 % 4 == 0)
+      s0(c1, c0);
+    s1(c1, c0);
+  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m8-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m8-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m8-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m8-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [j, i, 0] : exists (e0 = [(j)/4]: 4e0 = j and i >= 1 and i <= 9 and j >= 4 and j <= 8); s1[i, j] -> [j, i, 1] : exists (e0 = [(j)/2]: 2e0 = j and i >= 1 and i <= 9 and j >= 2 and j <= 8) }
+{  :  }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m8-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m8-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m8-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m8-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,10 @@
+for (int c0 = 2; c0 <= 8; c0 += 2) {
+  if (c0 % 4 == 0) {
+    for (int c1 = 1; c1 <= 9; c1 += 1) {
+      s0(c1, c0);
+      s1(c1, c0);
+    }
+  } else
+    for (int c1 = 1; c1 <= 9; c1 += 1)
+      s1(c1, c0);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m8-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m8-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m8-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m8-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [j, i, 0] : exists (e0 = [(j)/4]: 4e0 = j and i >= 1 and i <= 9 and j >= 4 and j <= 8); s1[i, j] -> [j, i, 1] : exists (e0 = [(j)/2]: 2e0 = j and i >= 1 and i <= 9 and j >= 2 and j <= 8) }
+{  :  }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 1; [i0, i1, i2] -> atomic[o0] : o0 <= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m9-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m9-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m9-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m9-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+for (int c0 = 1; c0 <= 9; c0 += 1)
+  for (int c1 = 1; c1 <= 9; c1 += 1) {
+    s0(c1, c0);
+    s1(c1, c0);
+  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m9-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m9-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m9-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m9-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [2j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [2j, i, 1] : i >= 1 and i <= 9 and j >= 1 and j <= 9 }
+{  :  }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m9-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m9-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m9-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m9-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+for (int c0 = 1; c0 <= 9; c0 += 1)
+  for (int c1 = 1; c1 <= 9; c1 += 1) {
+    s0(c1, c0);
+    s1(c1, c0);
+  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/m9-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/m9-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/m9-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/m9-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [2j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [2j, i, 1] : i >= 1 and i <= 9 and j >= 1 and j <= 9 }
+{  :  }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 1; [i0, i1, i2] -> atomic[o0] : o0 <= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/olda-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/olda-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/olda-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/olda-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,8 @@
+for (int c0 = 1; c0 <= morb; c0 += 1)
+  for (int c1 = 1; c1 <= np; c1 += 1)
+    for (int c2 = 1; c2 <= np; c2 += 1) {
+      if (c2 >= c1)
+        s0(c2, c1, c0);
+      if (c1 >= c2)
+        s1(c1, c2, c0);
+    }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/olda-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/olda-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/olda-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/olda-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[np, morb] -> { s0[mp, mq, mi] -> [mi, mq, mp, 0] : mq >= 1 and mq <= mp and mp <= np and mi >= 1 and mi <= morb; s1[mp, mq, mi] -> [mi, mp, mq, 1] : mq >= 1 and mq <= mp and mp <= np and mi >= 1 and mi <= morb }
+{  :  }
+[np, morb] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2; [i0, i1, i2, i3] -> separate[o0] : o0 >= 3 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/olda-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/olda-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/olda-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/olda-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,9 @@
+for (int c0 = 1; c0 <= morb; c0 += 1)
+  for (int c1 = 1; c1 <= np; c1 += 1) {
+    for (int c2 = 1; c2 < c1; c2 += 1)
+      s1(c1, c2, c0);
+    s0(c1, c1, c0);
+    s1(c1, c1, c0);
+    for (int c2 = c1 + 1; c2 <= np; c2 += 1)
+      s0(c2, c1, c0);
+  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/olda-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/olda-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/olda-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/olda-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[np, morb] -> { s0[mp, mq, mi] -> [mi, mq, mp, 0] : mq >= 1 and mq <= mp and mp <= np and mi >= 1 and mi <= morb; s1[mp, mq, mi] -> [mi, mp, mq, 1] : mq >= 1 and mq <= mp and mp <= np and mi >= 1 and mi <= morb }
+{  :  }
+[np, morb] -> { [i0, i1, i2, i3] -> atomic[o0] : o0 <= 1; [i0, i1, i2, i3] -> separate[o0] : o0 >= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/p.delft-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/p.delft-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/p.delft-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/p.delft-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,4 @@
+if (P2 >= 0 && P2 <= 3 && P1 == P2)
+  for (int c0 = 0; c0 <= min(2, -P2 + 4); c0 += 1)
+    for (int c2 = (-P2 - c0 + 6) % 3; c2 <= 3; c2 += 3)
+      s0(c0, c0, c2, c2);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/p.delft-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/p.delft-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/p.delft-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/p.delft-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[P2, P1] -> { s0[In_1, In_1, In_3, In_3] -> [In_1, In_1, In_3, In_3] : exists (e0 = [(-2P2 - 2In_1 + In_3)/3]: P1 = P2 and 3e0 = -2P2 - 2In_1 + In_3 and P2 >= 0 and P2 <= 3 and In_1 <= 4 - P2 and In_1 >= 0 and In_1 <= 2 and In_3 >= 0 and In_3 <= 3) }
+{  :  }
+[P2, P1] -> { [i0, i1, i2, i3] -> separate[o0] : o0 >= 3; [i0, i1, i2, i3] -> atomic[o0] : o0 <= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,10 @@
+if (P1 >= 0 && P1 <= 3 && P2 >= 0 && P2 <= 3)
+  for (int c0 = P1 - 1; c0 <= 3; c0 += 1)
+    for (int c2 = 0; c2 <= 7; c2 += 1)
+      for (int c3 = 0; c3 <= 7; c3 += 1)
+        if ((5 * P2 + 2 * c3) % 9 <= 3) {
+          if (P1 >= 1 && c0 + 1 == P1 && (5 * P1 + 2 * c2) % 9 <= 2) {
+            s0(P1 - 1, P2, c2, c3, ((5 * P1 + 2 * c2) % 9) + 1, (-4 * P2 + 2 * c3 + 9) % 9);
+          } else if (P1 == 0 && c0 == 3 && c2 % 4 == 0)
+            s0(3, P2, c2, c3, (-c2 / 4) + 3, (-4 * P2 + 2 * c3 + 9) % 9);
+        }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/p.delft2-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[P1, P2] -> { s0[In_1, P2, In_3, In_4, In_5, In_6] -> [In_1, P2, In_3, In_4, In_5, In_6] : (exists (e0 = [(8 + 4In_1 + 16In_3 + In_5)/9], e1 = [(12 - 4P1 + 9e0)/16], e2 = [(-2In_1 - 2In_3 + In_5)/3], e3 = [(-5P2 - 2In_4 + In_6)/9]: 3e2 = -2In_1 - 2In_3 + In_5 and 9e3 = -5P2 - 2In_4 + In_6 and P1 >= 0 and In_1 >= 1 + P1 and In_1 <= 3 and P2 >= 0 and P2 <= 3 and In_6 >= 0 and In_6 <= 3 and In_5 >= 0 and In_5 <= 3 and In_5 >= 1 - 4In_1 - 16In_3 and In_5 <= 126 - 4In_1 - 16In_3 and In_6 <= 126 - 4P2 - 16In_4 and 16e1 <= -4P1 + 9e0 and 2In_6 <= P2 + 4In_4 and 9e0 <= 3 + 4In_1 + 16In_3 + In_5 and 9e0 >= 4In_1 + 16In_3 + In_5 and 16e1 >= -3 - 4P1 + 9e0)) or (exists (e0 = [(8 + 4In_1 + 16In_3 + In_5)/9], e1 = [(12 - 4P1 + 9e0)/16], e2 = [(-2In_1 - 2In_3 + In_5)/3], e3 = [(-5P2 - 2In_4 + In_6)/9]: 3e2 = -2In_1 - 2In_3 + In_5 and 9e3 = -5P2 - 2In_4 + In_6 and In_1 >= 0 and In_1 <= -1 + P1 and P1 <= 3 and In_6 >= 0 and In_6 <= 3 and In_6 <= 1 + 2In_4 and P2 >= 0 and P2 <= 3 and In_5 >= 0 and I
 n_5 <= 3 and In_5 >= 1 - 4In_1 - 16In_3 and In_5 <= 126 - 4In_1 - 16In_3 and In_6 <= 126 - 4P2 - 16In_4 and 16e1 <= -4P1 + 9e0 and 9e0 <= 3 + 4In_1 + 16In_3 + In_5 and 9e0 >= 4In_1 + 16In_3 + In_5 and 16e1 >= -3 - 4P1 + 9e0)) }
+{  :  }
+[P1, P2] -> { [i0, i1, i2, i3, i4, i5] -> atomic[o0] : o0 <= 4; [i0, i1, i2, i3, i4, i5] -> separate[o0] : o0 >= 5 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/p6-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/p6-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/p6-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/p6-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,8 @@
+{
+  for (int c0 = 5; c0 <= 8; c0 += 1)
+    s0(c0);
+  for (int c0 = 10; c0 <= 16; c0 += 2)
+    s0(c0);
+  for (int c0 = 20; c0 <= 25; c0 += 1)
+    s0(c0);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/p6-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/p6-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/p6-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/p6-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1] -> [In_1] : (In_1 >= 5 and In_1 <= 8) or (exists (e0 = [(In_1)/2]: 2e0 = In_1 and In_1 >= 10 and In_1 <= 16)) or (In_1 >= 20 and In_1 <= 25) }
+{  :  }
+{ [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/p6-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/p6-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/p6-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/p6-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = -9; c0 <= 9; c0 += 1)
+  for (int c1 = max(1, -c0 + 1); c1 <= min(10, -c0 + 10); c1 += 1)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/p6-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/p6-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/p6-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/p6-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : In_2 >= 1 - In_1 and In_2 >= 1 and In_2 <= 10 - In_1 and In_2 <= 10 }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride1-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride1-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride1-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride1-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+for (int c0 = 3; c0 <= 9; c0 += 3)
+  s0(c0);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride1-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride1-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride1-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride1-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1] -> [In_1] : exists (e0 = [(In_1)/3]: 3e0 = In_1 and In_1 >= 3 and In_1 <= 9) }
+{  :  }
+{ [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride2-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride2-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride2-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride2-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 0; c0 <= n; c0 += 32)
+  for (int c1 = c0; c1 <= min(n, c0 + 31); c1 += 1)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride2-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride2-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride2-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride2-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(In_1)/32]: 32e0 = In_1 and In_2 <= 31 + In_1 and In_1 >= 0 and In_2 >= In_1 and In_2 <= n) }
+{  :  }
+[n] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride3-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride3-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride3-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride3-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 3; c0 <= n; c0 += 32)
+  for (int c1 = c0; c1 <= min(n, c0 + 31); c1 += 1)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride3-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride3-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride3-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride3-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(-3 + In_1)/32]: 32e0 = -3 + In_1 and In_2 <= 31 + In_1 and In_1 >= 3 and In_2 >= In_1 and In_2 <= n) }
+{  :  }
+[n] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride4-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride4-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride4-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride4-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+for (int c0 = 18; c0 <= 98; c0 += 5)
+  s0(c0);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride4-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride4-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride4-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride4-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1] -> [In_1] : exists (e0 = [(-3 + In_1)/5]: 5e0 = -3 + In_1 and In_1 >= 18 and In_1 <= 98) }
+{  :  }
+{ [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride5-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride5-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride5-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride5-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 2; c0 <= min(100, -2 * n + 400); c0 += 2)
+  for (int c1 = 2 * n + c0; c1 <= 400; c1 += 2)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride5-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride5-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride5-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride5-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(In_1)/2], e1 = [(In_2)/2]: 2e0 = In_1 and 2e1 = In_2 and In_1 >= 2 and In_1 <= 100 and In_2 <= 400 and In_2 >= 2n + In_1) }
+{  :  }
+[n] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 <= 101; c0 += 1)
+  for (int c1 = -((c0 - 1) % 2) + c0 + 1; c1 <= 400; c1 += 2)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(In_2)/2]: 2e0 = In_2 and In_1 >= 1 and In_2 >= In_1 and In_2 <= 400 and In_1 <= 101) }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 2; c0 <= 100; c0 += 2)
+  for (int c1 = c0; c1 <= 400; c1 += 2)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(In_1)/2], e1 = [(In_2)/2]: 2e0 = In_1 and 2e1 = In_2 and In_1 >= 2 and In_2 >= In_1 and In_2 <= 400 and In_1 <= 100) }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-2.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-2.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-2.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-2.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 2; c0 <= 100; c0 += 2)
+  for (int c1 = c0; c1 <= 400; c1 += 2)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-2.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-2.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-2.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride6-2.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[In_1, In_2] -> [In_1, In_2] : exists (e0 = [(In_1)/2], e1 = [(In_2)/2]: 2e0 = In_1 and 2e1 = In_2 and In_1 >= 2 and In_2 >= In_1 and In_2 <= 400 and In_1 <= 100) }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride7-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride7-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride7-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride7-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,14 @@
+for (int c0 = 1; c0 <= 36; c0 += 1) {
+  if (c0 <= 3) {
+    for (int c1 = 1; c1 <= 9; c1 += 1)
+      s1(c1, c0);
+  } else if (c0 <= 9) {
+    for (int c1 = 1; c1 <= 9; c1 += 1) {
+      if (c0 % 4 == 0)
+        s0(c1, c0 / 4);
+      s1(c1, c0);
+    }
+  } else if (c0 % 4 == 0)
+    for (int c1 = 1; c1 <= 9; c1 += 1)
+      s0(c1, c0 / 4);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride7-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride7-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride7-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride7-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [4j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [j, i, 1] : i >= 1 and i <= 9 and j >= 1 and j <= 9 }
+{  :  }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 1; [i0, i1, i2] -> atomic[o0] : o0 <= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride7-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride7-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride7-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride7-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,14 @@
+{
+  for (int c0 = 1; c0 <= 3; c0 += 1)
+    for (int c1 = 1; c1 <= 9; c1 += 1)
+      s1(c1, c0);
+  for (int c0 = 4; c0 <= 9; c0 += 1)
+    for (int c1 = 1; c1 <= 9; c1 += 1) {
+      if (c0 % 4 == 0)
+        s0(c1, c0 / 4);
+      s1(c1, c0);
+    }
+  for (int c0 = 3; c0 <= 9; c0 += 1)
+    for (int c1 = 1; c1 <= 9; c1 += 1)
+      s0(c1, c0);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride7-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride7-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride7-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/stride7-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [4j, i, 0] : i >= 1 and i <= 9 and j >= 1 and j <= 9; s1[i, j] -> [j, i, 1] : i >= 1 and i <= 9 and j >= 1 and j <= 9 }
+{  :  }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 0; [i0, i1, i2] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 0; c0 <= 10; c0 += 1)
+  for (int c1 = max(2 * c0 - 4, c0); c1 <= min(2 * c0, c0 + 6); c1 += 1)
+    s0(2 * c0 - c1, -c0 + c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [i + j, i + 2j] : i >= 0 and i <= 4 and j >= 0 and j <= 6 }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 0; c0 <= 14; c0 += 1)
+  for (int c1 = max(2 * c0 - 12, -c0 + 3 * floord(c0 - 1, 2) + 3); c1 <= min(2 * c0, c0 / 2 + 9); c1 += 3)
+    s0((2 * c0 - c1) / 3, (-c0 + 2 * c1) / 3);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [2i + j, i + 2j] : i >= 0 and i <= 4 and j >= 0 and j <= 6 }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-2.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-2.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-2.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-2.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+for (int c0 = -3; c0 <= 96; c0 += 1)
+  s0(c0, c0 + 4);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-2.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-2.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-2.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-2.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, 4 + i] -> [i, 4 + i] : i >= -3 and i <= 96 }
+{  :  }
+{ [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-3.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-3.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-3.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-3.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+s0(n + 19);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-3.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-3.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-3.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-3.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[19 + n] -> [19 + n] }
+{  :  }
+[n] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-4.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-4.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-4.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-4.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+s0(n + 1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-4.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-4.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-4.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/substitution-4.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { s0[i] -> [i] : exists (e0 = [(-1 - n + i)/18]: 18e0 = -1 - n + i and i <= 16 + n and i >= 1 + n) }
+{  :  }
+[n] -> { [i0] -> separate[o0] : o0 >= 0; [i0] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,4 @@
+for (int c0 = 1; c0 <= min(n, 2 * b - 1); c0 += 1)
+  for (int c1 = max(-n + 1, -b + 1); c1 <= min(b - c0, n - c0); c1 += 1)
+    for (int c2 = max(1, c0 + c1); c2 <= min(n, n + c1); c2 += 1)
+      s0(-c0 - c1 + c2 + 1, -c1 + c2, c2);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n, b] -> { s0[i, j, k] -> [1 - i + j, -j + k, k] : i >= 1 and j >= i and j <= n and k >= 1 and k <= n and k <= -1 + b + i and k >= 1 - b + j }
+{  :  }
+[n, b] -> { [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,4 @@
+for (int c0 = 1; c0 <= min(n, 2 * b - 1); c0 += 1)
+  for (int c1 = -b + 1; c1 <= b - c0; c1 += 1)
+    for (int c2 = max(1, c0 + c1); c2 <= min(n, n + c1); c2 += 1)
+      s0(-c0 - c1 + c2 + 1, -c1 + c2, c2);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n, b] -> { s0[i, j, k] -> [1 - i + j, -j + k, k] : i >= 1 and j >= i and j <= n and k >= 1 and k <= n and k <= -1 + b + i and k >= 1 - b + j }
+[b, n] -> {  : b >= 1 and n >= b }
+[n, b] -> { [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-2.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-2.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-2.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-2.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,4 @@
+for (int c0 = 1; c0 <= min(n, 2 * b - 1); c0 += 1)
+  for (int c1 = max(-n + 1, -b + 1); c1 <= min(b - c0, n - c0); c1 += 1)
+    for (int c2 = max(1, c0 + c1); c2 <= min(n, n + c1); c2 += 1)
+      s0(-c0 - c1 + c2 + 1, -c1 + c2, c2);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-2.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-2.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-2.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-2.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n, b] -> { s0[i, j, k] -> [1 - i + j, -j + k, k] : i >= 1 and j >= i and j <= n and k >= 1 and k <= n and k <= -1 + b + i and k >= 1 - b + j }
+{  :  }
+[n, b] -> { [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-3.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-3.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-3.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-3.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,4 @@
+for (int c0 = 1; c0 <= min(n, 2 * b - 1); c0 += 1)
+  for (int c1 = -b + 1; c1 <= b - c0; c1 += 1)
+    for (int c2 = max(1, c0 + c1); c2 <= min(n, n + c1); c2 += 1)
+      s0(-c0 - c1 + c2 + 1, -c1 + c2, c2);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-3.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-3.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-3.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/syr2k-3.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n, b] -> { s0[i, j, k] -> [1 - i + j, -j + k, k] : i >= 1 and j >= i and j <= n and k >= 1 and k <= n and k <= -1 + b + i and k >= 1 - b + j }
+[b, n] -> {  : b >= 1 and n >= b }
+[n, b] -> { [i0, i1, i2] -> separate[o0] : o0 >= 2; [i0, i1, i2] -> atomic[o0] : o0 <= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-check-sblock-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-check-sblock-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-check-sblock-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-check-sblock-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,14 @@
+{
+  for (int c1 = 0; c1 <= 1; c1 += 1) {
+    if (c1 == 1) {
+      s0(1, 1, 1, 0, 0);
+      s0(1, 1, 1, N - 1, 0);
+    } else
+      for (int c3 = 0; c3 < N; c3 += 1)
+        s0(1, 0, 1, c3, 0);
+  }
+  for (int c1 = 0; c1 <= floord(T - 1, 1000); c1 += 1)
+    for (int c2 = 1000 * c1 + 1; c2 <= min(N + T - 3, N + 1000 * c1 + 997); c2 += 1)
+      for (int c3 = max(0, -N - 1000 * c1 + c2 + 2); c3 <= min(min(999, T - 1000 * c1 - 1), -1000 * c1 + c2 - 1); c3 += 1)
+        s1(2, 1000 * c1 + c3, 1, -1000 * c1 + c2 - c3, 1);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-check-sblock-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-check-sblock-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-check-sblock-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-check-sblock-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[T, N] -> { s1[2, t, 1, i, 1] -> [2, tb, t + i, t - 1000tb, 0] : 1000tb <= t and 1000tb >= -999 + t and i >= 1 and i <= -2 + N and t >= 0 and t <= -1 + T; s0[1, 0, 1, In_4, 0] -> [1, 0, 1, In_4, 0] : In_4 >= 0 and In_4 <= -1 + N; s0[1, 1, 1, 0, 0] -> [1, 1, 1, 0, 0]; s0[1, 1, 1, -1 + N, 0] -> [1, 1, 1, -1 + N, 0] }
+[T, N] -> {  : T >= 0 and N >= 4 }
+[N] -> { [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 3; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-check0-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-check0-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-check0-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-check0-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,13 @@
+{
+  for (int c1 = 0; c1 < N; c1 += 1)
+    s0(1, c1, 1, 0, 0);
+  for (int c1 = 0; c1 <= floord(T - 1, 500); c1 += 1)
+    for (int c2 = 1000 * c1; c2 <= min(N + 2 * T - 3, N + 1000 * c1 + 997); c2 += 1) {
+      for (int c3 = max(0, -((N + c2) % 2) - N - 1000 * c1 + c2 + 2); c3 <= min(min(998, 2 * T - 1000 * c1 - 2), -1000 * c1 + c2 - 2); c3 += 2) {
+        s1(2, 1000 * c1 + c3, 0, -1000 * c1 + c2 - c3, 1);
+        s2(2, 1000 * c1 + c3 + 1, 0, -1000 * c1 + c2 - c3 - 1, 1);
+      }
+      if (2 * T >= c2 + 1 && 1000 * c1 + 999 >= c2)
+        s1(2, -(c2 % 2) + c2, 0, c2 % 2, 1);
+    }
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-check0-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-check0-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-check0-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-check0-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[T, N] -> { s1[2, t, 0, i, 1] -> [2, tb, t + i, t - 1000tb, 1] : exists (e0 = [(t - 1000tb)/2]: 2e0 = t - 1000tb and 1000tb <= t and 1000tb >= -999 + t and i >= 0 and i <= -1 + N and t >= 0 and t <= -2 + 2T); s0[1, In_2, 1, 0, 0] -> [1, In_2, 1, 0, 0] : In_2 >= 0 and In_2 <= -1 + N; s2[2, t, 0, i, 1] -> [2, tb, t + i, t - 1000tb, 1] : exists (e0 = [(-1 + t - 1000tb)/2]: 2e0 = -1 + t - 1000tb and 1000tb <= t and 1000tb >= -999 + t and i >= 1 and i <= -2 + N and t >= 1 and t <= -1 + 2T) }
+[T, N] -> {  : T >= 0 and N >= 4 }
+[N] -> { [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 3; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,35 @@
+{
+  for (int c1 = -1; c1 < T; c1 += 1)
+    for (int c2 = 0; c2 < N; c2 += 1) {
+      if (c1 == -1) {
+        s0(1, -1, c2, 0, 0);
+      } else if (c2 == 0) {
+        s0(1, c1, 0, 0, 0);
+      } else if (c2 + 1 == N)
+        s0(1, c1, N - 1, 0, 0);
+    }
+  for (int c1 = 0; c1 <= floord(T - 1, 500); c1 += 1) {
+    for (int c3 = -((c1 + 9) / 8) + 2; c3 <= floord(N - 500 * c1 - 3, 4000) + 1; c3 += 1)
+      for (int c4 = max(500 * c1 + 1, 1000 * c1 + 4000 * c3 - 3999); c4 <= min(min(N + T - 3, 1000 * c1 + 4000 * c3 - 3000), 2 * N - 4000 * c3 + 3995); c4 += 1)
+        for (int c5 = max(0, -N - 500 * c1 + c4 + 2); c5 <= min(min(T - 500 * c1 - 1, -500 * c1 + c4 - 1), -500 * c1 - 2000 * c3 + (c4 + 1) / 2 + 1999); c5 += 1)
+          s1(2, 500 * c1 + c5, 1, -500 * c1 + c4 - c5, 1);
+    for (int c3 = max(-((T + 4000) / 4000) + 2, -((c1 + 9) / 8) + 2); c3 <= floord(N - 500 * c1 - 3, 4000) + 1; c3 += 1)
+      for (int c4 = max(1000 * c1 + 4000 * c3 - 3999, -4000 * c3 + 4000); c4 <= min(min(2 * T + 4000 * c3 - 4000, 1000 * c1 + 4000 * c3 - 3000), 2 * N - 4000 * c3 + 3995); c4 += 1)
+        s2(2, -2000 * c3 + (c4 + 1) / 2 + 1999, 1, 2000 * c3 + c4 - (c4 + 1) / 2 - 1999, 1);
+    for (int c3 = -((c1 + 7) / 8) + 1; c3 <= min(floord(N + T - 1000 * c1 - 1004, 4000) + 1, floord(N - 500 * c1 - 504, 4000) + 1); c3 += 1)
+      for (int c4 = max(500 * c1 + 1, 1000 * c1 + 4000 * c3 - 2999); c4 <= min(min(N + T - 3, N + 500 * c1 + 497), 1000 * c1 + 4000 * c3); c4 += 1)
+        for (int c5 = max(0, -N - 500 * c1 + c4 + 2); c5 <= min(min(499, T - 500 * c1 - 1), -500 * c1 + c4 - 1); c5 += 1)
+          s3(2, 500 * c1 + c5, 1, -500 * c1 + c4 - c5, 1);
+    for (int c3 = max(-((T + 4000) / 4000) + 1, -((c1 + 9) / 8) + 1); c3 <= floord(N - 500 * c1 - 3, 4000); c3 += 1)
+      for (int c4 = max(-4000 * c3, 1000 * c1 + 4000 * c3 + 1); c4 <= min(min(2 * N - 4000 * c3 - 5, 2 * T + 4000 * c3), 1000 * c1 + 4000 * c3 + 1000); c4 += 1)
+        s4(2, -2000 * c3 + (c4 + 1) / 2 - 1, 1, 2000 * c3 + c4 - (c4 + 1) / 2 + 1, 1);
+    for (int c3 = -((c1 + 8) / 8) + 1; c3 <= min(floord(N + T - 1000 * c1 - 4, 4000), floord(N - 500 * c1 + 496, 4000)); c3 += 1)
+      for (int c4 = max(1000 * c1 + 4000 * c3 + 1, -4000 * c3 + 2); c4 <= min(min(min(N + T - 3, N + 500 * c1 + 497), 2 * T + 4000 * c3 - 2), 1000 * c1 + 4000 * c3 + 998); c4 += 1)
+        for (int c5 = max(-N - 500 * c1 + c4 + 2, -500 * c1 - 2000 * c3 + (c4 + 1) / 2); c5 <= min(min(499, T - 500 * c1 - 1), -500 * c1 + c4 - 1); c5 += 1)
+          s5(2, 500 * c1 + c5, 1, -500 * c1 + c4 - c5, 1);
+  }
+  if (T >= 1)
+    for (int c3 = -((T + 3998) / 4000) + 1; c3 <= floord(N - T - 2, 4000) + 1; c3 += 1)
+      for (int c4 = max(T, 2 * T + 4000 * c3 - 4001); c4 < min(N + T - 2, 2 * T + 4000 * c3 - 1); c4 += 1)
+        s6(2, T - 1, 1, -T + c4 + 1, 1);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[T, N] -> { s1[2, t, 1, i, 1] -> [2, tb, 1, proc, t + i, t - 500tb, 0] : 4000proc >= 3000 + t + i - 1000tb and 500tb <= t and 4000proc <= 3999 - t + i and i >= 1 and i <= -2 + N and t >= 0 and t <= -1 + T; s0[1, -1, c, 0, 0] -> [1, -1, c, 0, 0, 0, 0] : c >= 0 and c <= -1 + N; s0[1, b, 0, 0, 0] -> [1, b, 0, 0, 0, 0, 0] : b >= 0 and b <= -1 + T; s0[1, b, -1 + N, 0, 0] -> [1, b, -1 + N, 0, 0, 0, 0] : b >= 0 and b <= -1 + T; s6[2, -1 + T, 1, i, 1] -> [3, tb, 7, proc, -1 + T + i, -1 + T - 500tb, 0] : 500tb <= -1 + T and 500tb >= -500 + T and 4000proc >= 1 - T + i and 4000proc <= 4000 - T + i and i >= 1 and i <= -2 + N and T >= 1; s3[2, t, 1, i, 1] -> [2, tb, 3, proc, t + i, t - 500tb, 0] : 500tb <= t and 500tb >= -499 + t and 4000proc <= 2999 + t + i - 1000tb and 4000proc >= t + i - 1000tb and i >= 1 and i <= -2 + N and t >= 0 and t <= -1 + T; s2[2, t, 1, i, 1] -> [2, tb, 2, proc, t + i, t - 500tb, 0] : 500tb <= t and 500tb >= -499 + t and 4000proc <= 3999 - t + i and 4000proc >= 3998 - 
 t + i and i >= 1 and i <= -2 + N and t >= 0 and t <= -1 + T; s4[2, t, 1, i, 1] -> [2, tb, 4, Out_4, t + i, t - 500tb, 0] : 500tb <= t and 500tb >= -499 + t and 4000Out_4 <= -1 - t + i and 4000Out_4 >= -2 - t + i and i >= 1 and i <= -2 + N and t >= 0 and t <= -1 + T; s5[2, t, 1, i, 1] -> [2, tb, 5, proc, t + i, t - 500tb, 0] : 500tb >= -499 + t and 4000proc <= -1 + t + i - 1000tb and 4000proc >= -t + i and i >= 1 and i <= -2 + N and t >= 0 and t <= -1 + T }
+[T, N] -> {  : T >= 0 and N >= 4 }
+[N, T] -> { [i0, i1, i2, i3, i4, i5, i6] -> atomic[o0] : o0 <= 5; [i0, i1, i2, i3, i4, i5, i6] -> separate[o0] : o0 >= 6 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-orig0-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-orig0-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-orig0-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-orig0-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,10 @@
+{
+  for (int c1 = 0; c1 < N; c1 += 1)
+    s0(1, c1, 1, 0, 0);
+  for (int c1 = 0; c1 < T; c1 += 1) {
+    for (int c3 = 0; c3 < N; c3 += 1)
+      s1(2, c1, 0, c3, 1);
+    for (int c3 = 1; c3 < N - 1; c3 += 1)
+      s2(2, c1, 1, c3, 1);
+  }
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-orig0-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-orig0-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-orig0-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/ts1d-orig0-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[T, N] -> { s1[2, In_2, 0, In_4, 1] -> [2, In_2, 0, In_4, 1] : In_4 >= 0 and In_4 <= -1 + N and In_2 >= 0 and In_2 <= -1 + T; s0[1, In_2, 1, 0, 0] -> [1, In_2, 1, 0, 0] : In_2 >= 0 and In_2 <= -1 + N; s2[2, In_2, 1, In_4, 1] -> [2, In_2, 1, In_4, 1] : In_4 >= 1 and In_4 <= -2 + N and In_2 >= 0 and In_2 <= -1 + T }
+[T, N] -> {  : T >= 0 and N >= 4 }
+[N] -> { [i0, i1, i2, i3, i4] -> separate[o0] : o0 >= 4; [i0, i1, i2, i3, i4] -> atomic[o0] : o0 <= 3 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak1-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak1-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak1-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak1-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,27 @@
+{
+  for (int c0 = a2; c0 <= min(min(a1 - 1, a3 - 1), b2); c0 += 1)
+    s1(c0);
+  for (int c0 = a1; c0 <= min(b1, a3 - 1); c0 += 1) {
+    s0(c0);
+    if (c0 >= a2 && b2 >= c0)
+      s1(c0);
+  }
+  for (int c0 = max(max(a1, b1 + 1), a2); c0 <= min(a3 - 1, b2); c0 += 1)
+    s1(c0);
+  for (int c0 = a3; c0 <= b3; c0 += 1) {
+    if (c0 >= a1 && b1 >= c0)
+      s0(c0);
+    if (c0 >= a2 && b2 >= c0)
+      s1(c0);
+    s2(c0);
+  }
+  for (int c0 = max(max(a3, b3 + 1), a2); c0 <= min(a1 - 1, b2); c0 += 1)
+    s1(c0);
+  for (int c0 = max(max(a1, a3), b3 + 1); c0 <= b1; c0 += 1) {
+    s0(c0);
+    if (c0 >= a2 && b2 >= c0)
+      s1(c0);
+  }
+  for (int c0 = max(max(max(max(a1, b1 + 1), a3), b3 + 1), a2); c0 <= b2; c0 += 1)
+    s1(c0);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak1-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak1-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak1-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak1-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[a3, b3, a2, b2, a1, b1] -> { s2[i] -> [i, 2] : i >= a3 and i <= b3; s0[i] -> [i, 0] : i >= a1 and i <= b1; s1[i] -> [i, 1] : i >= a2 and i <= b2 }
+{  :  }
+[a1, b1] -> { [i0, i1] -> separate[o0] : o0 >= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak1-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak1-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak1-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak1-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,55 @@
+{
+  for (int c0 = a2; c0 <= min(min(a1 - 1, a3 - 1), b2); c0 += 1)
+    s1(c0);
+  for (int c0 = a3; c0 <= min(min(a1 - 1, b3), a2 - 1); c0 += 1)
+    s2(c0);
+  for (int c0 = max(a3, a2); c0 <= min(min(a1 - 1, b3), b2); c0 += 1) {
+    s1(c0);
+    s2(c0);
+  }
+  for (int c0 = a1; c0 <= min(min(b1, a3 - 1), a2 - 1); c0 += 1)
+    s0(c0);
+  for (int c0 = max(a1, a2); c0 <= min(min(b1, a3 - 1), b2); c0 += 1) {
+    s0(c0);
+    s1(c0);
+  }
+  for (int c0 = max(max(a1, b1 + 1), a2); c0 <= min(a3 - 1, b2); c0 += 1)
+    s1(c0);
+  for (int c0 = max(a1, a3); c0 <= min(min(b1, b3), a2 - 1); c0 += 1) {
+    s0(c0);
+    s2(c0);
+  }
+  for (int c0 = max(max(a1, b1 + 1), a3); c0 <= min(b3, a2 - 1); c0 += 1)
+    s2(c0);
+  for (int c0 = max(max(a1, a3), a2); c0 <= min(min(b1, b3), b2); c0 += 1) {
+    s0(c0);
+    s1(c0);
+    s2(c0);
+  }
+  for (int c0 = max(max(max(a1, b1 + 1), a3), a2); c0 <= min(b3, b2); c0 += 1) {
+    s1(c0);
+    s2(c0);
+  }
+  for (int c0 = max(max(a3, a2), b2 + 1); c0 <= min(a1 - 1, b3); c0 += 1)
+    s2(c0);
+  for (int c0 = max(max(a1, a2), b2 + 1); c0 <= min(b1, a3 - 1); c0 += 1)
+    s0(c0);
+  for (int c0 = max(max(max(a1, a3), a2), b2 + 1); c0 <= min(b1, b3); c0 += 1) {
+    s0(c0);
+    s2(c0);
+  }
+  for (int c0 = max(max(max(max(a1, b1 + 1), a3), a2), b2 + 1); c0 <= b3; c0 += 1)
+    s2(c0);
+  for (int c0 = max(max(a3, b3 + 1), a2); c0 <= min(a1 - 1, b2); c0 += 1)
+    s1(c0);
+  for (int c0 = max(max(a1, a3), b3 + 1); c0 <= min(b1, a2 - 1); c0 += 1)
+    s0(c0);
+  for (int c0 = max(max(max(a1, a3), b3 + 1), a2); c0 <= min(b1, b2); c0 += 1) {
+    s0(c0);
+    s1(c0);
+  }
+  for (int c0 = max(max(max(max(a1, b1 + 1), a3), b3 + 1), a2); c0 <= b2; c0 += 1)
+    s1(c0);
+  for (int c0 = max(max(max(max(a1, a3), b3 + 1), a2), b2 + 1); c0 <= b1; c0 += 1)
+    s0(c0);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak1-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak1-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak1-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak1-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[a3, b3, a2, b2, a1, b1] -> { s2[i] -> [i, 2] : i >= a3 and i <= b3; s0[i] -> [i, 0] : i >= a1 and i <= b1; s1[i] -> [i, 1] : i >= a2 and i <= b2 }
+{  :  }
+[a1, b1] -> { [i0, i1] -> separate[o0] : o0 >= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak2-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak2-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak2-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak2-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,26 @@
+{
+  for (int c0 = a1; c0 <= min(b1, a2 - 1); c0 += 1)
+    for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1)
+      s0(c0, c1_0);
+  if (c2 >= d2 + 1) {
+    for (int c0 = max(a1, a2); c0 <= min(b1, b2); c0 += 1)
+      for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1)
+        s0(c0, c1_0);
+  } else
+    for (int c0 = a2; c0 <= b2; c0 += 1) {
+      if (c0 >= a1 && b1 >= c0)
+        for (int c1_0 = c1; c1_0 <= min(d1, c2 - 1); c1_0 += 1)
+          s0(c0, c1_0);
+      for (int c1_0 = c2; c1_0 <= d2; c1_0 += 1) {
+        if (c0 >= a1 && b1 >= c0 && c1_0 >= c1 && d1 >= c1_0)
+          s0(c0, c1_0);
+        s1(c0, c1_0);
+      }
+      if (c0 >= a1 && b1 >= c0)
+        for (int c1_0 = max(c1, d2 + 1); c1_0 <= d1; c1_0 += 1)
+          s0(c0, c1_0);
+    }
+  for (int c0 = max(max(a1, a2), b2 + 1); c0 <= b1; c0 += 1)
+    for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1)
+      s0(c0, c1_0);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak2-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak2-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak2-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak2-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[a2, b2, c2, d2, a1, b1, c1, d1] -> { s0[i, j] -> [i, j, 0] : i >= a1 and i <= b1 and j >= c1 and j <= d1; s1[i, j] -> [i, j, 1] : i >= a2 and i <= b2 and j >= c2 and j <= d2 }
+{  :  }
+[a1, b1, c1, d1] -> { [i0, i1, i2] -> separate[o0] : o0 >= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak2-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak2-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak2-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak2-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,35 @@
+{
+  for (int c0 = a1; c0 <= min(b1, a2 - 1); c0 += 1)
+    for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1)
+      s0(c0, c1_0);
+  if (c2 >= d2 + 1) {
+    for (int c0 = max(a1, a2); c0 <= min(b1, b2); c0 += 1)
+      for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1)
+        s0(c0, c1_0);
+  } else
+    for (int c0 = a2; c0 <= b2; c0 += 1) {
+      if (a1 >= c0 + 1) {
+        for (int c1_0 = c2; c1_0 <= d2; c1_0 += 1)
+          s1(c0, c1_0);
+      } else if (c0 >= b1 + 1) {
+        for (int c1_0 = c2; c1_0 <= d2; c1_0 += 1)
+          s1(c0, c1_0);
+      } else {
+        for (int c1_0 = c1; c1_0 <= min(d1, c2 - 1); c1_0 += 1)
+          s0(c0, c1_0);
+        for (int c1_0 = c2; c1_0 <= min(c1 - 1, d2); c1_0 += 1)
+          s1(c0, c1_0);
+        for (int c1_0 = max(c1, c2); c1_0 <= min(d1, d2); c1_0 += 1) {
+          s0(c0, c1_0);
+          s1(c0, c1_0);
+        }
+        for (int c1_0 = max(c1, d2 + 1); c1_0 <= d1; c1_0 += 1)
+          s0(c0, c1_0);
+        for (int c1_0 = max(max(c1, d1 + 1), c2); c1_0 <= d2; c1_0 += 1)
+          s1(c0, c1_0);
+      }
+    }
+  for (int c0 = max(max(a1, a2), b2 + 1); c0 <= b1; c0 += 1)
+    for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1)
+      s0(c0, c1_0);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak2-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak2-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak2-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak2-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[a2, b2, c2, d2, a1, b1, c1, d1] -> { s0[i, j] -> [i, j, 0] : i >= a1 and i <= b1 and j >= c1 and j <= d1; s1[i, j] -> [i, j, 1] : i >= a2 and i <= b2 and j >= c2 and j <= d2 }
+{  :  }
+[a1, b1, c1, d1] -> { [i0, i1, i2] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak3-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak3-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak3-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak3-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,8 @@
+for (int c0 = a; c0 <= b + 20; c0 += 1) {
+  if (b >= c0)
+    s0(c0);
+  if (c0 >= a + 10 && b + 10 >= c0)
+    s1(c0);
+  if (c0 >= a + 20)
+    s2(c0);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak3-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak3-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak3-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak3-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[a, b] -> { s2[i] -> [i, 2] : i >= 20 + a and i <= 20 + b; s0[i] -> [i, 0] : i >= a and i <= b; s1[i] -> [i, 1] : i >= 10 + a and i <= 10 + b }
+{  :  }
+[a, b] -> { [i0, i1] -> atomic[o0] : o0 <= 0; [i0, i1] -> separate[o0] : o0 >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak3-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak3-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak3-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak3-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,21 @@
+{
+  for (int c0 = a; c0 <= min(a + 9, b); c0 += 1)
+    s0(c0);
+  for (int c0 = a + 10; c0 <= min(a + 19, b); c0 += 1) {
+    s0(c0);
+    s1(c0);
+  }
+  for (int c0 = max(a + 10, b + 1); c0 <= min(a + 19, b + 10); c0 += 1)
+    s1(c0);
+  for (int c0 = a + 20; c0 <= b; c0 += 1) {
+    s0(c0);
+    s1(c0);
+    s2(c0);
+  }
+  for (int c0 = max(a + 20, b + 1); c0 <= b + 10; c0 += 1) {
+    s1(c0);
+    s2(c0);
+  }
+  for (int c0 = max(a + 20, b + 11); c0 <= b + 20; c0 += 1)
+    s2(c0);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak3-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak3-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak3-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak3-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[a, b] -> { s2[i] -> [i, 2] : i >= 20 + a and i <= 20 + b; s0[i] -> [i, 0] : i >= a and i <= b; s1[i] -> [i, 1] : i >= 10 + a and i <= 10 + b }
+{  :  }
+[a, b] -> { [i0, i1] -> atomic[o0] : o0 <= -1; [i0, i1] -> separate[o0] : o0 >= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak4-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak4-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak4-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak4-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,4 @@
+for (int c0 = max(max(max(max(a1, a2), a3), a4), a5); c0 <= min(min(min(min(b1, b2), b3), b4), b5); c0 += 1) {
+  s0(c0);
+  s1(c0);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak4-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak4-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak4-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak4-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[a1, a2, a3, a4, a5, b1, b2, b3, b4, b5] -> { s0[i] -> [i, 0] : i >= a1 and i >= a2 and i >= a3 and i >= a4 and i >= a5 and i <= b1 and i <= b2 and i <= b3 and i <= b4 and i <= b5; s1[i] -> [i, 1] : i >= a1 and i >= a2 and i >= a3 and i >= a4 and i >= a5 and i <= b1 and i <= b2 and i <= b3 and i <= b4 and i <= b5 }
+{  :  }
+[a1, a2, a3, a4, a5, b1, b2, b3, b4, b5] -> { [i0, i1] -> separate[o0] : o0 >= 1; [i0, i1] -> atomic[o0] : o0 <= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak4-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak4-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak4-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak4-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,4 @@
+for (int c0 = max(max(max(max(a1, a2), a3), a4), a5); c0 <= min(min(min(min(b1, b2), b3), b4), b5); c0 += 1) {
+  s0(c0);
+  s1(c0);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak4-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak4-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak4-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/wak4-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[a1, a2, a3, a4, a5, b1, b2, b3, b4, b5] -> { s0[i] -> [i, 0] : i >= a1 and i >= a2 and i >= a3 and i >= a4 and i >= a5 and i <= b1 and i <= b2 and i <= b3 and i <= b4 and i <= b5; s1[i] -> [i, 1] : i >= a1 and i >= a2 and i >= a3 and i >= a4 and i >= a5 and i <= b1 and i <= b2 and i <= b3 and i <= b4 and i <= b5 }
+{  :  }
+[a1, a2, a3, a4, a5, b1, b2, b3, b4, b5] -> { [i0, i1] -> separate[o0] : o0 >= 0; [i0, i1] -> atomic[o0] : o0 <= -1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/x-0.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/x-0.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/x-0.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/x-0.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,14 @@
+for (int c0 = 1; c0 <= 11; c0 += 1) {
+  for (int c1 = max(1, c0 - 3); c1 <= min(c0, -c0 + 8); c1 += 1)
+    s1(c1, c0 - c1 + 1);
+  for (int c1 = max(1, -c0 + 9); c1 <= min(c0 - 4, -c0 + 12); c1 += 1)
+    s0(c1, c0 + c1 - 8);
+  for (int c1 = max(c0 - 3, -c0 + 9); c1 <= min(c0, -c0 + 12); c1 += 1) {
+    s0(c1, c0 + c1 - 8);
+    s1(c1, c0 - c1 + 1);
+  }
+  for (int c1 = max(c0 - 3, -c0 + 13); c1 <= min(8, c0); c1 += 1)
+    s1(c1, c0 - c1 + 1);
+  for (int c1 = max(c0 + 1, -c0 + 9); c1 <= min(8, -c0 + 12); c1 += 1)
+    s0(c1, c0 + c1 - 8);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/x-0.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/x-0.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/x-0.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/x-0.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [8 - i + j, i, 0] : i >= 1 and i <= 8 and j >= 1 and j <= 4; s1[i, j] -> [-1 + i + j, i, 1] : i >= 1 and i <= 8 and j >= 1 and j <= 4 }
+{  :  }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 1; [i0, i1, i2] -> atomic[o0] : o0 <= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/x-1.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/x-1.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/x-1.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/x-1.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,14 @@
+for (int c0 = 1; c0 <= 11; c0 += 1) {
+  for (int c1 = max(1, c0 - 3); c1 <= min(c0, -c0 + 8); c1 += 1)
+    s1(c1, c0 - c1 + 1);
+  for (int c1 = max(1, -c0 + 9); c1 <= min(c0 - 4, -c0 + 12); c1 += 1)
+    s0(c1, c0 + c1 - 8);
+  for (int c1 = max(c0 - 3, -c0 + 9); c1 <= min(c0, -c0 + 12); c1 += 1) {
+    s0(c1, c0 + c1 - 8);
+    s1(c1, c0 - c1 + 1);
+  }
+  for (int c1 = max(c0 - 3, -c0 + 13); c1 <= min(8, c0); c1 += 1)
+    s1(c1, c0 - c1 + 1);
+  for (int c1 = max(c0 + 1, -c0 + 9); c1 <= min(8, -c0 + 12); c1 += 1)
+    s0(c1, c0 + c1 - 8);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/omega/x-1.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/omega/x-1.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/omega/x-1.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/omega/x-1.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ s0[i, j] -> [8 - i + j, i, 0] : i >= 1 and i <= 8 and j >= 1 and j <= 4; s1[i, j] -> [-1 + i + j, i, 1] : i >= 1 and i <= 8 and j >= 1 and j <= 4 }
+{  :  }
+{ [i0, i1, i2] -> separate[o0] : o0 >= 1; [i0, i1, i2] -> atomic[o0] : o0 <= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/README
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/README?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/README (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/README Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+These examples are taken from the "Polyhedra Scanning Revisited" paper
+by Chun Chen.

Added: polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_b.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_b.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_b.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_b.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,9 @@
+for (int c0 = 1; c0 <= 100; c0 += 1) {
+  if (n >= 2)
+    s0(c0);
+  for (int c1 = 1; c1 <= 100; c1 += 1) {
+    if (n >= 2)
+      s1(c0, c1);
+    s2(c0, c1);
+  }
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_b.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_b.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_b.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_b.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+[n] -> { s0[i] -> [i,0] : 1 <= i <= 100 and n > 1;
+	 s1[i,j] -> [i,j] : 1 <= i,j <= 100 and n > 1;
+	 s2[i,j] -> [i,j] : 1 <= i,j <= 100 }
+[n] -> {  :  }
+[n] -> { [i,j] -> separate[x] : x >= 2 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_c.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_c.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_c.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_c.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,11 @@
+for (int c0 = 1; c0 <= 100; c0 += 1) {
+  if (n >= 2) {
+    s0(c0);
+    for (int c1 = 1; c1 <= 100; c1 += 1) {
+      s1(c0, c1);
+      s2(c0, c1);
+    }
+  } else
+    for (int c1 = 1; c1 <= 100; c1 += 1)
+      s2(c0, c1);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_c.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_c.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_c.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_c.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+[n] -> { s0[i] -> [i,0] : 1 <= i <= 100 and n > 1;
+	 s1[i,j] -> [i,j] : 1 <= i,j <= 100 and n > 1;
+	 s2[i,j] -> [i,j] : 1 <= i,j <= 100 }
+[n] -> {  :  }
+[n] -> { [i,j] -> separate[x] : x >= 1 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_d.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_d.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_d.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_d.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,12 @@
+if (n >= 2) {
+  for (int c0 = 1; c0 <= 100; c0 += 1) {
+    s0(c0);
+    for (int c1 = 1; c1 <= 100; c1 += 1) {
+      s1(c0, c1);
+      s2(c0, c1);
+    }
+  }
+} else
+  for (int c0 = 1; c0 <= 100; c0 += 1)
+    for (int c1 = 1; c1 <= 100; c1 += 1)
+      s2(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_d.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_d.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_d.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure7_d.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+[n] -> { s0[i] -> [i,0] : 1 <= i <= 100 and n > 1;
+	 s1[i,j] -> [i,j] : 1 <= i,j <= 100 and n > 1;
+	 s2[i,j] -> [i,j] : 1 <= i,j <= 100 }
+[n] -> {  :  }
+[n] -> { [i,j] -> separate[x] : x >= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure8_a.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure8_a.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure8_a.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure8_a.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+for (int c0 = 1; c0 <= n; c0 += 4)
+  for (int c1 = c0; c1 <= n; c1 += 3)
+    s0(c0, c1);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure8_a.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure8_a.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure8_a.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure8_a.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,4 @@
+[n] -> { s0[i,j] -> [i,j] : exists alpha, beta: 1 <= i <= n and i <= j <= n and
+			    i = 1 + 4 alpha and j = i + 3 beta}
+[n] -> { : }
+[n] -> {}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure8_b.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure8_b.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure8_b.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure8_b.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,8 @@
+{
+  for (int c0 = 2; c0 < n - 1; c0 += 4) {
+    s1(c0);
+    s0(c0 + 2);
+  }
+  if (n >= 2 && n % 4 >= 2)
+    s1(-(n % 4) + n + 2);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure8_b.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure8_b.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure8_b.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/pldi2012/figure8_b.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,4 @@
+[n] -> { s0[i] -> [i] : exists alpha: 1 <= i <= n and i = 4 alpha;
+	 s1[i] -> [i] : exists alpha: 1 <= i <= n and i = 4 alpha + 2 }
+[n] -> { : }
+[n] -> { }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/roman.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/roman.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/roman.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/roman.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,32 @@
+{
+  for (int c1 = 0; c1 <= min(np1 - i, -i + 1); c1 += 1) {
+    S_9(c1);
+    S_12(c1);
+  }
+  for (int c1 = max(0, -i + 2); c1 <= -((-np1 + i + 4294967295) % 4294967296) + 4294967295; c1 += 1) {
+    S_9(c1);
+    S_10(c1);
+    for (int c3 = 0; c3 <= min(19, i + c1 - 3); c3 += 1) {
+      S_15(c1, c3);
+      for (int c5 = 0; c5 < c3; c5 += 1) {
+        S_16(c1, c3, c5);
+        S_17(c1, c3, c5);
+      }
+      S_16(c1, c3, c3);
+      S_18(c1, c3);
+      S_24(c1, c3);
+      S_19(c1, c3);
+    }
+    if (np1 >= i && i + c1 <= 21) {
+      S_15(c1, i + c1 - 2);
+      for (int c5 = 0; c5 < i + c1 - 2; c5 += 1) {
+        S_16(c1, i + c1 - 2, c5);
+        S_17(c1, i + c1 - 2, c5);
+      }
+      S_16(c1, i + c1 - 2, i + c1 - 2);
+      S_18(c1, i + c1 - 2);
+      S_24(c1, i + c1 - 2);
+    }
+    S_12(c1);
+  }
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/roman.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/roman.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/roman.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/roman.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+# Older versions of isl would get confused on this input due to disappearing
+# div constraints.
+[np1, i] -> { S_17[i0, i1, i2] -> [0, i0, 2, i1, 1, i2, 1] : exists (e0 = [(np1 - i)/4294967296], e1 = [(-2 + i + i0)/4294967296], e2 = [(i1)/4294967296]: i0 >= 0 and 4294967296e0 <= np1 - i and 4294967296e0 >= -4294967295 + np1 - i and 4294967296e0 <= np1 - i - i0 and i0 <= 20 and i1 >= 0 and 4294967296e1 <= -2 + i + i0 and 4294967296e1 >= -4294967297 + i + i0 and 4294967296e1 <= -2 + i + i0 - i1 and i1 <= 19 and i2 >= 0 and 4294967296e2 <= i1 and 4294967296e2 >= -4294967295 + i1 and 4294967296e2 <= i1 - i2 and i2 <= 19 and i0 >= 2 - i and i2 <= -1 + i1); S_18[i0, i1] -> [0, i0, 2, i1, 2, 0, 0] : exists (e0 = [(np1 - i)/4294967296], e1 = [(-2 + i + i0)/4294967296]: i0 >= 0 and 4294967296e0 <= np1 - i and 4294967296e0 >= -4294967295 + np1 - i and 4294967296e0 <= np1 - i - i0 and i0 <= 20 and i1 >= 0 and 4294967296e1 <= -2 + i + i0 and 4294967296e1 >= -4294967297 + i + i0 and 4294967296e1 <= -2 + i + i0 - i1 and i1 <= 19 and i0 >= 2 - i); S_24[i0, i1] -> [0, i0, 2, i1, 3, 0, 0] : exi
 sts (e0 = [(np1 - i)/4294967296], e1 = [(-2 + i + i0)/4294967296]: i0 >= 0 and 4294967296e0 <= np1 - i and 4294967296e0 >= -4294967295 + np1 - i and 4294967296e0 <= np1 - i - i0 and i0 <= 20 and i1 >= 0 and 4294967296e1 <= -2 + i + i0 and 4294967296e1 >= -4294967297 + i + i0 and 4294967296e1 <= -2 + i + i0 - i1 and i1 <= 19 and i0 >= 2 - i); S_15[i0, i1] -> [0, i0, 2, i1, 0, 0, 0] : exists (e0 = [(np1 - i)/4294967296], e1 = [(-2 + i + i0)/4294967296]: i0 >= 0 and 4294967296e0 <= np1 - i and 4294967296e0 >= -4294967295 + np1 - i and 4294967296e0 <= np1 - i - i0 and i0 <= 20 and i1 >= 0 and 4294967296e1 <= -2 + i + i0 and 4294967296e1 >= -4294967297 + i + i0 and 4294967296e1 <= -2 + i + i0 - i1 and i1 <= 19 and i0 >= 2 - i); S_9[i0] -> [0, i0, 0, 0, 0, 0, 0] : exists (e0 = [(np1 - i)/4294967296]: i0 >= 0 and 4294967296e0 <= np1 - i and 4294967296e0 >= -4294967295 + np1 - i and 4294967296e0 <= np1 - i - i0 and i0 <= 20); S_10[i0] -> [0, i0, 1, 0, 0, 0, 0] : exists (e0 = [(np1 - i)/4294
 967296]: i0 >= 0 and 4294967296e0 <= np1 - i and 4294967296e0 >= -4294967295 + np1 - i and 4294967296e0 <= np1 - i - i0 and i0 <= 20 and i0 >= 2 - i); S_19[i0, i1] -> [0, i0, 2, i1, 4, 0, 0] : exists (e0 = [(np1 - i)/4294967296], e1 = [(-2 + i + i0)/4294967296]: i0 >= 0 and 4294967296e0 <= np1 - i and 4294967296e0 >= -4294967295 + np1 - i and 4294967296e0 <= np1 - i - i0 and i0 <= 20 and i1 >= 0 and 4294967296e1 <= -2 + i + i0 and 4294967296e1 >= -4294967297 + i + i0 and 4294967296e1 <= -2 + i + i0 - i1 and i1 <= 19 and i0 >= 2 - i and i1 <= -3 + i + i0); S_12[i0] -> [0, i0, 3, 0, 0, 0, 0] : exists (e0 = [(np1 - i)/4294967296]: i0 >= 0 and 4294967296e0 <= np1 - i and 4294967296e0 >= -4294967295 + np1 - i and 4294967296e0 <= np1 - i - i0 and i0 <= 20); S_16[i0, i1, i2] -> [0, i0, 2, i1, 1, i2, 0] : exists (e0 = [(np1 - i)/4294967296], e1 = [(-2 + i + i0)/4294967296], e2 = [(i1)/4294967296]: i0 >= 0 and 4294967296e0 <= np1 - i and 4294967296e0 >= -4294967295 + np1 - i and 4294967296e0
  <= np1 - i - i0 and i0 <= 20 and i1 >= 0 and 4294967296e1 <= -2 + i + i0 and 4294967296e1 >= -4294967297 + i + i0 and 4294967296e1 <= -2 + i + i0 - i1 and i1 <= 19 and i2 >= 0 and 4294967296e2 <= i1 and 4294967296e2 >= -4294967295 + i1 and 4294967296e2 <= i1 - i2 and i2 <= 19 and i0 >= 2 - i) }
+[np1, i] -> {  : exists (e0 = [(np1 - i)/4294967296]: 4294967296e0 <= np1 - i and 4294967296e0 >= -20 + np1 - i and np1 >= -2147483648 and np1 <= 2147483647 and i >= -2147483648 and i <= 2147483647) }
+[np1, i] -> { [i0, i1, i2, i3, i4, i5, i6] -> separate[o0] }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/separate.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/separate.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/separate.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/separate.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,8 @@
+{
+  a(0);
+  for (int c0 = 1; c0 <= 9; c0 += 1) {
+    b(c0 - 1);
+    a(c0);
+  }
+  b(9);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/separate.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/separate.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/separate.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/separate.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ a[i] -> [i] : 0 <= i < 10; b[i] -> [i+1] : 0 <= i < 10 }
+{ : }
+{ [i] -> separate[x] }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/separate2.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/separate2.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/separate2.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/separate2.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,9 @@
+if ((length - 1) % 16 <= 14)
+  for (int c0 = 0; c0 <= 1; c0 += 1)
+    for (int c5 = 0; c5 <= 31; c5 += 1)
+      for (int c6 = max(0, 2 * ((length - 1) % 16) + 2 * c5 - 60); c6 <= 30; c6 += 1) {
+        if (length + c5 >= ((length - 1) % 32) + 2 && (length - 1) % 32 >= c5 && 2 * ((length - 1) % 32) + c6 >= 2 * c5 && 2 * c5 + 30 >= 2 * ((length - 1) % 32) + c6 && 2 * ((length - 1) % 32) + c6 == 2 * ((length - 1) % 16) + 2 * c5 && (2 * c5 - c6) % 32 == 0)
+          S_3(c0, 0, (c6 / 2) - ((length - 1) % 16) + length - 1);
+        if (length <= 16 && length >= c5 + 1 && c6 >= 1 && length >= c6)
+          S_0(c0, c5, c6 - 1);
+      }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/separate2.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/separate2.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/separate2.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/separate2.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,4 @@
+# Check that rational affine expressions are printer properly.
+[tsteps, length] -> { S_0[iter, i, j] -> [iter, 0, o2, o3, 0, o5, o6, 4] : exists (e0 = [(o2)/32], e1 = [(o3)/32], e2 = [(-i + o5)/32], e3 = [(-31 + j - o6)/32]: tsteps = 2 and 32e0 = o2 and 32e1 = o3 and 32e2 = -i + o5 and 32e3 = -31 + j - o6 and o2 <= i and o2 >= -31 + i and o3 <= 1 + j and o3 >= -30 + j and o5 >= 0 and o5 <= 31 and o6 >= 0 and o6 <= 31 and i <= -1 + length and i >= 0 and iter >= 0 and iter <= 1 and j <= -1 + length and j >= 0 and o2 >= -31 + length and o3 >= -30 + 2length); S_3[iter, 0, j] -> [iter, 0, o2, o3, o4, o5, o6, 2] : exists (e0 = [(o2)/32], e1 = [(o3)/32], e2 = [(o4)/32], e3 = [(-2o5 + o6)/32], e4 = [(j - o5)/32]: tsteps = 2 and 32e0 = o2 and 32e1 = o3 and 32e2 = o4 and 32e3 = -2o5 + o6 and 32e4 = j - o5 and iter <= 1 and j <= -1 + length and o2 <= j and o2 >= -31 + j and o3 <= 2j and o3 >= -30 + 2j and o4 >= 0 and o4 <= 31 and o5 >= 0 and o5 <= 31 and o6 >= 0 and o6 <= 30 and j >= 1 and iter >= 0 and o2 >= -31 + length and o3 >= -30 + 2length) }
+[tsteps, length] -> {  : length >= 1 and length <= 1024 and tsteps = 2 }
+{ [o0,o1,o2,o3,o4,o5,o6,o7] -> separate[x] }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/separation_class.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/separation_class.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/separation_class.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/separation_class.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,17 @@
+{
+  for (int c0 = 0; c0 <= 8; c0 += 1) {
+    for (int c1 = 0; c1 <= -c0 + 8; c1 += 1)
+      for (int c2 = 10 * c0; c2 <= 10 * c0 + 9; c2 += 1)
+        for (int c3 = 10 * c1; c3 <= 10 * c1 + 9; c3 += 1)
+          A(c2, c3);
+    for (int c1 = -c0 + 9; c1 <= -c0 + 10; c1 += 1)
+      for (int c2 = 10 * c0; c2 <= min(10 * c0 + 9, -10 * c1 + 100); c2 += 1)
+        for (int c3 = 10 * c1; c3 <= min(10 * c1 + 9, -c2 + 100); c3 += 1)
+          A(c2, c3);
+  }
+  for (int c0 = 9; c0 <= 10; c0 += 1)
+    for (int c1 = 0; c1 <= -c0 + 10; c1 += 1)
+      for (int c2 = 10 * c0; c2 <= min(10 * c0 + 9, -10 * c1 + 100); c2 += 1)
+        for (int c3 = 10 * c1; c3 <= min(10 * c1 + 9, -c2 + 100); c3 += 1)
+          A(c2, c3);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/separation_class.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/separation_class.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/separation_class.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/separation_class.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,6 @@
+{ A[i,j] -> [([i/10]),[j/10],i,j] : 0 <= i,j and i + j <= 100 }
+{ : }
+{ [a,b,c,d] -> separation_class[[0]->[0]] :
+	exists b': 0 <= 10a,10b' and 10a+9+10b'+9 <= 100;
+  [a,b,c,d] -> separation_class[[1]->[0]] :
+	0 <= 10a,10b and 10a+9+10b+9 <= 100 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/separation_class2.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/separation_class2.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/separation_class2.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/separation_class2.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,15 @@
+{
+  for (int c0 = 0; c0 < -(n % 8) + n; c0 += 8) {
+    for (int c1 = 0; c1 < -(n % 8) + n; c1 += 8)
+      for (int c2 = 0; c2 <= 7; c2 += 1)
+        for (int c3 = 0; c3 <= 7; c3 += 1)
+          A(c0 + c2, c1 + c3);
+    for (int c2 = 0; c2 <= 7; c2 += 1)
+      for (int c3 = 0; c3 < n % 8; c3 += 1)
+        A(c0 + c2, -((n - 1) % 8) + n + c3 - 1);
+  }
+  for (int c1 = 0; c1 < n; c1 += 8)
+    for (int c2 = 0; c2 < n % 8; c2 += 1)
+      for (int c3 = 0; c3 <= min(7, n - c1 - 1); c3 += 1)
+        A(-((n - 1) % 8) + n + c2 - 1, c1 + c3);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/separation_class2.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/separation_class2.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/separation_class2.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/separation_class2.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { A[i,j] -> [it,jt, ip, jp] : 0 <= i,j < n and ip = i % 8 and it = i - ip and jp = j % 8 and jt = j - jp}
+[n] -> { : n >= 10}
+[n] -> { [it, jt, ip, jp] -> separation_class[[x]->[1]]: (exists id, jd: 0 <= x <= 3 and it < n - id and jt < n - jd and id = n %8 and jd = n %8)}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/separation_class3.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/separation_class3.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/separation_class3.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/separation_class3.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,29 @@
+for (int c0 = 0; c0 <= 4; c0 += 1) {
+  if (c0 == 0) {
+    S_0(0, 4);
+  } else {
+    S_0(2 * c0 - 1, 1);
+    if (c0 == 4) {
+      for (int c6 = 3; c6 <= 5; c6 += 1)
+        S_0(7, c6);
+    } else
+      for (int c4 = 2 * c0 - 1; c4 <= 2 * c0; c4 += 1)
+        for (int c6 = -2 * c0 + c4 + 4; c6 <= 2 * c0 - c4 + 4; c6 += 1)
+          S_0(c4, c6);
+  }
+  for (int c4 = max(0, 2 * c0 - 1); c4 <= min(7, 2 * c0); c4 += 1)
+    for (int c6 = -2 * c0 + c4 + 8; c6 <= 8; c6 += 1)
+      S_0(c4, c6);
+  if (c0 >= 1 && c0 <= 3) {
+    for (int c2 = 0; c2 <= 1; c2 += 1)
+      for (int c4 = 2 * c0 - 1; c4 <= 2 * c0; c4 += 1)
+        for (int c6 = 2 * c0 + 4 * c2 - c4 + 1; c6 <= -2 * c0 + 4 * c2 + c4 + 3; c6 += 1)
+          S_0(c4, c6);
+  } else if (c0 == 4) {
+    for (int c2 = 0; c2 <= 1; c2 += 1)
+      S_0(7, 4 * c2 + 2);
+  } else
+    for (int c2 = 0; c2 <= 1; c2 += 1)
+      for (int c6 = 4 * c2 + 1; c6 <= 4 * c2 + 3; c6 += 1)
+        S_0(0, c6);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/separation_class3.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/separation_class3.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/separation_class3.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/separation_class3.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,4 @@
+{ S_0[t, i] -> [o0, 1, o2, 0, t, 0, i] : 4o2 >= -4 + t + i - 2o0 and 4o2 >= -3 - t + i + 2o0 and 2o0 <= 1 + t and 2o0 >= t and 4o2 <= -1 + t + i - 2o0 and t >= 0 and t <= 7 and i >= 1 and i <= 8; S_0[t, i] -> [o0, 0, o2, 0, t, 0, i] : 4o2 >= t + i - 2o0 and 4o2 <= -t + i + 2o0 and 2o0 <= 1 + t and 2o0 >= t and t >= 0 and t <= 7 and i >= 1 and i <= 8 }
+{:}
+{ [i0, 1, i2, i3, i4, i5, i6] -> separation_class[[2] -> [0]] : i2 <= 1 and i2 >= 0 and i0 <= 3 and i0 >= 1; [i0, 0, 1, i3, i4, i5, i6] -> separation_class[[2] -> [0]] : i0 <= 3 and i0 >= 1; [i0, i1, i2, i3, i4, i5, i6] -> unroll[1] }
+

Added: polly/trunk/lib/External/isl/test_inputs/codegen/separation_class4.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/separation_class4.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/separation_class4.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/separation_class4.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,20 @@
+for (int c0 = 0; c0 <= 128; c0 += 1) {
+  if (c0 <= 127) {
+    if (c0 == 0) {
+      for (int c3 = 0; c3 <= 1; c3 += 1)
+        for (int c5 = c3 + 58; c5 <= -c3 + 61; c5 += 1)
+          S_0(c3, c5);
+    } else
+      for (int c2 = 1; c2 <= 2; c2 += 1)
+        for (int c3 = max(4 * c0 - 2, 4 * c0 + 6 * c2 - 12); c3 <= min(4 * c0 + 1, 4 * c0 + 6 * c2 - 7); c3 += 1)
+          for (int c5 = max(4 * c0 - c3 + 57, -4 * c0 + c3 + 58); c5 <= min(4 * c0 - c3 + 61, -4 * c0 + c3 + 62); c5 += 1)
+            S_0(c3, c5);
+    for (int c2 = 1; c2 <= 2; c2 += 1)
+      for (int c3 = max(4 * c0, 4 * c0 + 6 * c2 - 10); c3 <= min(4 * c0 + 3, 4 * c0 + 6 * c2 - 5); c3 += 1)
+        for (int c5 = max(-4 * c0 + c3 + 59, 4 * c0 - c3 + 62); c5 <= min(-4 * c0 + c3 + 63, 4 * c0 - c3 + 66); c5 += 1)
+          S_0(c3, c5);
+  } else
+    for (int c3 = 510; c3 <= 511; c3 += 1)
+      for (int c5 = -c3 + 569; c5 < c3 - 449; c5 += 1)
+        S_0(c3, c5);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/separation_class4.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/separation_class4.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/separation_class4.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/separation_class4.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,10 @@
+# Check that isl is not confused by the combination of separation classes
+# and unroll.
+{ S_0[t, i] -> [o0, 1, o9, t] : 4o0 >= -3 + t and 4o0 <= t and i >= 60 and i <= 65 and 6o9 >= 5 + t - 4o0 and 6o9 <= 10 + t - 4o0 and 4o0 <= -62 + t + i and 4o0 >= 59 + t - i and o0 >= 0 and o0 <= 127 and t <= 511 and t >= 0 and 4o0 >= -66 + t + i and 4o0 <= 63 + t - i;
+S_0[t, i] -> [o0, 0, o9, t] : 4o0 >= -1 + t and 4o0 <= 2 + t and i >= 57 and i <= 62 and 6o9 >= 7 + t - 4o0 and 6o9 <= 12 + t - 4o0 and t >= 0 and t <= 511 and 4o0 <= -57 + t + i and 4o0 >= 58 + t - i and o0 >= 0 and o0 <= 128 and 4o0 >= -61 + t + i and 4o0 <= 62 + t - i }
+{ : }
+{ [i0, i1, i2, t] -> unroll[1];
+[i0, 1, i2, t] -> separation_class[[1] -> [0]]
+	: 0 <= i0 <= 127;
+[i0, 0, i2, t] -> separation_class[[1] -> [0]]
+	: 1 <= i0 <= 127}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/shift.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/shift.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/shift.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/shift.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,4 @@
+for (int c0 = 0; c0 <= 9; c0 += 1) {
+  A(c0);
+  B(c0);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/shift.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/shift.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/shift.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/shift.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ A[i] -> [2i]: 0 <= i < 10; B[i] -> [2i+1] : 0 <= i < 10 }
+{ : }
+{ }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/shift2.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/shift2.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/shift2.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/shift2.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,43 @@
+for (int c0 = 0; c0 <= 1; c0 += 1) {
+  for (int c2 = 0; c2 <= length; c2 += 32) {
+    if (length >= c2 + 1) {
+      for (int c3 = 0; c3 <= length; c3 += 32) {
+        for (int c5 = 0; c5 <= min(31, length - c2 - 1); c5 += 1) {
+          for (int c6 = max(0, -c3 + 1); c6 <= min(min(31, length - c3), 2 * c2 - c3 + 2 * c5 - 1); c6 += 1)
+            S_0(c0, c2 + c5, c3 + c6 - 1);
+          if (c2 + c5 >= 1 && 2 * c2 + 2 * c5 >= c3 && c3 + 30 >= 2 * c2 + 2 * c5) {
+            S_3(c0, 0, c2 + c5);
+            if (length >= 2 * c2 + 2 * c5)
+              S_0(c0, c2 + c5, 2 * c2 + 2 * c5 - 1);
+          }
+          for (int c6 = max(0, 2 * c2 - c3 + 2 * c5 + 1); c6 <= min(31, length - c3); c6 += 1)
+            S_0(c0, c2 + c5, c3 + c6 - 1);
+        }
+        if (length <= 15 && c2 == 0 && c3 == 0)
+          S_4(c0);
+        if (c3 >= 2 * c2 && 2 * c2 + 32 >= c3)
+          for (int c4 = 1; c4 <= min(min(31, length - 2), (c3 / 2) + 14); c4 += 1)
+            for (int c5 = max((c3 / 2) - c2, -c2 + c4 + 1); c5 <= min(length - c2 - 1, (c3 / 2) - c2 + 15); c5 += 1)
+              S_3(c0, c4, c2 + c5);
+      }
+      for (int c3 = max(2 * c2, -(length % 32) + length + 32); c3 <= min(2 * length - 2, 2 * c2 + 62); c3 += 32)
+        for (int c4 = 0; c4 <= min(31, length - 2); c4 += 1) {
+          for (int c5 = max((c3 / 2) - c2, -c2 + c4 + 1); c5 <= min(length - c2 - 1, (c3 / 2) - c2 + 15); c5 += 1)
+            S_3(c0, c4, c2 + c5);
+          if (c3 + 30 >= 2 * length && c4 == 0)
+            S_4(c0);
+        }
+      if (c2 + 16 == length && (length - 16) % 32 == 0)
+        S_4(c0);
+    } else if (length == 0) {
+      S_4(c0);
+    } else
+      S_4(c0);
+  }
+  for (int c1 = 32; c1 < length - 1; c1 += 32)
+    for (int c2 = c1; c2 < length; c2 += 32)
+      for (int c3 = c2; c3 <= min(length - 1, c2 + 31); c3 += 16)
+        for (int c4 = 0; c4 <= min(min(31, length - c1 - 2), -c1 + c3 + 14); c4 += 1)
+          for (int c5 = max(-c2 + c3, c1 - c2 + c4 + 1); c5 <= min(length - c2 - 1, -c2 + c3 + 15); c5 += 1)
+            S_3(c0, c1 + c4, c2 + c5);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/shift2.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/shift2.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/shift2.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/shift2.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+# Check that the shifting code is not confused by domains that
+# have a non-obviously fixed value.
+[tsteps, length] -> { S_4[iter] -> [iter, 0, o2, o3, 0, o5, o6, 3] : exists (e0 = [(o2)/32], e1 = [(o3)/32], e2 = [(-length + o5)/32], e3 = [(-2length + o6)/32]: tsteps = 2 and 32e0 = o2 and 32e1 = o3 and 32e2 = -length + o5 and 32e3 = -2length + o6 and o2 <= length and o2 >= -31 + length and o3 <= 2length and o3 >= -30 + 2length and o5 >= 0 and o5 <= 31 and o6 >= 0 and o6 <= 30 and iter <= 1 and iter >= 0); S_3[iter, i, j] -> [iter, o1, o2, o3, o4, o5, o6, 2] : exists (e0 = [(o1)/32], e1 = [(o2)/32], e2 = [(o3)/32], e3 = [(-i + o4)/32], e4 = [(-j + o5)/32], e5 = [(-2j + o6)/32]: tsteps = 2 and 32e0 = o1 and 32e1 = o2 and 32e2 = o3 and 32e3 = -i + o4 and 32e4 = -j + o5 and 32e5 = -2j + o6 and o1 <= i and o1 >= -31 + i and o2 <= j and o2 >= -31 + j and o3 <= 2j and o3 >= -30 + 2j and o4 >= 0 and o4 <= 31 and o5 >= 0 and o5 <= 31 and o6 >= 0 and o6 <= 30 and j >= 1 + i and i >= 0 and iter <= 1 and iter >= 0 and j <= -1 + length); S_0[iter, i, j] -> [iter, 0, o2, o3, 0, o5, o6, 4] : ex
 ists (e0 = [(o2)/32], e1 = [(o3)/32], e2 = [(-i + o5)/32], e3 = [(-31 + j - o6)/32]: tsteps = 2 and 32e0 = o2 and 32e1 = o3 and 32e2 = -i + o5 and 32e3 = -31 + j - o6 and o2 <= i and o2 >= -31 + i and o3 <= 1 + j and o3 >= -30 + j and o5 >= 0 and o5 <= 31 and o6 >= 0 and o6 <= 31 and i <= -1 + length and i >= 0 and iter >= 0 and iter <= 1 and j <= -1 + length and j >= 0) }
+[tsteps, length] -> {  : length >= 0 and length <= 1024 and tsteps = 2 }
+{ }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/shift_unroll.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/shift_unroll.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/shift_unroll.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/shift_unroll.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,14 @@
+for (int c0 = 0; c0 <= 9; c0 += 1) {
+  A(c0, 0);
+  A(c0, 1);
+  A(c0, 2);
+  A(c0, 3);
+  A(c0, 4);
+  A(c0, 5);
+  A(c0, 6);
+  A(c0, 7);
+  A(c0, 8);
+  A(c0, 9);
+  for (int c2 = 0; c2 <= 9; c2 += 1)
+    B(c0, c2);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/shift_unroll.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/shift_unroll.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/shift_unroll.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/shift_unroll.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+{ A[i,j] -> [2i,0,j]: 0 <= i,j < 10; B[i,j] -> [2i+1,1,j] : 0 <= i,j < 10 }
+{ : }
+{ [i,0,j] -> unroll[2] }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/single_valued.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/single_valued.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/single_valued.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/single_valued.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+if (2 * ((t1 - 1) % 64) + 8 >= t1)
+  S(-(2 * ((t1 - 1) % 64)) + t1 + 126);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/single_valued.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/single_valued.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/single_valued.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/single_valued.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+# Check that isl recognizes that the inverse schedule is single-valued
+# and does not end up in an infinite recursion.
+[t1] -> {S[c2] -> [c2]: t1 <= c2 <= 134 and (c2+t1) % 128 = 0 and c2 > 0}
+[t1] -> {: t1 > 0}
+[t1] -> {}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/stride.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/stride.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/stride.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/stride.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,6 @@
+for (int c0 = 0; c0 <= 100; c0 += 2) {
+  for (int c3 = 0; c3 <= 100; c3 += 1)
+    A(c0, c3);
+  for (int c2 = 0; c2 <= 100; c2 += 1)
+    B(c0, c2);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/stride.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/stride.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/stride.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/stride.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,6 @@
+# Check that we find a common stride on the first dimension
+# even if it is imposed by different inner dimensions
+{ A[i,k] -> [i,0,j,k] : 0 <= i,k <= 100 and i = 2 j;
+  B[i,k] -> [i,1,k,j] : 0 <= i,k <= 100 and i = 2 j }
+{ : }
+{ }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/stride5.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/stride5.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/stride5.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/stride5.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+if (n % 2 == 0)
+  for (int c0 = (n / 2) + 2 * floord(-n - 1, 4) + 2; c0 <= 100; c0 += 2)
+    S(c0);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/stride5.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/stride5.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/stride5.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/stride5.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[n] -> { S[t] -> [t] : exists e : 2 t - n = 4e and 0 <= t <= 100 }
+[n] -> { : }
+{ }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/stride6.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/stride6.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/stride6.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/stride6.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,4 @@
+for (int c1 = -1024; c1 <= 0; c1 += 32)
+  for (int c2 = max(-((niter - 1) % 32) + niter - 1, -((niter - c1) % 32) + niter - c1 - 32); c2 <= min(niter + 1022, niter - c1 - 1); c2 += 32)
+    for (int c5 = max(max(0, -c1 - 1023), niter - c1 - c2 - 32); c5 <= min(min(31, -c1), niter - c1 - c2 - 1); c5 += 1)
+      S_4(niter - 1, -c1 - c5);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/stride6.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/stride6.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/stride6.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/stride6.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,3 @@
+[niter] -> { S_4[-1 + niter, i] -> [o0, o1, o2, o3, o4, o5, o6, o7, 4] : exists (e0 = [(o0)/32], e1 = [(o1)/32], e2 = [(o2)/32], e3 = [(o3)/32], e4 = [(-31i + o5)/32], e5 = [(-i - o4 + o6)/32], e6 = [(-o4 + o7)/32], e7 = [(-1 + niter - o4)/32]: 32e0 = o0 and 32e1 = o1 and 32e2 = o2 and 32e3 = o3 and 32e4 = -31i + o5 and 32e5 = -i - o4 + o6 and 32e6 = -o4 + o7 and 32e7 = -1 + niter - o4 and o0 <= -1 + niter and o0 >= -32 + niter and o1 <= -i and o1 >= -31 - i and o2 <= -1 + niter + i and o2 >= -32 + niter + i and o3 <= 1023 + niter and o3 >= 992 + niter and o4 >= 0 and o4 <= 31 and o5 >= 0 and o5 <= 31 and o6 >= 0 and o6 <= 31 and o7 >= 0 and o7 <= 31 and i <= 1023 and i >= 0 and niter >= 1) }
+[niter] -> {  : niter <= 8192 and niter >= 1 }
+[niter] -> {  }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/stride7.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/stride7.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/stride7.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/stride7.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,6 @@
+for (int c0 = 2; c0 <= 200; c0 += 64) {
+  for (int c2 = c0 - 1; c2 <= 120; c2 += 1)
+    s2(c0, c2);
+  for (int c2 = 122; c2 <= c0 + 62; c2 += 1)
+    s4(c0, c2);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/stride7.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/stride7.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/stride7.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/stride7.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,7 @@
+# Check that no redundant guards are introduced
+{ s4[a, b] -> [a, 2, b] : exists (e0 = floor((-2 + a)/64):
+    64e0 = -2 + a and a <= 200 and b <= 62 + a and b >= 122);
+  s2[a, b] -> [a, 2, b] : exists (e0 = floor((-2 + a)/64):
+    64e0 = -2 + a and a >= 2 and b <= 120 and b >= -1 + a and a <= 100) }
+{ : }
+{ }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/unroll.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/unroll.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/unroll.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/unroll.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+{
+  A(0);
+  A(100000000);
+  A(200000000);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/unroll.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/unroll.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/unroll.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/unroll.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+# Test that unrolling takes into account stride constraints.
+# If it didn't, it would run essentially forever on this example.
+[n] -> { A[i] -> [i] : exists a : i = 100000000 a and 0 <= a <= 2 }
+{:}
+{ [i] -> unroll[0] }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/unroll10.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/unroll10.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/unroll10.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/unroll10.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,29 @@
+if (m >= 1 && n >= 1) {
+  A(0);
+  if (m >= 2 && n >= 2) {
+    A(1);
+    if (m >= 3 && n >= 3) {
+      A(2);
+      if (m >= 4 && n >= 4) {
+        A(3);
+        if (m >= 5 && n >= 5) {
+          A(4);
+          if (m >= 6 && n >= 6) {
+            A(5);
+            if (m >= 7 && n >= 7) {
+              A(6);
+              if (m >= 8 && n >= 8) {
+                A(7);
+                if (m >= 9 && n >= 9) {
+                  A(8);
+                  if (m >= 10 && n >= 10)
+                    A(9);
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/unroll10.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/unroll10.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/unroll10.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/unroll10.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,4 @@
+# Check that all information is taken into account while trying to unroll
+[m,n] -> { A[i] -> [i] : 0 <= i < n,m }
+[m,n] -> { : m <= 10 or n <= 10 }
+{ [i] -> unroll[x] }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/unroll2.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/unroll2.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/unroll2.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/unroll2.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,11 @@
+{
+  A(0);
+  A(1);
+  A(2);
+  A(3);
+  for (int c0 = 4; c0 <= 99996; c0 += 1)
+    A(c0);
+  A(99997);
+  A(99998);
+  A(99999);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/unroll2.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/unroll2.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/unroll2.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/unroll2.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+# Check that the different disjuncts in the unroll option
+# are handled separately.
+{ A[i] -> [i] : 0 <= i < 100000 }
+{ : }
+{ [i] -> unroll[0] : i < 4 or i > 99996 }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/unroll3.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/unroll3.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/unroll3.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/unroll3.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,2 @@
+if ((t1 + 121) % 128 <= 123)
+  write_shared_A(((t1 + 125) % 128) - 3);

Added: polly/trunk/lib/External/isl/test_inputs/codegen/unroll3.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/unroll3.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/unroll3.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/unroll3.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,6 @@
+# Check that the entire schedule is completely unrolled and
+# in particular that no spurious loop is introduced.
+[t1] -> { write_shared_A[i2] -> [1, 3, 6 + i2, 0, t1] : (exists (e0 = [(-6 + t1 - i2)/128]: 128e0 = -6 + t1 - i2 and i2 <= 122 and i2 >= 1 and t1 >= 0 and t1 <= 127)) or (exists (e0 = [(-6 + t1 - i2)/128]: 128e0 = -6 + t1 - i2 and i2 >= 123 and i2 <= 124 and t1 <= 127 and t1 >= 0 )) }
+[t1] -> { : t1 >= 0 and t1 <= 127 }
+[t1] -> { [i0, i1, i2, i3, i4] -> unroll[o0] }
+

Added: polly/trunk/lib/External/isl/test_inputs/codegen/unroll4.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/unroll4.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/unroll4.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/unroll4.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,22 @@
+{
+  write_shared_A(3, ((t1 + 3) % 4) + 1, ((t2 + 31) % 32) + 1);
+  if (t2 >= 1 && t2 <= 2 && t1 % 3 == 0)
+    write_shared_A(3, (-t1 / 3) + 4, t2 + 32);
+  {
+    int c3 = t2 >= 2 && ((t1 + 3) % 4) + 1 >= t2 ? t2 + 32 : ((t2 + 30) % 32) + 2;
+    if (c3 == t2 + 32 || (c3 == t2 && t2 >= ((t1 + 3) % 4) + ((t2 - 1) % 2) + 2))
+      write_shared_A(3, ((t1 + 3) % 4) + 5, c3);
+  }
+  if (t1 >= 1 && t2 >= t1 + 1 && t2 <= 4)
+    write_shared_A(3, t1 + 4, t2 + 32);
+  write_shared_A(4, ((t1 + 3) % 4) + 1, ((t2 + 31) % 32) + 1);
+  if (t2 >= 1 && t2 <= 2 && t1 % 3 == 0)
+    write_shared_A(4, (-t1 / 3) + 4, t2 + 32);
+  {
+    int c3 = t2 >= 2 && ((t1 + 3) % 4) + 1 >= t2 ? t2 + 32 : ((t2 + 30) % 32) + 2;
+    if (c3 == t2 + 32 || (c3 == t2 && t2 >= ((t1 + 3) % 4) + ((t2 - 1) % 2) + 2))
+      write_shared_A(4, ((t1 + 3) % 4) + 5, c3);
+  }
+  if (t1 >= 1 && t2 >= t1 + 1 && t2 <= 4)
+    write_shared_A(4, t1 + 4, t2 + 32);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/unroll4.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/unroll4.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/unroll4.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/unroll4.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+# Check that the generated code does not contain two declarations
+# of the same variable in the same scope.
+[t1, t2, g] -> { write_shared_A[a, b, c] -> [0, a, b, c] : exists (e0, e1 = [(-t1 + b)/4], e2 = [(-t2 + c)/32]: 4e1 = -t1 + b and 32e2 = -t2 + c and e0 <= 2 + 3g and e0 >= 3g and a <= 4 and a >= 3 and t2 >= 0 and t1 <= 3 and 2e0 >= 5 - c + 6g and 2e0 <= 36 - c + 6g and 2e0 >= 5 - b + 6g and 2e0 <= 8 - b + 6g and 2e0 <= 638 - c and 2e0 <= 638 - b and 2e0 >= 2 - a + 6g and 2e0 >= -8 + a + 6g and 2e0 <= 1 + a + 6g and 2e0 <= 11 - a + 6g and e0 >= 0 and e0 <= 254 and t1 >= 0 and t2 <= 31 and b >= 1 and b <= 126 and c >= 1 and c <= 126 and g <= 3 and g >= 0) }
+[t1, t2, g] -> { : g <= 3 and g >= 0 and t1 >= 0 and t1 <= 3 and t2 >= 0 and t2 <= 5 }
+[t1, t2] -> { [i0, i1, i2, i3] -> unroll[x] }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/unroll6.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/unroll6.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/unroll6.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/unroll6.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,8 @@
+{
+  if (g >= 0 && nn >= 128 * g + 6 && nn >= ((t1 + 127) % 128) + 128 * g + 3)
+    for (int c1 = 393214; c1 < nn - 1; c1 += 393216)
+      A(c1, ((t1 + 127) % 128) + 128 * g + 1, ((t1 + 127) % 128) + 1);
+  if (t1 >= 1 && t1 <= 2 && nn >= t1 + 128 * g + 130 && t1 + 128 * g >= -127)
+    for (int c1 = 393214; c1 < nn - 1; c1 += 393216)
+      A(c1, t1 + 128 * g + 128, t1 + 128);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/unroll6.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/unroll6.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/unroll6.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/unroll6.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,7 @@
+# Check that the right lower bound is chosen for unrolling.
+# Older versions of isl would pick a lower bound that resulted
+# in a number of slices that exceeds the maximal value of an integer
+# and then only generated code for a truncated number (zero) of slices.
+[nn, t1, g] -> { A[a, b, c] -> [c] : exists (e0 = [(2 + a)/393216], e1 = [(t1 - c)/128]: 128g = b - c and 393216e0 = 2 + a and 128e1 = t1 - c and c <= 130 and c >= 6 - nn + b and c <= 128 + b and nn >= 137 and t1 >= 0 and c >= 1 and a <= -2 + nn and a >= 1 and nn <= 9223372036854775807 and b >= 1 and b <= -2 + nn and t1 <= 127) }
+[nn, t1, g] -> { : nn <= 9223372036854775807 and nn >= 137 and t1 >= 0 and t1 <= 127 }
+{ [c] -> unroll[x] }

Added: polly/trunk/lib/External/isl/test_inputs/codegen/unroll7.c
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/unroll7.c?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/unroll7.c (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/unroll7.c Wed Feb  4 14:55:43 2015
@@ -0,0 +1,10 @@
+{
+  S(0, 0);
+  S(0, 3);
+  S(0, 4);
+  S(1, 1);
+  S(1, 4);
+  S(2, 2);
+  S(3, 3);
+  S(4, 4);
+}

Added: polly/trunk/lib/External/isl/test_inputs/codegen/unroll7.in
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/codegen/unroll7.in?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/codegen/unroll7.in (added)
+++ polly/trunk/lib/External/isl/test_inputs/codegen/unroll7.in Wed Feb  4 14:55:43 2015
@@ -0,0 +1,5 @@
+# Check that some code is generated.
+# Older versions of isl would abort on unknown divs.
+{ S[i,j] -> [i,j]: exists (alpha, beta: j=i+4alpha +3beta and 0 <= alpha < 24 and 0 <= beta and 0 <= i,j < 5) }
+{ : }
+{ [i,j] -> unroll[x] }

Added: polly/trunk/lib/External/isl/test_inputs/convex0.polylib
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/convex0.polylib?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/convex0.polylib (added)
+++ polly/trunk/lib/External/isl/test_inputs/convex0.polylib Wed Feb  4 14:55:43 2015
@@ -0,0 +1,11 @@
+2 3
+1 1 0
+1 -1 1
+
+2 3
+1 1 -1
+1 -1 2
+
+2 3
+1 1 0
+1 -1 2

Added: polly/trunk/lib/External/isl/test_inputs/convex1.polylib
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/convex1.polylib?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/convex1.polylib (added)
+++ polly/trunk/lib/External/isl/test_inputs/convex1.polylib Wed Feb  4 14:55:43 2015
@@ -0,0 +1,17 @@
+# {j,N | 0<=j<=N-1; 2<=N}
+4 4
+1   1  0   0
+1  -1  1  -1
+1   0  1  -2
+1   0  0   1
+# {j, N | 1<=j<=N; 1<=N}
+4 4
+1  1  0  -1
+1 -1  1   0
+1  0  1  -1
+1  0  0   1
+# {j,N | 0<=j<=N; 2<=j+N}
+3 4
+   1    1    1   -2
+   1    1    0    0
+   1   -1    1    0

Added: polly/trunk/lib/External/isl/test_inputs/convex10.polylib
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/convex10.polylib?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/convex10.polylib (added)
+++ polly/trunk/lib/External/isl/test_inputs/convex10.polylib Wed Feb  4 14:55:43 2015
@@ -0,0 +1,17 @@
+3 4
+1 54 1 -4
+1 2 -1 58
+1 0 -1 6
+
+4 4
+1 54 1 -4
+1 2 -1 58
+1 0 1 -7
+1 -4 1 0
+
+4 4
+1  54    1   -4
+1   2   -1   58
+1   0   -1  116
+1   0    0    1
+

Added: polly/trunk/lib/External/isl/test_inputs/convex11.polylib
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/convex11.polylib?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/convex11.polylib (added)
+++ polly/trunk/lib/External/isl/test_inputs/convex11.polylib Wed Feb  4 14:55:43 2015
@@ -0,0 +1,14 @@
+3 4
+1 0 -1 6
+1 -1 1 1
+1 1 1 -10
+
+3 4
+1 1 0 -4
+1 -1 -1 8
+1 -1 1 1
+
+3 4
+1 0 -1 6
+1 1 0 -4
+1 -1 1 1

Added: polly/trunk/lib/External/isl/test_inputs/convex12.polylib
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/convex12.polylib?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/convex12.polylib (added)
+++ polly/trunk/lib/External/isl/test_inputs/convex12.polylib Wed Feb  4 14:55:43 2015
@@ -0,0 +1,12 @@
+3 5
+1   0    0    1    1
+1   0    1    0    1
+1  -1   -1    0   -2
+
+3 5
+1   0    0    1    2
+1   1   -1    0    0
+1   1    0    0   -1
+
+1 5
+1   0    0    1    2

Added: polly/trunk/lib/External/isl/test_inputs/convex13.polylib
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/convex13.polylib?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/convex13.polylib (added)
+++ polly/trunk/lib/External/isl/test_inputs/convex13.polylib Wed Feb  4 14:55:43 2015
@@ -0,0 +1,17 @@
+3 5
+1   0    0   -1    3
+1   0   -1    0    2
+1   1    1    1   -4
+
+3 5
+1   0    0    1    0
+1   1    0    0   -1
+1   1    2    0    1
+
+6 5
+1   3    2    0   -1
+1   3    0    2   -3
+1   1    0    1   -1
+1   1    1    1    0
+1   1    1    0    0
+1   1    0    0    1

Added: polly/trunk/lib/External/isl/test_inputs/convex14.polylib
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/convex14.polylib?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/convex14.polylib (added)
+++ polly/trunk/lib/External/isl/test_inputs/convex14.polylib Wed Feb  4 14:55:43 2015
@@ -0,0 +1,14 @@
+3 4
+0 1 0 2
+1 0 1 0
+1 0 -1 2
+
+3 4
+1 1 0 0
+1 0 1 0
+1 0 -1 2
+
+3 4
+1 1 0 2
+1 0 1 0
+1 0 -1 2

Added: polly/trunk/lib/External/isl/test_inputs/convex15.polylib
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/convex15.polylib?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/convex15.polylib (added)
+++ polly/trunk/lib/External/isl/test_inputs/convex15.polylib Wed Feb  4 14:55:43 2015
@@ -0,0 +1,66 @@
+17 8
+1    -1    -8     0    16     0     0    37
+1     1     0   -48     0     2     0    -3
+1     0   -16   -32    16     1     0    14
+1    -1    24     0     0     1     0    18
+1    -1     8    16     0     0     1    21
+1     0     0   -16     0     1     1    -2
+1     1    32    16   -32     0     0    -1
+1    -1    16    16     0     0     0    28
+1     1    -8   -32     0     1     0    -1
+1     0     0     0     0     1     0    -1
+1     0    16    16   -16     0     1    -1
+1     1     8     0   -16     0     0     0
+1     0     3     2    -2     0     0     0
+1     0     1     2    -1     0     0     0
+1     0    -1    -1     1     0     0     0
+1    -1     8     0     0     1     2     4
+1    -1   -24   -32    32     1     0    36
+
+13 8
+1    -1     0     0     0     1     3    -4
+1     1     0   -48     0     2     0    -2
+1     0     0     0     0     1     0    -1
+1     0    -8     0     0     0     1    -1
+1     0     3     2    -2     0     0     0
+1     1   -16   -16     0     0     0     0
+1     1   -24     0     0     0     0     0
+1     0     1     0     0     0     0     0
+1     0    -3    -2     2     0     0     1
+1    -1     0    16     0     0     2    13
+1    -1    24     0     0     1     0    20
+1    -1    16    16     0     0     0    29
+1    -1     0    48     0     0     0    45
+
+31 8
+   1    0    1    0    0    0    0    0 
+   1    0    0  -16    0    1    1   -2 
+   1    0    0    0    0    1    0   -1 
+   1   -1    8    0    0    1    2    4 
+   1    0    3    2   -2    0    0    0 
+   1   -1   24    0    0    1    0   20 
+   1    1    0  -48    0    2    0   -2 
+   1   -1  -24  -32   32    1    0   36 
+   1    0    0    0    0    0    1   -1 
+   1   -1   24   64  -16    0    0   45 
+   1  -15  120  112    0   15   38   52 
+   1    1   24   32  -32    0    0    0 
+   1    0   -2   -2    2    0    0    1 
+   1   -1    8   16    0    0    1   21 
+   1  -15  120  352    0    0   23  307 
+   1    1   -8  -32    0    1    0   -1 
+   1    1   -8    0    0    0    0    0 
+   1    1   -8  -16    0    0    0    0 
+   1    0   16   16  -16    0    1   -1 
+   1   -1   16   16    0    0    0   29 
+   1   -1   -8    0   16    0    0   37 
+   1   -1    8   32    0    0    0   37 
+   1    1    8    0  -16    0    0    0 
+   1  -15  360  592 -240    0   23  307 
+   1   -1   -6    2   14    0    2   20 
+   1  -15  360  352 -240   15   38   52 
+   1   -1    8   48    0    0    0   45 
+   1    0  -16  -32   16    1    0   14 
+   1   -1   -6  -14   14    1    3    3 
+   1    1  -38  -78   30    2    0   13 
+   1    1   -3  -50    2    2    0   -1 

Added: polly/trunk/lib/External/isl/test_inputs/convex2.polylib
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/convex2.polylib?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/convex2.polylib (added)
+++ polly/trunk/lib/External/isl/test_inputs/convex2.polylib Wed Feb  4 14:55:43 2015
@@ -0,0 +1,24 @@
+# {i,j,N | 1<=i<=N; 0<=j<=N-1; 2<=N}
+6 5
+1  1  0  0 -1
+1 -1  0  1  0
+1  0  1  0  0
+1  0 -1  1 -1 
+1  0  0  1 -2
+1  0  0  0  1
+# {i,j,N | 1<=i<=N; 1<=j<=N; 2<=N}
+6 5
+1  1  0  0 -1
+1 -1  0  1  0
+1  0  1  0 -1
+1  0 -1  1  0
+1  0  0  1 -2
+1  0  0  0  1
+# {i,j,N | 1<=i<=N; 0<=j<=N; 2<=N}
+6 5
+   1    0    0    1   -2
+   1   -1    0    1    0
+   1    0   -1    1    0
+   1    1    0    0   -1
+   1    0    1    0    0
+   1    0    0    0    1

Added: polly/trunk/lib/External/isl/test_inputs/convex3.polylib
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/convex3.polylib?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/convex3.polylib (added)
+++ polly/trunk/lib/External/isl/test_inputs/convex3.polylib Wed Feb  4 14:55:43 2015
@@ -0,0 +1,10 @@
+1 4
+1 1 1 -6
+
+3 4
+1 1 1 -3
+1 1 0 -5
+1 -1 0 10
+
+1 4
+1 1 1 -3

Added: polly/trunk/lib/External/isl/test_inputs/convex4.polylib
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/convex4.polylib?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/convex4.polylib (added)
+++ polly/trunk/lib/External/isl/test_inputs/convex4.polylib Wed Feb  4 14:55:43 2015
@@ -0,0 +1,9 @@
+1 4
+1 1 1 -6
+
+2 4
+0 1 0 -1
+0 0 1 -4
+
+1 4
+1 1 1 -5

Added: polly/trunk/lib/External/isl/test_inputs/convex5.polylib
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/convex5.polylib?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/convex5.polylib (added)
+++ polly/trunk/lib/External/isl/test_inputs/convex5.polylib Wed Feb  4 14:55:43 2015
@@ -0,0 +1,12 @@
+2 4
+0 1 0 -2
+0 0 1 -6
+
+2 4
+0 1 0 -1
+0 0 1 -4
+
+3 4
+0 -2 1 -2
+1  1 0 -1
+1 -1 0  2

Added: polly/trunk/lib/External/isl/test_inputs/convex6.polylib
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/convex6.polylib?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/convex6.polylib (added)
+++ polly/trunk/lib/External/isl/test_inputs/convex6.polylib Wed Feb  4 14:55:43 2015
@@ -0,0 +1,17 @@
+3 4
+1   1    1   -2
+1  -1    1    2
+1   0   -1    2
+
+3 4
+1   0    1   -1
+1   1   -1    1
+1  -1   -1    5
+
+6 4
+1  -1    0    4
+1   1    0    0
+1   1    2   -2
+1  -1    2    2
+1   1   -2    4
+1  -1   -2    8

Added: polly/trunk/lib/External/isl/test_inputs/convex7.polylib
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/convex7.polylib?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/convex7.polylib (added)
+++ polly/trunk/lib/External/isl/test_inputs/convex7.polylib Wed Feb  4 14:55:43 2015
@@ -0,0 +1,9 @@
+1 4
+0 0 1 0
+
+2 4
+1 1 -1 1
+1 -1 -1 1
+
+1 4
+1 0 -1 1

Added: polly/trunk/lib/External/isl/test_inputs/convex8.polylib
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/convex8.polylib?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/convex8.polylib (added)
+++ polly/trunk/lib/External/isl/test_inputs/convex8.polylib Wed Feb  4 14:55:43 2015
@@ -0,0 +1,24 @@
+4 5
+1   1    1    1    0
+1   0   -1    0    0
+1  -1    0    0    2
+1   1    1   -1    0
+
+4 5
+1  -1    1    0    2
+1   1   -2   -2   -1
+1  -1    0    2    3
+1   1    0    0   -1
+
+10 5
+1   1    0    1    0
+1   1    1    0    0
+1   0    1    1    2
+1  -3    1   -1    8
+1  -3    1    1    8
+1   0    1   -1    2
+1   1    0   -1    0
+1   1   -2   -1    0
+1  -1   -3    2    6
+1   1   -5   -2    2
+

Added: polly/trunk/lib/External/isl/test_inputs/convex9.polylib
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/convex9.polylib?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/convex9.polylib (added)
+++ polly/trunk/lib/External/isl/test_inputs/convex9.polylib Wed Feb  4 14:55:43 2015
@@ -0,0 +1,14 @@
+4 4
+1 1 0 0
+1 -1 0 1
+1 0 1 0
+1 0 -1 10
+
+2 4
+1 1 0 -10
+0 0 -1 5
+
+3 4
+1 1 0 0
+1 0 1 0
+1 0 -1 10

Added: polly/trunk/lib/External/isl/test_inputs/devos.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/devos.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/devos.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/devos.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+[U] -> { [i0] -> ((1/3 * U + 2/3 * i0) - [(U + 2i0)/3]) : 2i0 >= -3 - U and 2i0 <= -U and U >= 0 and U <= 10 }

Added: polly/trunk/lib/External/isl/test_inputs/equality1.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/equality1.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/equality1.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/equality1.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+[n] -> { [x] -> 1 + [(x+1)/3] : exists a : x = 3a +1 && 0 <= x <= n }

Added: polly/trunk/lib/External/isl/test_inputs/equality2.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/equality2.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/equality2.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/equality2.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+[n] -> { [x,y] -> x^2 * y : n = 2x + 4y and 0 <= x,y <= 10 }

Added: polly/trunk/lib/External/isl/test_inputs/equality3.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/equality3.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/equality3.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/equality3.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+[m,n] -> { [x,y] -> x^2 * y : n = 2x + 4y and 0 <= x,y <= 10 and 3 n = 5 m }

Added: polly/trunk/lib/External/isl/test_inputs/equality4.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/equality4.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/equality4.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/equality4.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+[m,n] -> { [x,y] -> x^2 * y + m + 13 * n: n = 2x + 4y and 0 <= x,y <= 10 and 3 n = 5 m }

Added: polly/trunk/lib/External/isl/test_inputs/equality5.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/equality5.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/equality5.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/equality5.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+[m,n] -> { [x,y,z] -> x^2 * y + z + m + 13 * n: n = 2x + 4y and 0 <= x,y <= 10 and 3 n = 5 m and z = x + y }

Added: polly/trunk/lib/External/isl/test_inputs/esced.pip
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/esced.pip?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/esced.pip (added)
+++ polly/trunk/lib/External/isl/test_inputs/esced.pip Wed Feb  4 14:55:43 2015
@@ -0,0 +1,27 @@
+0 2
+
+-1
+
+16 18
+1 0 0 0 0 0 0 0 0 -1 0 0 1 0 0 0 0 0
+1 0 0 0 0 0 0 0 0 0 -1 0 0 1 0 0 0 0
+1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1 0 0 0
+1 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 0 0 0
+1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
+1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
+
+
+0 0 0 0 -1 0 0 0 0 1 -1 0 0 0 0 0 0 0
+0 0 0 0 0 -1 0 0 0 0 0 1 0 0 0 0 0 0
+
+0 -1 0 0 0 0 0 0 0 0 1 -1 0 0 0 0 0 0
+
+0 0 0 0 0 0 -1 0 0 0 0 0 1 -1 0 -1 0 0
+0 0 0 0 0 0 0 -1 0 0 0 0 0 0 1 0 0 0
+0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 1 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 0 0 0
+0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 1 -1 0
+
+1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1
+1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 -1

Added: polly/trunk/lib/External/isl/test_inputs/ex.pip
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/ex.pip?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/ex.pip (added)
+++ polly/trunk/lib/External/isl/test_inputs/ex.pip Wed Feb  4 14:55:43 2015
@@ -0,0 +1,9 @@
+1 5
+1 -1  1  1  0 
+
+-1
+
+3 7
+1  0 -1  0  1  0  0 
+1 -1  0  0  0  1  0 
+1  1  1 -1  0  0  0 

Added: polly/trunk/lib/External/isl/test_inputs/ex2.pip
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/ex2.pip?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/ex2.pip (added)
+++ polly/trunk/lib/External/isl/test_inputs/ex2.pip Wed Feb  4 14:55:43 2015
@@ -0,0 +1,9 @@
+1 5
+1 -1 1 1 0
+
+-1
+
+3 7
+1 0 -1 0 1 0 0
+1 -1 0 0 0 1 0
+1 1 1 -1 0 0 0

Added: polly/trunk/lib/External/isl/test_inputs/faddeev.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/faddeev.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/faddeev.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/faddeev.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+[N] -> { [i, j, k] -> (((4 + 6 * N + 2 * N^2) + (-2 - 2 * N) * j) + ((-2 - N) + j) * k) : j = 1 + i and k = 1 + i and i >= 3 and N <= 100 and i <= N and N >= 10 }

Added: polly/trunk/lib/External/isl/test_inputs/fimmel.pip
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/fimmel.pip?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/fimmel.pip (added)
+++ polly/trunk/lib/External/isl/test_inputs/fimmel.pip Wed Feb  4 14:55:43 2015
@@ -0,0 +1,12 @@
+0 4
+
+-1
+
+7 6
+1 2  6 0 0 -9
+1 5 -3 0 0 0
+1 2 -10 0 0 15
+1 -2 6 0 0 -3
+1 -2 -6 0 0 17
+1 0 1 -1 0 0
+1 1 0 0 -1 0

Added: polly/trunk/lib/External/isl/test_inputs/gist1.polylib
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/gist1.polylib?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/gist1.polylib (added)
+++ polly/trunk/lib/External/isl/test_inputs/gist1.polylib Wed Feb  4 14:55:43 2015
@@ -0,0 +1,14 @@
+4 5
+0 1 0 0 -1
+0 0 1 0 1
+0 0 0 1 -3
+1 0 0 0 1
+
+4 5
+0 1 0 0 -1
+0 0 1 1 -2
+1 0 0 1 0
+1 0 0 -1 3
+
+1 5
+0 0 1 0 1

Added: polly/trunk/lib/External/isl/test_inputs/linearExample.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/linearExample.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/linearExample.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/linearExample.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+[N, M, L] -> { [i, j, k] -> ((1/2 * i + 5 * j) + 1/7 * k) : i >= 0 and k >= -N + i and k >= -M - j and j <= L + i and L >= 0 and L >= -M }

Added: polly/trunk/lib/External/isl/test_inputs/max.pip
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/max.pip?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/max.pip (added)
+++ polly/trunk/lib/External/isl/test_inputs/max.pip Wed Feb  4 14:55:43 2015
@@ -0,0 +1,9 @@
+0 3
+
+-1
+
+4 5
+1 -1  0  1  0
+1  0 -1  1  0
+1 -1  3 -2 12
+1  2 -1 -1  3

Added: polly/trunk/lib/External/isl/test_inputs/neg.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/neg.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/neg.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/neg.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+[n] -> { [i0] -> i0^2 : i0 >= -20 - n and i0 <= n and i0 <= -1 and n >= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/negative.pip
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/negative.pip?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/negative.pip (added)
+++ polly/trunk/lib/External/isl/test_inputs/negative.pip Wed Feb  4 14:55:43 2015
@@ -0,0 +1,9 @@
+1 3
+#  n  1
+1  1 -1 # n >= 1
+-1
+
+2 4
+#  i  n  1
+1  1  0  1 # i >= -1
+1 -1  1  0 # i <= n

Added: polly/trunk/lib/External/isl/test_inputs/philippe.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/philippe.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/philippe.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/philippe.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+[N] -> { [i, j] -> ((1/2 * i + 1/2 * i^2) + j) : i <= N and j >= 0 and j <= i }

Added: polly/trunk/lib/External/isl/test_inputs/philippe3vars.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/philippe3vars.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/philippe3vars.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/philippe3vars.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+[N] -> { [i, j, k] -> (((1/2 * i + 1/2 * i^2) + j) + k^3) : i >= 0 and k >= -N + i and k >= -j and j <= i }

Added: polly/trunk/lib/External/isl/test_inputs/philippe3vars3pars.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/philippe3vars3pars.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/philippe3vars3pars.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/philippe3vars3pars.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+[N, M, L] -> { [i, j, k] -> (((1/2 * i + 1/2 * i^2) + j) + k^3) : i >= 0 and k >= -N + i and k >= -M - j and j <= L + i and L >= 0 and L >= -M }

Added: polly/trunk/lib/External/isl/test_inputs/philippeNeg.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/philippeNeg.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/philippeNeg.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/philippeNeg.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+[N] -> { [i, j] -> ((1/2 * i + 1/2 * i^2) + j) : i <= N and j >= -1 and j <= i }

Added: polly/trunk/lib/External/isl/test_inputs/philippePolynomialCoeff.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/philippePolynomialCoeff.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/philippePolynomialCoeff.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/philippePolynomialCoeff.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+[N, M] -> { [i, j] -> ((N * i + (1/5 * N + N^2) * i^2) + 5 * j) : i <= N and j >= 0 and j <= i and M >= 0 }

Added: polly/trunk/lib/External/isl/test_inputs/philippePolynomialCoeff1P.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/philippePolynomialCoeff1P.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/philippePolynomialCoeff1P.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/philippePolynomialCoeff1P.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+[N] -> { [i, j] -> ((N * i + (1/5 * N + N^2) * i^2) + 5 * j) : i <= N and j >= 0 and j <= i }

Added: polly/trunk/lib/External/isl/test_inputs/product.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/product.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/product.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/product.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+[N] -> { [i0, i1, i2] -> (i0^3 * i1^2 + N * i1 * i2) : i0 >= 0 and i0 <= N and i1 >= 0 and i1 <= N and i2 >= 0 and i2 <= N }

Added: polly/trunk/lib/External/isl/test_inputs/seghir-vd.pip
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/seghir-vd.pip?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/seghir-vd.pip (added)
+++ polly/trunk/lib/External/isl/test_inputs/seghir-vd.pip Wed Feb  4 14:55:43 2015
@@ -0,0 +1,17 @@
+0 6
+
+-1
+
+9 8
+ 0 0 0 1 1 0 0 2
+ 1 2 1 0 0 1 0 0
+ 1 0 1 0 -1 0 0 -1
+ 1 -2 -1 0 0 0 0 -1
+ 1 7 3 0 0 0 0 -1
+ 1 -6 -4 0 1 0 3 1
+ 1 -7 -3 0 0 1 6 4
+ 1 0 0 0 0 0 1 0
+ 1 0 0 0 0 0 0 1
+
+Urs_parms
+Urs_unknowns

Added: polly/trunk/lib/External/isl/test_inputs/set.omega
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/set.omega?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/set.omega (added)
+++ polly/trunk/lib/External/isl/test_inputs/set.omega Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+{[y]: Exists ( alpha : 2alpha = y)}

Added: polly/trunk/lib/External/isl/test_inputs/small.pip
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/small.pip?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/small.pip (added)
+++ polly/trunk/lib/External/isl/test_inputs/small.pip Wed Feb  4 14:55:43 2015
@@ -0,0 +1,9 @@
+0 2
+
+-1
+
+4 4
+1  1  0  0
+1  0  1  0
+1  1 -3 12
+1 -2  1  3

Added: polly/trunk/lib/External/isl/test_inputs/sor1d.pip
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/sor1d.pip?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/sor1d.pip (added)
+++ polly/trunk/lib/External/isl/test_inputs/sor1d.pip Wed Feb  4 14:55:43 2015
@@ -0,0 +1,28 @@
+2 4
+ 1	1	0	0
+ 1	0	1	0
+
+-1
+
+20 8
+ 
+ 0	-1	0	0	0	0	0	2
+ 0	0	-1	0	0	0	0	1
+ 0	0	0	-1	0	0	0	2
+ 0	0	0	0	-1	0	0	4
+ 1	0	0	0	1	0	0	-2
+ 1	-2	0	2	1	0	0	-4
+ 1	0	0	0	-1	0	1	-1
+ 1	2	0	-2	-1	0	0	5
+ 1	0	0	1	0	0	0	-1
+ 1	0	-2	1	0	0	0	0
+ 1	-2	0	2	0	0	1	-5
+ 1	0	0	-1	0	1	0	0
+ 1	0	2	-1	0	0	0	1
+ 1	2	0	-2	0	0	0	3
+ 1	0	1	0	0	0	0	0
+ 1	-2	4	0	0	0	1	-3
+ 1	0	-2	0	0	1	0	0
+ 1	2	-4	0	0	0	0	3
+ 1	2	0	0	0	0	0	1
+ 1	-2	0	0	0	2	1	-5

Added: polly/trunk/lib/External/isl/test_inputs/split.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/split.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/split.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/split.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+[n] -> { [x] -> -1 + [(x+5)/7] : -n - 20 <= x <= n }

Added: polly/trunk/lib/External/isl/test_inputs/square.pip
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/square.pip?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/square.pip (added)
+++ polly/trunk/lib/External/isl/test_inputs/square.pip Wed Feb  4 14:55:43 2015
@@ -0,0 +1,9 @@
+0 3
+
+-1
+
+4 5
+1  1  0  0  0
+1 -1  0  1  0
+1  0  1  0  0
+1  0 -1  1  0

Added: polly/trunk/lib/External/isl/test_inputs/sven.pip
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/sven.pip?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/sven.pip (added)
+++ polly/trunk/lib/External/isl/test_inputs/sven.pip Wed Feb  4 14:55:43 2015
@@ -0,0 +1,7 @@
+0 3
+
+-1
+
+2 3
+1  1 -4
+1 -1 10

Added: polly/trunk/lib/External/isl/test_inputs/test3Deg3Var.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/test3Deg3Var.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/test3Deg3Var.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/test3Deg3Var.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+[p] -> { [n, m] -> (n + n^3) : n >= 1 and m >= n and m <= p }

Added: polly/trunk/lib/External/isl/test_inputs/tobi.pip
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/tobi.pip?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/tobi.pip (added)
+++ polly/trunk/lib/External/isl/test_inputs/tobi.pip Wed Feb  4 14:55:43 2015
@@ -0,0 +1,15 @@
+2 3
+1 1 -281
+1 -1 14000
+
+-1
+
+6 6
+0  -392     0     8    -1     0
+0   392     8     0     1     0
+1    -1     0     0     0     0
+1     1     0     0     0    35
+1   392     0     0     1     0
+1  -392     0     0    -1   280
+
+Urs_unknowns

Added: polly/trunk/lib/External/isl/test_inputs/toplas.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/toplas.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/toplas.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/toplas.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+[n] -> { [i0, i1] -> (((4 * n - n^2) + (-3/2 + 2 * n) * i0 - 1/2 * i0^2) - i1) : i1 >= -1 + 3n - i0 and i1 >= -1 + 2n - i0 and i0 >= 0 and i1 <= -2 + 4n - i0 and i0 <= -2 + 4n and i0 <= -1 + 3n and i1 >= 0 and i1 <= -1 + n }

Added: polly/trunk/lib/External/isl/test_inputs/unexpanded.pwqp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/External/isl/test_inputs/unexpanded.pwqp?rev=228193&view=auto
==============================================================================
--- polly/trunk/lib/External/isl/test_inputs/unexpanded.pwqp (added)
+++ polly/trunk/lib/External/isl/test_inputs/unexpanded.pwqp Wed Feb  4 14:55:43 2015
@@ -0,0 +1 @@
+{ [x, y] -> ((x - x^2) * y + (-x + x^2) * y^2) : x >= 0 and x <= 2 and y >= 0 and y <= 2 }

Modified: polly/trunk/lib/Makefile
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Makefile?rev=228193&r1=228192&r2=228193&view=diff
==============================================================================
--- polly/trunk/lib/Makefile (original)
+++ polly/trunk/lib/Makefile Wed Feb  4 14:55:43 2015
@@ -11,6 +11,7 @@ LOADABLE_MODULE = 1
 # TODO: Export symbols for RTTI or EH?
 
 CPP.Flags += $(POLLY_INC)
+C.Flags += $(POLLY_CFLAGS)
 LD.Flags += $(POLLY_LD) $(POLLY_LIB)
 
 include $(LEVEL)/Makefile.config
@@ -32,6 +33,82 @@ POLLY_JSON_FILES= JSON/json_reader.cpp \
 		  JSON/json_value.cpp \
 		  JSON/json_writer.cpp
 
+ISL_FILES= External/isl/basis_reduction_tab.c \
+           External/isl/isl_aff.c \
+           External/isl/isl_affine_hull.c \
+           External/isl/isl_arg.c \
+           External/isl/isl_ast_build.c \
+           External/isl/isl_ast_build_expr.c \
+           External/isl/isl_ast.c \
+           External/isl/isl_ast_codegen.c \
+           External/isl/isl_ast_graft.c \
+           External/isl/isl_band.c \
+           External/isl/isl_bernstein.c \
+           External/isl/isl_blk.c \
+           External/isl/isl_bound.c \
+           External/isl/isl_coalesce.c \
+           External/isl/isl_constraint.c \
+           External/isl/isl_convex_hull.c \
+           External/isl/isl_ctx.c \
+           External/isl/isl_deprecated.c \
+           External/isl/isl_dim.c \
+           External/isl/isl_dim_map.c \
+           External/isl/isl_equalities.c \
+           External/isl/isl_factorization.c \
+           External/isl/isl_farkas.c \
+           External/isl/isl_flow.c \
+           External/isl/isl_fold.c \
+           External/isl/isl_hash.c \
+           External/isl/isl_id.c \
+           External/isl/isl_id_to_ast_expr.c \
+           External/isl/isl_id_to_pw_aff.c \
+           External/isl/isl_ilp.c \
+           External/isl/isl_imath.c \
+           External/isl/isl_input.c \
+           External/isl/isl_local_space.c \
+           External/isl/isl_lp.c \
+           External/isl/isl_map.c \
+           External/isl/isl_map_simplify.c \
+           External/isl/isl_map_subtract.c \
+           External/isl/isl_map_to_basic_set.c \
+           External/isl/isl_mat.c \
+           External/isl/isl_morph.c \
+           External/isl/isl_obj.c \
+           External/isl/isl_options.c \
+           External/isl/isl_output.c \
+           External/isl/isl_point.c \
+           External/isl/isl_polynomial.c \
+           External/isl/isl_printer.c \
+           External/isl/isl_range.c \
+           External/isl/isl_reordering.c \
+           External/isl/isl_sample.c \
+           External/isl/isl_scan.c \
+           External/isl/isl_schedule.c \
+           External/isl/isl_scheduler.c \
+           External/isl/isl_seq.c \
+           External/isl/isl_set_list.c \
+           External/isl/isl_sort.c \
+           External/isl/isl_space.c \
+           External/isl/isl_stream.c \
+           External/isl/isl_tab.c \
+           External/isl/isl_tab_pip.c \
+           External/isl/isl_tarjan.c \
+           External/isl/isl_transitive_closure.c \
+           External/isl/isl_union_map.c \
+           External/isl/isl_val.c \
+           External/isl/isl_val_imath.c \
+           External/isl/isl_vec.c \
+           External/isl/isl_version.c \
+           External/isl/isl_vertices.c \
+           External/isl/print.c \
+           External/isl/imath/gmp_compat.c \
+           External/isl/imath/imath.c \
+           External/isl/imath/imdrover.c \
+           External/isl/imath/imrat.c \
+           External/isl/imath/iprime.c \
+           External/isl/imath/pi.c \
+           External/isl/imath/rsamath.c
+
 SOURCES= Polly.cpp \
 	 Support/GICHelper.cpp \
 	 Support/SCEVValidator.cpp \
@@ -58,7 +135,8 @@ SOURCES= Polly.cpp \
 	 ${GPGPU_FILES} \
 	 ${ISL_CODEGEN_FILES} \
 	 ${POLLY_JSON_FILES} \
-	 ${POLLY_PLUTO_FILES}
+	 ${POLLY_PLUTO_FILES} \
+	 ${ISL_FILES}
 
 #
 # Include Makefile.common so we know what to do.





More information about the llvm-commits mailing list