SHA256
3
0
forked from pool/isl

- Add patch to fix endianess issue on big-endian.

OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/isl?expand=0&rev=6
This commit is contained in:
Richard Biener 2012-12-10 08:31:48 +00:00 committed by Git OBS Bridge
parent 2c15b2df52
commit 9f1e9cc5f4
3 changed files with 710 additions and 1 deletions

View File

@ -0,0 +1,702 @@
From 39d7b91232de7df496918407fab545a797ebe79b Mon Sep 17 00:00:00 2001
From: Sven Verdoolaege <skimo@kotnet.org>
Date: Fri, 7 Dec 2012 17:51:13 +0100
Subject: [PATCH] isl_hash_dim: make result independent of endianness
The result computed by isl_hash_dim may affect the order of maps
in a union map, which may in turn affect the result of AST generation.
In particular, we would generate slightly different output depending
on endianness, causing the tests to fail on big endian machines since
the generated output is compared to output generated on a little endian
machine.
Instead of hashing in the dimensions of the space as integers,
we now only hash in the least significant byte.
This has some effect on the results of AST generation, but the output
should now be the same on little endian and big endian.
Reported-by: Richard Biener <rguenther@suse.de>
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
---
isl_space.c | 6 ++--
test_inputs/codegen/atomic.c | 4 +--
test_inputs/codegen/cloog/byu98-1-2-3.c | 10 +++---
test_inputs/codegen/cloog/cholesky2.c | 13 ++++---
test_inputs/codegen/cloog/christian.c | 4 +--
test_inputs/codegen/cloog/classen.c | 28 +++++++--------
test_inputs/codegen/cloog/dealII.c | 4 +--
test_inputs/codegen/cloog/dot2.c | 4 +--
test_inputs/codegen/cloog/gauss.c | 4 +--
test_inputs/codegen/cloog/reservoir-lim-lam1.c | 14 ++++----
test_inputs/codegen/cloog/vivien.c | 27 +++++++-------
test_inputs/codegen/cloog/vivien2.c | 17 ++++-----
test_inputs/codegen/cloog/yosr2.c | 4 +--
test_inputs/codegen/omega/iter9-0.c | 20 +++++------
test_inputs/codegen/omega/m12-1.c | 8 ++---
test_inputs/codegen/omega/ts1d-mp-i_ts-m_b-0.c | 2 +-
test_inputs/codegen/omega/wak1-0.c | 34 +++++++++---------
test_inputs/codegen/omega/wak1-1.c | 50 +++++++++++++-------------
test_inputs/codegen/omega/x-0.c | 4 +--
test_inputs/codegen/omega/x-1.c | 4 +--
test_inputs/codegen/pldi2012/figure8_b.c | 9 +++--
test_inputs/codegen/separate.c | 2 +-
22 files changed, 140 insertions(+), 132 deletions(-)
diff --git a/isl_space.c b/isl_space.c
index b0aca35..e6f957c 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 0b70279..73731c0 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 8c4a081..8e87cba 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 7834ff4..c746460 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 9c69a4b..4b4d5a3 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 ec3a1f4..fb12b9d 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 92fd640..0ae7bfa 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 f36aae2..4ab3145 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 4bbe42c..13a8e13 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 8f93f15..ae9848b 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 29470ed..55c1d79 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 3a679b6..b39b943 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 a4c0cd2..a52909c 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 bf6b887..2336f81 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 555fbfb..eba7c8a 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 819493d..0cfc22a 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 1ce4818..086c561 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 48a6f88..6314c44 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 16e6ed0..e009577 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 16e6ed0..e009577 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 21b90f2..a112d19 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 14d91be..042e3e7 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);
}
--
1.7.12.363.g53284de

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Mon Dec 10 08:27:16 UTC 2012 - rguenther@suse.com
- Add patch to fix endianess issue on big-endian.
-------------------------------------------------------------------
Tue Dec 4 15:37:14 UTC 2012 - rguenther@suse.com

View File

@ -25,9 +25,10 @@ Summary: Integer Set Library
License: MIT
Group: Development/Languages/C and C++
Url: http://www.kotnet.org/~skimo/isl/
Source: isl-0.11.tar.bz2
BuildRequires: gmp-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: isl-0.11.tar.bz2
Patch1: 0001-isl_hash_dim-make-result-independent-of-endianness.patch
%description
ISL is a library for manipulating sets and relations of integer points
@ -51,6 +52,7 @@ The shared library for the ISL.
%prep
%setup -q -n isl-0.11
%patch1 -p1
%build
%configure