summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--isl_space.c6
-rw-r--r--test_inputs/codegen/atomic.c4
-rw-r--r--test_inputs/codegen/cloog/byu98-1-2-3.c10
-rw-r--r--test_inputs/codegen/cloog/cholesky2.c13
-rw-r--r--test_inputs/codegen/cloog/christian.c4
-rw-r--r--test_inputs/codegen/cloog/classen.c28
-rw-r--r--test_inputs/codegen/cloog/dealII.c4
-rw-r--r--test_inputs/codegen/cloog/dot2.c4
-rw-r--r--test_inputs/codegen/cloog/gauss.c4
-rw-r--r--test_inputs/codegen/cloog/reservoir-lim-lam1.c14
-rw-r--r--test_inputs/codegen/cloog/vivien.c27
-rw-r--r--test_inputs/codegen/cloog/vivien2.c17
-rw-r--r--test_inputs/codegen/cloog/yosr2.c4
-rw-r--r--test_inputs/codegen/omega/iter9-0.c20
-rw-r--r--test_inputs/codegen/omega/m12-1.c8
-rw-r--r--test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.c2
-rw-r--r--test_inputs/codegen/omega/wak1-0.c34
-rw-r--r--test_inputs/codegen/omega/wak1-1.c50
-rw-r--r--test_inputs/codegen/omega/x-0.c4
-rw-r--r--test_inputs/codegen/omega/x-1.c4
-rw-r--r--test_inputs/codegen/pldi2012/figure8_b.c9
-rw-r--r--test_inputs/codegen/separate.c2
22 files changed, 140 insertions, 132 deletions
diff --git a/isl_space.c b/isl_space.c
index b0aca350..e6f957c4 100644
--- a/isl_space.c
+++ b/isl_space.c
@@ -1549,9 +1549,9 @@ static uint32_t isl_hash_dim(uint32_t hash, __isl_keep isl_space *dim)
if (!dim)
return hash;
- hash = isl_hash_builtin(hash, dim->nparam);
- hash = isl_hash_builtin(hash, dim->n_in);
- hash = isl_hash_builtin(hash, dim->n_out);
+ isl_hash_byte(hash, dim->nparam % 256);
+ isl_hash_byte(hash, dim->n_in % 256);
+ isl_hash_byte(hash, dim->n_out % 256);
for (i = 0; i < dim->nparam; ++i) {
id = get_id(dim, isl_dim_param, i);
diff --git a/test_inputs/codegen/atomic.c b/test_inputs/codegen/atomic.c
index 0b702798..73731c0c 100644
--- a/test_inputs/codegen/atomic.c
+++ b/test_inputs/codegen/atomic.c
@@ -1,6 +1,6 @@
for (int c0 = 0; c0 <= 10; c0 += 1) {
- if (c0 <= 9)
- a(c0);
if (c0 >= 1)
b(c0 - 1);
+ if (c0 <= 9)
+ a(c0);
}
diff --git a/test_inputs/codegen/cloog/byu98-1-2-3.c b/test_inputs/codegen/cloog/byu98-1-2-3.c
index 8c4a0810..8e87cba3 100644
--- a/test_inputs/codegen/cloog/byu98-1-2-3.c
+++ b/test_inputs/codegen/cloog/byu98-1-2-3.c
@@ -3,12 +3,12 @@
for (int c1 = -c0 + 6; c1 <= 6; c1 += 1)
S1(c0, c1);
for (int c0 = 4; c0 <= 8; c0 += 1) {
- if (c0 == 4) {
- for (int c1 = 3; c1 <= 4; c1 += 1)
- S1(4, c1);
- } else if (c0 >= 6)
+ if (c0 >= 6) {
S2(c0, -c0 + 9);
- if (c0 <= 5) {
+ } else {
+ if (c0 == 4)
+ for (int c1 = 3; c1 <= 4; c1 += 1)
+ S1(4, c1);
S1(c0, -c0 + 9);
S2(c0, -c0 + 9);
}
diff --git a/test_inputs/codegen/cloog/cholesky2.c b/test_inputs/codegen/cloog/cholesky2.c
index 7834ff49..c746460b 100644
--- a/test_inputs/codegen/cloog/cholesky2.c
+++ b/test_inputs/codegen/cloog/cholesky2.c
@@ -6,11 +6,14 @@
}
for (int c0 = 1; c0 < 3 * M - 1; c0 += 3) {
S3((c0 + 2) / 3);
- for (int c1 = (c0 + 5) / 3; c1 <= M; c1 += 1) {
- S6((c0 + 2) / 3, c1);
- for (int c4 = (c0 + 5) / 3; c4 < c1; c4 += 1)
- S5(c4, c1, (c0 + 2) / 3);
- }
+ if (3 * M >= c0 + 8) {
+ for (int c1 = (c0 + 5) / 3; c1 <= M; c1 += 1) {
+ S6((c0 + 2) / 3, c1);
+ for (int c4 = (c0 + 5) / 3; c4 < c1; c4 += 1)
+ S5(c4, c1, (c0 + 2) / 3);
+ }
+ } else if (c0 + 5 == 3 * M)
+ S6(M - 1, M);
for (int c1 = (c0 + 5) / 3; c1 <= M; c1 += 1)
S2(c1, (c0 + 2) / 3);
}
diff --git a/test_inputs/codegen/cloog/christian.c b/test_inputs/codegen/cloog/christian.c
index 9c69a4b3..4b4d5a33 100644
--- a/test_inputs/codegen/cloog/christian.c
+++ b/test_inputs/codegen/cloog/christian.c
@@ -1,6 +1,6 @@
for (int c0 = -N + 1; c0 <= N; c0 += 1) {
- for (int c1 = max(0, c0); c1 < min(N, N + c0); c1 += 1)
- S1(c1, -c0 + c1);
for (int c1 = max(c0 - 1, 0); c1 < min(N + c0 - 1, N); c1 += 1)
S2(c1, -c0 + c1 + 1);
+ for (int c1 = max(0, c0); c1 < min(N, N + c0); c1 += 1)
+ S1(c1, -c0 + c1);
}
diff --git a/test_inputs/codegen/cloog/classen.c b/test_inputs/codegen/cloog/classen.c
index ec3a1f4a..fb12b9d6 100644
--- a/test_inputs/codegen/cloog/classen.c
+++ b/test_inputs/codegen/cloog/classen.c
@@ -4,8 +4,8 @@
S8(0, 1);
} else if (m >= 2) {
S1(0, 1, 1, 1);
- S4(0, 1, 2, 2, 1, 1, 2, 2);
S3(0, 1, 1, 2, 1, 1, 1, 2);
+ S4(0, 1, 2, 2, 1, 1, 2, 2);
S2(0, 1, 1, 1, 1, 1, 2, 1);
S8(0, 1);
}
@@ -14,17 +14,17 @@
S5(m - 2, 1, m - 1, 1, m - 1, 1, m, 1);
S1(m - 1, 1, m, 1);
S3(m - 1, 1, m, 2, m, 1, m, 2);
- } else if (m >= c0 + 2) {
- S5(c0 - 1, 1, c0, 1, c0, 1, c0 + 1, 1);
- S1(c0, 1, c0 + 1, 1);
- S4(c0, 1, c0 + 2, 2, c0 + 1, 1, c0 + 2, 2);
- S3(c0, 1, c0 + 1, 2, c0 + 1, 1, c0 + 1, 2);
- S2(c0, 1, c0 + 1, 1, c0 + 1, 1, c0 + 2, 1);
- } else {
+ } else if (c0 >= m) {
S5(c0 - 1, -m + c0 + 2, c0, -m + c0 + 2, m - 1, -m + c0 + 2, m, -m + c0 + 2);
S6(c0 - 1, -m + c0 + 1, c0, -m + c0 + 2, m, -m + c0 + 1, m, -m + c0 + 2);
S1(c0, -m + c0 + 2, m, -m + c0 + 2);
S3(c0, -m + c0 + 2, c0 + 1, -m + c0 + 3, m, -m + c0 + 2, m, -m + c0 + 3);
+ } else {
+ S5(c0 - 1, 1, c0, 1, c0, 1, c0 + 1, 1);
+ S1(c0, 1, c0 + 1, 1);
+ S3(c0, 1, c0 + 1, 2, c0 + 1, 1, c0 + 1, 2);
+ S4(c0, 1, c0 + 2, 2, c0 + 1, 1, c0 + 2, 2);
+ S2(c0, 1, c0 + 1, 1, c0 + 1, 1, c0 + 2, 1);
}
for (int c2 = max(-m + c0 + 3, 2); c2 <= min(c0, m - 1); c2 += 1) {
S5(c0 - 1, c2, c0, c2, c0 - c2 + 1, c2, c0 - c2 + 2, c2);
@@ -32,18 +32,18 @@
S6(c0 - 1, c2 - 1, c0, c2, c0 - c2 + 2, c2 - 1, c0 - c2 + 2, c2);
S1(c0, c2, c0 - c2 + 2, c2);
S3(c0, c2, c0 + 1, c2 + 1, c0 - c2 + 2, c2, c0 - c2 + 2, c2 + 1);
- S2(c0, c2, c0 + 1, c2, c0 - c2 + 2, c2, c0 - c2 + 3, c2);
S4(c0, c2, c0 + 2, c2 + 1, c0 - c2 + 2, c2, c0 - c2 + 3, c2 + 1);
+ S2(c0, c2, c0 + 1, c2, c0 - c2 + 2, c2, c0 - c2 + 3, c2);
}
if (c0 + 1 == m) {
- S6(m - 2, m - 1, m - 1, m, 1, m - 1, 1, m);
S7(m - 2, m - 1, m, m, 1, m - 1, 2, m);
+ S6(m - 2, m - 1, m - 1, m, 1, m - 1, 1, m);
S1(m - 1, m, 1, m);
S2(m - 1, m, m, m, 1, m, 2, m);
} else if (c0 >= m) {
S5(c0 - 1, m, c0, m, -m + c0 + 1, m, -m + c0 + 2, m);
- S6(c0 - 1, m - 1, c0, m, -m + c0 + 2, m - 1, -m + c0 + 2, m);
S7(c0 - 1, m - 1, c0 + 1, m, -m + c0 + 2, m - 1, -m + c0 + 3, m);
+ S6(c0 - 1, m - 1, c0, m, -m + c0 + 2, m - 1, -m + c0 + 2, m);
S1(c0, m, -m + c0 + 2, m);
S2(c0, m, c0 + 1, m, -m + c0 + 2, m, -m + c0 + 3, m);
} else {
@@ -51,8 +51,8 @@
S6(c0 - 1, c0, c0, c0 + 1, 1, c0, 1, c0 + 1);
S1(c0, c0 + 1, 1, c0 + 1);
S3(c0, c0 + 1, c0 + 1, c0 + 2, 1, c0 + 1, 1, c0 + 2);
- S2(c0, c0 + 1, c0 + 1, c0 + 1, 1, c0 + 1, 2, c0 + 1);
S4(c0, c0 + 1, c0 + 2, c0 + 2, 1, c0 + 1, 2, c0 + 2);
+ S2(c0, c0 + 1, c0 + 1, c0 + 1, 1, c0 + 1, 2, c0 + 1);
}
for (int c8 = max(-m + c0 + 2, 1); c8 <= min(c0 + 1, m); c8 += 1)
S8(c0, c8);
@@ -64,15 +64,15 @@
S1(2 * m - 3, m - 1, m, m - 1);
S3(2 * m - 3, m - 1, 2 * m - 2, m, m, m - 1, m, m);
S5(2 * m - 4, m, 2 * m - 3, m, m - 2, m, m - 1, m);
- S6(2 * m - 4, m - 1, 2 * m - 3, m, m - 1, m - 1, m - 1, m);
S7(2 * m - 4, m - 1, 2 * m - 2, m, m - 1, m - 1, m, m);
+ S6(2 * m - 4, m - 1, 2 * m - 3, m, m - 1, m - 1, m - 1, m);
S1(2 * m - 3, m, m - 1, m);
} else {
S5(0, 1, 1, 1, 1, 1, 2, 1);
S1(1, 1, 2, 1);
S3(1, 1, 2, 2, 2, 1, 2, 2);
- S6(0, 1, 1, 2, 1, 1, 1, 2);
S7(0, 1, 2, 2, 1, 1, 2, 2);
+ S6(0, 1, 1, 2, 1, 1, 1, 2);
S1(1, 2, 1, 2);
}
S2(2 * m - 3, m, 2 * m - 2, m, m - 1, m, m, m);
diff --git a/test_inputs/codegen/cloog/dealII.c b/test_inputs/codegen/cloog/dealII.c
index 92fd6403..0ae7bfac 100644
--- a/test_inputs/codegen/cloog/dealII.c
+++ b/test_inputs/codegen/cloog/dealII.c
@@ -3,10 +3,10 @@
S1(c0);
S2(c0);
}
+ for (int c0 = T_2; c0 <= min(T_66, T_67 - 1); c0 += 1)
+ S2(c0);
for (int c0 = max(T_66 + 1, 0); c0 < T_2; c0 += 1)
S1(c0);
if (T_67 == 0 && T_2 == 0)
S1(0);
- for (int c0 = T_2; c0 <= min(T_66, T_67 - 1); c0 += 1)
- S2(c0);
}
diff --git a/test_inputs/codegen/cloog/dot2.c b/test_inputs/codegen/cloog/dot2.c
index f36aae20..4ab31459 100644
--- a/test_inputs/codegen/cloog/dot2.c
+++ b/test_inputs/codegen/cloog/dot2.c
@@ -4,9 +4,9 @@
for (int c1 = 1; c1 <= M; c1 += 1)
S2(c0, c1);
}
+ for (int c0 = N + 1; c0 <= M; c0 += 1)
+ S1(c0);
for (int c0 = M + 1; c0 <= N; c0 += 1)
for (int c1 = 1; c1 <= M; c1 += 1)
S2(c0, c1);
- for (int c0 = N + 1; c0 <= M; c0 += 1)
- S1(c0);
}
diff --git a/test_inputs/codegen/cloog/gauss.c b/test_inputs/codegen/cloog/gauss.c
index 4bbe42cb..13a8e137 100644
--- a/test_inputs/codegen/cloog/gauss.c
+++ b/test_inputs/codegen/cloog/gauss.c
@@ -1,7 +1,7 @@
for (int c0 = 1; c0 < M; c0 += 1)
for (int c1 = c0 + 1; c1 <= M; c1 += 1) {
- for (int c3 = 1; c3 < c0; c3 += 1)
- S1(c0, c3, c1);
for (int c3 = c0 + 1; c3 <= M; c3 += 1)
S2(c0, c3, c1);
+ for (int c3 = 1; c3 < c0; c3 += 1)
+ S1(c0, c3, c1);
}
diff --git a/test_inputs/codegen/cloog/reservoir-lim-lam1.c b/test_inputs/codegen/cloog/reservoir-lim-lam1.c
index 8f93f150..ae9848be 100644
--- a/test_inputs/codegen/cloog/reservoir-lim-lam1.c
+++ b/test_inputs/codegen/cloog/reservoir-lim-lam1.c
@@ -1,10 +1,10 @@
for (int c1 = -99; c1 <= 100; c1 += 1) {
- if (c1 >= 1)
- S2(c1, 1);
- for (int c3 = max(1, -c1 + 1); c3 <= min(-c1 + 100, 99); c3 += 1) {
- S1(c1 + c3, c3);
- S2(c1 + c3, c3 + 1);
- }
if (c1 <= 0)
- S1(c1 + 100, 100);
+ S1(1, -c1 + 1);
+ for (int c3 = max(-2 * c1 + 3, 1); c3 <= min(199, -2 * c1 + 199); c3 += 2) {
+ S2((2 * c1 + c3 - 1) / 2, (c3 + 1) / 2);
+ S1((2 * c1 + c3 + 1) / 2, (c3 + 1) / 2);
+ }
+ if (c1 >= 1)
+ S2(100, -c1 + 101);
}
diff --git a/test_inputs/codegen/cloog/vivien.c b/test_inputs/codegen/cloog/vivien.c
index 29470ed2..55c1d790 100644
--- a/test_inputs/codegen/cloog/vivien.c
+++ b/test_inputs/codegen/cloog/vivien.c
@@ -13,8 +13,8 @@
S5(c0 - c0 / 2 - 1, c0 / 2 + 1, c2);
}
for (int c1 = -c0 + c0 / 2 + 3; c1 <= min(n - c0, -1); c1 += 1) {
- S6(-c1 + 2, c0 + c1 - 2);
S4(-c1, c0 + c1);
+ S6(-c1 + 2, c0 + c1 - 2);
for (int c2 = 1; c2 <= -c1; c2 += 1)
S5(-c1 + 1, c0 + c1 - 1, c2);
}
@@ -23,22 +23,23 @@
for (int c2 = 1; c2 < -n + c0; c2 += 1)
S5(-n + c0, n, c2);
}
- if (2 * n >= c0 + 1 && c0 >= n + 3)
+ if (2 * n >= c0 + 1 && c0 >= n + 3) {
S6(-n + c0, n);
- if (c0 >= n + 3) {
- S1(c0 - 1);
- } else if (c0 == n + 2 && n >= 3) {
- S6(2, n);
- S1(n + 1);
} else {
- if (c0 >= 5 && n + 1 >= c0) {
+ if (n + 1 >= c0 && c0 >= 5) {
S6(2, c0 - 2);
S1(c0 - 1);
- } else if (n + 1 >= c0 && c0 >= 3)
+ } else if (c0 >= 3 && c0 <= 4 && n + 1 >= c0)
S1(c0 - 1);
- if (c0 >= 3 && n + 1 >= c0)
+ if (n + 1 >= c0 && c0 >= 3)
S6(1, c0 - 1);
}
+ if (c0 >= n + 3) {
+ S1(c0 - 1);
+ } else if (c0 == n + 2 && n >= 3) {
+ S6(2, n);
+ S1(n + 1);
+ }
if (c0 == 2) {
S1(1);
} else if (c0 == 4 && n == 2)
@@ -48,8 +49,6 @@
for (int c1 = max(-n + c0, 1); c1 < (c0 + 1) / 2; c1 += 1)
S2(c0 - c1, c1);
}
- for (int c0 = max(-27 * n + 2, 2 * n + 1); c0 <= n + 29; c0 += 1)
- S1(c0 - 1);
for (int c0 = n + 30; c0 <= 2 * n; c0 += 1) {
if (2 * n >= c0 + 1) {
S4(c0 - c0 / 2 - 1, c0 / 2 + 1);
@@ -62,8 +61,8 @@
S5(c0 - c0 / 2 - 1, c0 / 2 + 1, c2);
}
for (int c1 = -c0 + c0 / 2 + 3; c1 <= n - c0; c1 += 1) {
- S6(-c1 + 2, c0 + c1 - 2);
S4(-c1, c0 + c1);
+ S6(-c1 + 2, c0 + c1 - 2);
for (int c2 = 1; c2 <= -c1; c2 += 1)
S5(-c1 + 1, c0 + c1 - 1, c2);
}
@@ -79,4 +78,6 @@
for (int c1 = -n + c0; c1 < (c0 + 1) / 2; c1 += 1)
S2(c0 - c1, c1);
}
+ for (int c0 = max(-27 * n + 2, 2 * n + 1); c0 <= n + 29; c0 += 1)
+ S1(c0 - 1);
}
diff --git a/test_inputs/codegen/cloog/vivien2.c b/test_inputs/codegen/cloog/vivien2.c
index 3a679b62..b39b943f 100644
--- a/test_inputs/codegen/cloog/vivien2.c
+++ b/test_inputs/codegen/cloog/vivien2.c
@@ -14,8 +14,8 @@
}
}
for (int c1 = -c0 + c0 / 2 + 3; c1 <= min(n - c0, -1); c1 += 1) {
- S6(-c1 + 2, c0 + c1 - 2);
S4(-c1, c0 + c1);
+ S6(-c1 + 2, c0 + c1 - 2);
for (int c2 = 1; c2 <= -c1; c2 += 1)
S5(-c1 + 1, c0 + c1 - 1, c2);
}
@@ -27,17 +27,18 @@
if (c0 >= n + 3) {
S6(-n + c0, n);
S1(c0 - 1);
- } else if (c0 == n + 2) {
- S6(2, n);
- S1(n + 1);
} else {
- if (c0 >= 5) {
+ if (c0 >= 5 && n + 1 >= c0) {
S6(2, c0 - 2);
S1(c0 - 1);
- } else if (c0 >= 3)
+ } else if (c0 >= 3 && c0 <= 4)
S1(c0 - 1);
- if (c0 >= 3)
+ if (c0 >= 3 && n + 1 >= c0)
S6(1, c0 - 1);
+ if (c0 == n + 2) {
+ S6(2, n);
+ S1(n + 1);
+ }
}
if (c0 == 2)
S1(1);
@@ -58,8 +59,8 @@
S5(c0 - c0 / 2 - 1, c0 / 2 + 1, c2);
}
for (int c1 = -c0 + c0 / 2 + 3; c1 <= n - c0; c1 += 1) {
- S6(-c1 + 2, c0 + c1 - 2);
S4(-c1, c0 + c1);
+ S6(-c1 + 2, c0 + c1 - 2);
for (int c2 = 1; c2 <= -c1; c2 += 1)
S5(-c1 + 1, c0 + c1 - 1, c2);
}
diff --git a/test_inputs/codegen/cloog/yosr2.c b/test_inputs/codegen/cloog/yosr2.c
index a4c0cd29..a52909cc 100644
--- a/test_inputs/codegen/cloog/yosr2.c
+++ b/test_inputs/codegen/cloog/yosr2.c
@@ -2,12 +2,12 @@
for (int c1 = 1; c1 <= M; c1 += 1)
S2(c1);
for (int c0 = 2; c0 <= M; c0 += 1) {
- for (int c2 = 1; c2 < c0; c2 += 1)
- S1(c0, c2);
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);
}
}
diff --git a/test_inputs/codegen/omega/iter9-0.c b/test_inputs/codegen/omega/iter9-0.c
index bf6b8875..2336f810 100644
--- a/test_inputs/codegen/omega/iter9-0.c
+++ b/test_inputs/codegen/omega/iter9-0.c
@@ -1,11 +1,11 @@
-for (int c0 = 1; c0 <= 15; c0 += 1)
- if (8 * floord(7 * exprVar1 + 7, 8) + 8 >= 7 * exprVar1 + c0 || (exprVar1 + 8 * floord(-exprVar1 + c0 - 1, 8) + 1 == c0 && c0 >= exprVar1 + 1)) {
- s5(c0);
- if (8 * floord(7 * exprVar1 + 7, 8) + 8 >= 7 * exprVar1 + c0) {
- s0(c0);
- s4(c0);
- s1(c0);
- s3(c0);
- s2(c0);
- }
+for (int c0 = 1; c0 <= 15; c0 += 1) {
+ if (8 * floord(7 * exprVar1 + 7, 8) + 8 >= 7 * exprVar1 + c0) {
+ s4(c0);
+ s0(c0);
+ s3(c0);
+ s2(c0);
+ s1(c0);
}
+ if (8 * floord(7 * exprVar1 + 7, 8) + 8 >= 7 * exprVar1 + c0 || (exprVar1 + 8 * floord(-exprVar1 + c0 - 1, 8) + 1 == c0 && c0 >= exprVar1 + 1))
+ s5(c0);
+}
diff --git a/test_inputs/codegen/omega/m12-1.c b/test_inputs/codegen/omega/m12-1.c
index 555fbfb3..eba7c8a6 100644
--- a/test_inputs/codegen/omega/m12-1.c
+++ b/test_inputs/codegen/omega/m12-1.c
@@ -1,12 +1,12 @@
{
for (int c1 = 1; c1 <= n; c1 += 1)
for (int c2 = 1; c2 <= m; c2 += 1) {
- s1(1, c1, c2, 0);
s0(1, c1, c2, 0);
+ s1(1, c1, c2, 0);
}
for (int c1 = 1; c1 <= n; c1 += 1) {
- s2(2, c1, 0, 0);
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) {
@@ -14,12 +14,12 @@
s4(3, c1, 1, c3);
}
for (int c3 = 1; c3 <= n; c3 += 1) {
- s6(3, c1, 2, c3);
s7(3, c1, 2, c3);
+ s6(3, c1, 2, c3);
}
}
for (int c1 = 1; c1 <= m; c1 += 1) {
- s9(4, c1, 0, 0);
s8(4, c1, 0, 0);
+ s9(4, c1, 0, 0);
}
}
diff --git a/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.c b/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.c
index 819493d9..0cfc22a0 100644
--- a/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.c
+++ b/test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.c
@@ -9,7 +9,7 @@
s0(1, -1, c2, 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(1000 * c1 + 4000 * c3 - 3999, 500 * c1 + 1); c4 <= min(min(2 * N - 4000 * c3 + 3995, N + T - 3), 1000 * c1 + 4000 * c3 - 3000); c4 += 1)
+ for (int c4 = max(1000 * c1 + 4000 * c3 - 3999, 500 * c1 + 1); c4 <= min(min(1000 * c1 + 4000 * c3 - 3000, 2 * N - 4000 * c3 + 3995), N + T - 3); c4 += 1)
for (int c5 = max(-N - 500 * c1 + c4 + 2, 0); 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(-((c1 + 9) / 8) + 2, -((T + 4000) / 4000) + 2); c3 <= floord(N - 500 * c1 - 3, 4000) + 1; c3 += 1)
diff --git a/test_inputs/codegen/omega/wak1-0.c b/test_inputs/codegen/omega/wak1-0.c
index 1ce48187..086c5619 100644
--- a/test_inputs/codegen/omega/wak1-0.c
+++ b/test_inputs/codegen/omega/wak1-0.c
@@ -1,27 +1,27 @@
{
- for (int c0 = a3; c0 <= min(min(a2 - 1, a1 - 1), b3); c0 += 1)
+ for (int c0 = a2; c0 <= min(min(a3 - 1, a1 - 1), b2); c0 += 1)
+ s1(c0);
+ for (int c0 = a3; c0 <= min(a1 - 1, b3); c0 += 1) {
+ if (c0 >= a2 && b2 >= c0)
+ s1(c0);
s2(c0);
- for (int c0 = a1; c0 <= min(a2 - 1, b1); c0 += 1) {
- s0(c0);
- if (c0 >= a3 && b3 >= c0)
- s2(c0);
}
- for (int c0 = max(max(b1 + 1, a1), a3); c0 <= min(a2 - 1, b3); c0 += 1)
- s2(c0);
- for (int c0 = a2; c0 <= b2; c0 += 1) {
- if (c0 >= a1 && b1 >= c0)
- s0(c0);
+ for (int c0 = max(max(b3 + 1, a3), a2); c0 <= min(a1 - 1, b2); c0 += 1)
s1(c0);
- if (c0 >= a3 && b3 >= c0)
- s2(c0);
- }
- for (int c0 = max(max(b2 + 1, a3), a2); c0 <= min(a1 - 1, b3); c0 += 1)
- s2(c0);
- for (int c0 = max(max(b2 + 1, a1), a2); c0 <= b1; c0 += 1) {
+ for (int c0 = a1; c0 <= b1; c0 += 1) {
s0(c0);
+ if (b2 >= c0 && c0 >= a2)
+ s1(c0);
if (b3 >= c0 && c0 >= a3)
s2(c0);
}
- for (int c0 = max(max(max(max(b1 + 1, b2 + 1), a1), a3), a2); c0 <= b3; c0 += 1)
+ for (int c0 = max(max(b1 + 1, a1), a2); c0 <= min(a3 - 1, b2); c0 += 1)
+ s1(c0);
+ for (int c0 = max(max(b1 + 1, a1), a3); c0 <= b3; c0 += 1) {
+ if (c0 >= a2 && b2 >= c0)
+ s1(c0);
s2(c0);
+ }
+ for (int c0 = max(max(max(max(b1 + 1, b3 + 1), a1), a3), a2); c0 <= b2; c0 += 1)
+ s1(c0);
}
diff --git a/test_inputs/codegen/omega/wak1-1.c b/test_inputs/codegen/omega/wak1-1.c
index 48a6f882..6314c44f 100644
--- a/test_inputs/codegen/omega/wak1-1.c
+++ b/test_inputs/codegen/omega/wak1-1.c
@@ -1,55 +1,55 @@
{
- for (int c0 = a2; c0 <= min(min(a3 - 1, a1 - 1), b2); c0 += 1)
- s1(c0);
- for (int c0 = a1; c0 <= min(min(a2 - 1, a3 - 1), b1); c0 += 1)
- s0(c0);
- for (int c0 = max(a1, a2); c0 <= min(min(a3 - 1, b2), b1); c0 += 1) {
- s0(c0);
- s1(c0);
- }
- for (int c0 = max(max(b1 + 1, a1), a2); c0 <= min(a3 - 1, b2); c0 += 1)
- s1(c0);
for (int c0 = a3; c0 <= min(min(a2 - 1, a1 - 1), b3); c0 += 1)
s2(c0);
+ for (int c0 = a2; c0 <= min(min(a3 - 1, a1 - 1), b2); c0 += 1)
+ s1(c0);
for (int c0 = max(a3, a2); c0 <= min(min(a1 - 1, b2), b3); c0 += 1) {
s1(c0);
s2(c0);
}
- for (int c0 = max(max(b3 + 1, a3), a2); c0 <= min(a1 - 1, b2); c0 += 1)
- s1(c0);
+ for (int c0 = max(max(b2 + 1, a3), a2); c0 <= min(a1 - 1, b3); c0 += 1)
+ s2(c0);
+ for (int c0 = a1; c0 <= min(min(a2 - 1, a3 - 1), b1); c0 += 1)
+ s0(c0);
for (int c0 = max(a1, a3); c0 <= min(min(a2 - 1, b3), b1); c0 += 1) {
s0(c0);
s2(c0);
}
- for (int c0 = max(max(b3 + 1, a1), a3); c0 <= min(a2 - 1, b1); c0 += 1)
- s0(c0);
- for (int c0 = max(max(a1, a3), a2); c0 <= min(min(b2, b3), b1); c0 += 1) {
+ for (int c0 = max(max(b1 + 1, a1), a3); c0 <= min(a2 - 1, b3); c0 += 1)
+ s2(c0);
+ for (int c0 = max(a1, a2); c0 <= min(min(a3 - 1, b2), b1); c0 += 1) {
s0(c0);
s1(c0);
- s2(c0);
}
- for (int c0 = max(max(max(b3 + 1, a1), a3), a2); c0 <= min(b2, b1); c0 += 1) {
+ for (int c0 = max(max(b1 + 1, a1), a2); c0 <= min(a3 - 1, b2); c0 += 1)
+ s1(c0);
+ for (int c0 = max(max(a1, a3), a2); c0 <= min(min(b2, b3), b1); c0 += 1) {
s0(c0);
s1(c0);
- }
- for (int c0 = max(max(b1 + 1, a1), a3); c0 <= min(a2 - 1, b3); c0 += 1)
s2(c0);
+ }
for (int c0 = max(max(max(b1 + 1, a1), a3), a2); c0 <= min(b2, b3); c0 += 1) {
s1(c0);
s2(c0);
}
- for (int c0 = max(max(max(max(b1 + 1, b3 + 1), a1), a3), a2); c0 <= b2; c0 += 1)
- s1(c0);
for (int c0 = max(max(b2 + 1, a1), a2); c0 <= min(a3 - 1, b1); c0 += 1)
s0(c0);
- for (int c0 = max(max(b2 + 1, a3), a2); c0 <= min(a1 - 1, b3); c0 += 1)
- s2(c0);
for (int c0 = max(max(max(b2 + 1, a1), a3), a2); c0 <= min(b3, b1); c0 += 1) {
s0(c0);
s2(c0);
}
- for (int c0 = max(max(max(max(b3 + 1, b2 + 1), a1), a3), a2); c0 <= b1; c0 += 1)
- s0(c0);
for (int c0 = max(max(max(max(b1 + 1, b2 + 1), a1), a3), a2); c0 <= b3; c0 += 1)
s2(c0);
+ for (int c0 = max(max(b3 + 1, a3), a2); c0 <= min(a1 - 1, b2); c0 += 1)
+ s1(c0);
+ for (int c0 = max(max(b3 + 1, a1), a3); c0 <= min(a2 - 1, b1); c0 += 1)
+ s0(c0);
+ for (int c0 = max(max(max(b3 + 1, a1), a3), a2); c0 <= min(b2, b1); c0 += 1) {
+ s0(c0);
+ s1(c0);
+ }
+ for (int c0 = max(max(max(max(b1 + 1, b3 + 1), a1), a3), a2); c0 <= b2; c0 += 1)
+ s1(c0);
+ for (int c0 = max(max(max(max(b3 + 1, b2 + 1), a1), a3), a2); c0 <= b1; c0 += 1)
+ s0(c0);
}
diff --git a/test_inputs/codegen/omega/x-0.c b/test_inputs/codegen/omega/x-0.c
index 16e6ed08..e009577e 100644
--- a/test_inputs/codegen/omega/x-0.c
+++ b/test_inputs/codegen/omega/x-0.c
@@ -7,8 +7,8 @@ for (int c0 = 1; c0 <= 11; c0 += 1) {
s0(c1, c0 + c1 - 8);
s1(c1, c0 - c1 + 1);
}
- for (int c1 = max(-c0 + 9, c0 + 1); c1 <= min(-c0 + 12, 8); c1 += 1)
- s0(c1, c0 + c1 - 8);
for (int c1 = max(-c0 + 13, c0 - 3); c1 <= min(c0, 8); c1 += 1)
s1(c1, c0 - c1 + 1);
+ for (int c1 = max(-c0 + 9, c0 + 1); c1 <= min(-c0 + 12, 8); c1 += 1)
+ s0(c1, c0 + c1 - 8);
}
diff --git a/test_inputs/codegen/omega/x-1.c b/test_inputs/codegen/omega/x-1.c
index 16e6ed08..e009577e 100644
--- a/test_inputs/codegen/omega/x-1.c
+++ b/test_inputs/codegen/omega/x-1.c
@@ -7,8 +7,8 @@ for (int c0 = 1; c0 <= 11; c0 += 1) {
s0(c1, c0 + c1 - 8);
s1(c1, c0 - c1 + 1);
}
- for (int c1 = max(-c0 + 9, c0 + 1); c1 <= min(-c0 + 12, 8); c1 += 1)
- s0(c1, c0 + c1 - 8);
for (int c1 = max(-c0 + 13, c0 - 3); c1 <= min(c0, 8); c1 += 1)
s1(c1, c0 - c1 + 1);
+ for (int c1 = max(-c0 + 9, c0 + 1); c1 <= min(-c0 + 12, 8); c1 += 1)
+ s0(c1, c0 + c1 - 8);
}
diff --git a/test_inputs/codegen/pldi2012/figure8_b.c b/test_inputs/codegen/pldi2012/figure8_b.c
index 21b90f2d..a112d190 100644
--- a/test_inputs/codegen/pldi2012/figure8_b.c
+++ b/test_inputs/codegen/pldi2012/figure8_b.c
@@ -1,5 +1,8 @@
-for (int c0 = 2; c0 <= n; c0 += 4) {
- s1(c0);
- if (n >= c0 + 2)
+{
+ for (int c0 = 2; c0 < n - 1; c0 += 4) {
+ s1(c0);
s0(c0 + 2);
+ }
+ if (n >= 4 * floord(n, 4) + 2 && n >= 0)
+ s1(-(n % 4) + n + 2);
}
diff --git a/test_inputs/codegen/separate.c b/test_inputs/codegen/separate.c
index 14d91be3..042e3e77 100644
--- a/test_inputs/codegen/separate.c
+++ b/test_inputs/codegen/separate.c
@@ -1,8 +1,8 @@
{
a(0);
for (int c0 = 1; c0 <= 9; c0 += 1) {
- a(c0);
b(c0 - 1);
+ a(c0);
}
b(9);
}