From b9970fa6112962862f957a2d51d5ab262e9f8d74 Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Wed, 5 Jun 2013 18:15:55 +0200 Subject: [PATCH] update test case outputs pet_scop_cmp purposely tries not to depend too much on the exact output produced by isl so that we do not have to update the test case outputs each time isl is updated. However, to ease a visual inspection of subsequent changes to the pet output, we do perform such an update now. Signed-off-by: Sven Verdoolaege --- tests/QR.scop | 37 ++++++----- tests/arg.scop | 4 ++ tests/break.scop | 7 ++- tests/break2.scop | 9 ++- tests/break3.scop | 10 +-- tests/break4.scop | 64 +++++++++---------- tests/break5.scop | 13 ++-- tests/cast.scop | 2 + tests/ceild.scop | 5 +- tests/conditional_assignment.scop | 38 +++++++----- tests/conditional_assignment2.scop | 38 +++++++----- tests/continue.scop | 8 ++- tests/continue2.scop | 2 + tests/continue3.scop | 2 + tests/continue4.scop | 4 +- tests/continue5.scop | 4 +- tests/cuervo.scop | 4 +- ...itional_assignment.scop => data_dependent.scop} | 72 +++++++++------------- tests/data_dependent2.scop | 5 ++ tests/dec.scop | 7 ++- tests/dec2.scop | 7 ++- tests/dec3.scop | 7 ++- tests/dec4.scop | 7 ++- tests/decl.scop | 26 ++++---- tests/div_mod.scop | 2 + tests/dynamic_bound.scop | 8 ++- tests/dynamic_condition.scop | 4 +- tests/empty_domain.scop | 7 ++- tests/filter.scop | 2 + tests/filter2.scop | 2 + tests/filter3.scop | 2 + tests/float.scop | 2 + tests/floord.scop | 7 ++- tests/floord2.scop | 7 ++- tests/for_while.scop | 12 ++-- tests/for_while_dec.scop | 18 +++--- tests/for_while_inc.scop | 16 ++--- tests/for_while_overflow.scop | 8 ++- tests/for_while_unsigned.scop | 18 +++--- tests/for_while_unsigned2.scop | 18 +++--- tests/forward_substitution1.scop | 5 ++ tests/forward_substitution2.scop | 2 + tests/forward_substitution3.scop | 2 + tests/generic_condition.scop | 7 ++- tests/generic_condition2.scop | 9 ++- tests/implicit_condition.scop | 7 ++- tests/inc.scop | 7 ++- tests/inc2.scop | 9 ++- tests/{inc4.scop => inc3.scop} | 8 ++- tests/inc4.scop | 6 +- tests/inf.scop | 12 ++-- tests/inf2.scop | 12 ++-- tests/iterator_declaration.scop | 7 ++- tests/label.scop | 3 + tests/loop.scop | 3 + tests/loop2.scop | 3 + tests/loop3.scop | 5 +- tests/loop4.scop | 3 + tests/loop5.scop | 12 ++-- tests/loop_body.scop | 3 + tests/loop_body2.scop | 3 + tests/macro.scop | 2 + tests/matmul.scop | 17 +++-- tests/max.scop | 7 ++- tests/min.scop | 8 ++- tests/min2.scop | 7 ++- tests/mod.scop | 9 ++- tests/mod2.scop | 8 ++- tests/piecewise.scop | 9 ++- tests/piecewise2.scop | 9 ++- tests/propagate.scop | 10 ++- tests/quasi_affine.scop | 17 +++-- tests/scalar.scop | 3 + tests/scalar_inc.scop | 2 + tests/shortcut1.scop | 4 +- tests/shortcut2.scop | 4 +- tests/static.scop | 8 ++- tests/ternary.scop | 2 + tests/tobi1.scop | 7 ++- tests/tobi2.scop | 11 ++-- tests/unsigned1.scop | 10 ++- tests/{unsigned3.scop => unsigned2.scop} | 7 ++- tests/unsigned3.scop | 2 + tests/unsigned_break1.scop | 13 ++-- tests/unsigned_break2.scop | 15 +++-- tests/wdp.scop | 33 ++++++---- tests/while.scop | 12 ++-- tests/while_affine.scop | 10 +-- tests/while_break.scop | 42 +++++++------ tests/while_inc.scop | 8 ++- tests/while_overflow.scop | 8 ++- 91 files changed, 593 insertions(+), 354 deletions(-) copy tests/{conditional_assignment.scop => data_dependent.scop} (61%) copy tests/{inc4.scop => inc3.scop} (67%) copy tests/{unsigned3.scop => unsigned2.scop} (68%) diff --git a/tests/QR.scop b/tests/QR.scop index f6c5f58..8fb2263 100644 --- a/tests/QR.scop +++ b/tests/QR.scop @@ -1,35 +1,39 @@ +start: 285 +end: 840 context: '[N, K] -> { : N >= 8 and N <= 16 and K >= 100 and K <= 1000 }' context_value: '[K] -> { : K = 256 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { R[i0, i1] : i0 >= 0 and i1 >= 0 and i0 <= -1 + N and i1 <= -1 - + N }' + extent: '[N, K] -> { R[i0, i1] : i0 >= 0 and i0 <= -1 + N and i1 <= -1 + N and i1 + >= 0 }' element_type: int + element_size: 4 - context: '[N, K] -> { : K >= 0 and N >= 0 }' - extent: '[K, N] -> { X[i0, i1] : i0 >= 0 and i1 >= 0 and i0 <= -1 + K and i1 <= - -1 + N }' + extent: '[N, K] -> { X[i0, i1] : i1 <= -1 + N and i1 >= 0 and i0 <= -1 + K and i0 + >= 0 }' element_type: int + element_size: 4 - context: '{ : }' - extent: '{ t[] }' + extent: '[N, K] -> { t[] }' element_type: int + element_size: 4 statements: - line: 19 - domain: '[N] -> { S_0[j, i] : j >= 0 and j <= -1 + N and i >= j and i <= -1 + N - }' + domain: '[N, K] -> { S_0[j, i] : i >= j and j >= 0 and i <= -1 + N }' schedule: '[N] -> { S_0[j, i] -> [0, j, i] }' body: type: binary operation: = arguments: - type: access - relation: '[N] -> { S_0[j, i] -> R[j, i] }' + relation: '[N, K] -> { S_0[j, i] -> R[j, i] }' read: 0 write: 1 - type: call name: Zero - line: 23 - domain: '[N, K] -> { S_1[k, j] : k >= 0 and k <= -1 + K and j >= 0 and j <= -1 + - N }' + domain: '[N, K] -> { S_1[k, j] : j <= -1 + N and j >= 0 and k <= -1 + K and k >= + 0 }' schedule: '[N, K] -> { S_1[k, j] -> [1, k, j] }' body: type: binary @@ -42,8 +46,8 @@ statements: - type: call name: ReadMatrix - line: 27 - domain: '[N, K] -> { S_2[k, j] : k >= 0 and k <= -1 + K and j >= 0 and j <= -1 + - N }' + domain: '[N, K] -> { S_2[k, j] : j <= -1 + N and j >= 0 and k <= -1 + K and k >= + 0 }' schedule: '[N, K] -> { S_2[k, j] -> [2, k, j, 0] }' body: type: call @@ -79,8 +83,8 @@ statements: read: 0 write: 1 - line: 29 - domain: '[N, K] -> { S_3[k, j, i] : k >= 0 and k <= -1 + K and j >= 0 and j <= -1 - + N and i >= 1 + j and i <= -1 + N }' + domain: '[N, K] -> { S_3[k, j, i] : i >= 1 + j and j >= 0 and k <= -1 + K and k + >= 0 and i <= -1 + N }' schedule: '[N, K] -> { S_3[k, j, i] -> [2, k, j, 1, i] }' body: type: call @@ -120,14 +124,13 @@ statements: read: 0 write: 1 - line: 34 - domain: '[N] -> { S_4[j, i] : j >= 0 and j <= -1 + N and i >= j and i <= -1 + N - }' + domain: '[N, K] -> { S_4[j, i] : i >= j and j >= 0 and i <= -1 + N }' schedule: '[N] -> { S_4[j, i] -> [3, j, i] }' body: type: call name: WriteMatrix arguments: - type: access - relation: '[N] -> { S_4[j, i] -> R[j, i] }' + relation: '[N, K] -> { S_4[j, i] -> R[j, i] }' read: 1 write: 0 diff --git a/tests/arg.scop b/tests/arg.scop index 0f1330f..e0a3ecd 100644 --- a/tests/arg.scop +++ b/tests/arg.scop @@ -1,11 +1,15 @@ +start: 72 +end: 166 context: '{ : }' arrays: - context: '{ : }' extent: '{ b[i0] : i0 >= 0 and i0 <= 10 }' element_type: int + element_size: 4 - context: '{ : }' extent: '{ a[] }' element_type: int + element_size: 4 statements: - line: 11 domain: '{ S_0[i] : i >= 0 and i <= 9 }' diff --git a/tests/break.scop b/tests/break.scop index 045b7dd..630399b 100644 --- a/tests/break.scop +++ b/tests/break.scop @@ -1,3 +1,5 @@ +start: 33 +end: 179 context: '{ : }' arrays: - context: '{ : }' @@ -6,7 +8,7 @@ arrays: element_size: 4 statements: - line: 8 - domain: '{ S_0[i, j] : j >= 0 and j <= i and i <= 99 }' + domain: '{ S_0[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 and j <= i }' schedule: '{ S_0[i, j] -> [0, i, j, 0] }' body: type: binary @@ -21,7 +23,8 @@ statements: read: 1 write: 0 - line: 11 - domain: '{ S_1[i, j] : j >= 0 and j <= -1 + i and i <= 99 }' + domain: '{ S_1[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 and j <= -1 + i + }' schedule: '{ S_1[i, j] -> [0, i, j, 2] }' body: type: binary diff --git a/tests/break2.scop b/tests/break2.scop index c496cfd..a3013f0 100644 --- a/tests/break2.scop +++ b/tests/break2.scop @@ -1,3 +1,5 @@ +start: 33 +end: 208 context: '{ : }' arrays: - context: '{ : }' @@ -6,8 +8,8 @@ arrays: element_size: 4 statements: - line: 8 - domain: '{ S_0[i, j] : (j >= 0 and j <= i and i <= 99) or (j <= 99 and j >= 1 + - i and i >= 0 and i <= 9) }' + domain: '{ S_0[i, j] : (i >= 0 and i <= 99 and j >= 0 and j <= 99 and j <= i) or + (i >= 0 and i <= 9 and j >= 0 and j <= 99 and j >= 1 + i) }' schedule: '{ S_0[i, j] -> [0, i, j, 0] }' body: type: binary @@ -22,7 +24,8 @@ statements: read: 1 write: 0 - line: 13 - domain: '{ S_1[i, j] : j >= 0 and i >= 10 and j <= -1 + i and i <= 99 }' + domain: '{ S_1[i, j] : i >= 10 and i <= 99 and j >= 0 and j <= 99 and j <= -1 + + i }' schedule: '{ S_1[i, j] -> [0, i, j, 3] }' body: type: binary diff --git a/tests/break3.scop b/tests/break3.scop index 4129517..543de3c 100644 --- a/tests/break3.scop +++ b/tests/break3.scop @@ -1,7 +1,9 @@ +start: 43 +end: 186 context: '{ : }' arrays: - context: '{ : }' - extent: '{ __pet_test_0[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }' + extent: '{ __pet_test_0[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 @@ -28,7 +30,7 @@ statements: write: 0 arguments: - type: access - relation: '{ S_0[i, j] -> __pet_test_0[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_0[i, j] -> __pet_test_0[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - line: 11 @@ -46,7 +48,7 @@ statements: name: f arguments: - type: access - relation: '{ S_1[i, j] -> __pet_test_0[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_1[i, j] -> __pet_test_0[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - line: 13 @@ -73,7 +75,7 @@ statements: write: 0 arguments: - type: access - relation: '{ S_2[i, j] -> __pet_test_0[i, o1] : o1 >= 0 and o1 <= -1 + j; S_2[i, + relation: '{ S_2[i, j] -> __pet_test_0[i, o1] : o1 <= -1 + j and o1 >= 0; S_2[i, j] -> __pet_test_0[i, j] }' read: 1 write: 0 diff --git a/tests/break4.scop b/tests/break4.scop index 2836716..eacee78 100644 --- a/tests/break4.scop +++ b/tests/break4.scop @@ -1,79 +1,81 @@ +start: 43 +end: 357 context: '{ : }' arrays: - context: '{ : }' - extent: '{ __pet_test_0[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }' + extent: '{ __pet_test_0[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 uniquely_defined: 1 - context: '{ : }' - extent: '{ __pet_test_1[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }' + extent: '{ __pet_test_1[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 uniquely_defined: 1 - context: '{ : }' - extent: '{ __pet_test_5[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }' + extent: '{ __pet_test_5[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 uniquely_defined: 1 - context: '{ : }' - extent: '{ __pet_test_2[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }' + extent: '{ __pet_test_2[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 uniquely_defined: 1 - context: '{ : }' - extent: '{ __pet_test_3[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }' + extent: '{ __pet_test_3[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 uniquely_defined: 1 - context: '{ : }' - extent: '{ __pet_test_4[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }' + extent: '{ __pet_test_4[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 uniquely_defined: 1 - context: '{ : }' - extent: '{ __pet_test_6[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }' + extent: '{ __pet_test_6[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 uniquely_defined: 1 - context: '{ : }' - extent: '{ __pet_test_7[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }' + extent: '{ __pet_test_7[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 uniquely_defined: 1 - context: '{ : }' - extent: '{ __pet_test_8[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }' + extent: '{ __pet_test_8[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 uniquely_defined: 1 - context: '{ : }' - extent: '{ __pet_test_9[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }' + extent: '{ __pet_test_9[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 uniquely_defined: 1 - context: '{ : }' - extent: '{ __pet_test_10[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }' + extent: '{ __pet_test_10[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 uniquely_defined: 1 - context: '{ : }' - extent: '{ __pet_test_11[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }' + extent: '{ __pet_test_11[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 uniquely_defined: 1 - context: '{ : }' - extent: '{ __pet_test_12[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }' + extent: '{ __pet_test_12[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 @@ -100,7 +102,7 @@ statements: write: 0 arguments: - type: access - relation: '{ S_0[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_0[i, j] -> __pet_test_12[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - line: 12 @@ -118,7 +120,7 @@ statements: name: f arguments: - type: access - relation: '{ S_1[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_1[i, j] -> __pet_test_12[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - line: -1 @@ -148,7 +150,7 @@ statements: write: 0 arguments: - type: access - relation: '{ S_2[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_2[i, j] -> __pet_test_12[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - line: 15 @@ -166,7 +168,7 @@ statements: name: f arguments: - type: access - relation: '{ S_3[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_3[i, j] -> __pet_test_12[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - type: access @@ -189,7 +191,7 @@ statements: name: f arguments: - type: access - relation: '{ S_4[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_4[i, j] -> __pet_test_12[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - type: access @@ -218,7 +220,7 @@ statements: write: 0 arguments: - type: access - relation: '{ S_5[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_5[i, j] -> __pet_test_12[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - type: access @@ -249,7 +251,7 @@ statements: name: f arguments: - type: access - relation: '{ S_6[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_6[i, j] -> __pet_test_12[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - type: access @@ -282,7 +284,7 @@ statements: write: 0 arguments: - type: access - relation: '{ S_7[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_7[i, j] -> __pet_test_12[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - type: access @@ -334,7 +336,7 @@ statements: write: 0 arguments: - type: access - relation: '{ S_8[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_8[i, j] -> __pet_test_12[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - type: access @@ -363,7 +365,7 @@ statements: write: 0 arguments: - type: access - relation: '{ S_9[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_9[i, j] -> __pet_test_12[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - type: access @@ -410,7 +412,7 @@ statements: write: 0 arguments: - type: access - relation: '{ S_10[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_10[i, j] -> __pet_test_12[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - type: access @@ -449,7 +451,7 @@ statements: write: 0 arguments: - type: access - relation: '{ S_11[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_11[i, j] -> __pet_test_12[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - type: access @@ -488,7 +490,7 @@ statements: write: 0 arguments: - type: access - relation: '{ S_12[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_12[i, j] -> __pet_test_12[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - line: -1 @@ -523,7 +525,7 @@ statements: write: 0 arguments: - type: access - relation: '{ S_13[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_13[i, j] -> __pet_test_12[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - line: 25 @@ -541,7 +543,7 @@ statements: name: f arguments: - type: access - relation: '{ S_14[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_14[i, j] -> __pet_test_12[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - type: access @@ -580,7 +582,7 @@ statements: write: 0 arguments: - type: access - relation: '{ S_15[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_15[i, j] -> __pet_test_12[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - line: -1 @@ -615,7 +617,7 @@ statements: write: 0 arguments: - type: access - relation: '{ S_16[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_16[i, j] -> __pet_test_12[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - line: 27 @@ -642,7 +644,7 @@ statements: write: 0 arguments: - type: access - relation: '{ S_17[i, j] -> __pet_test_12[i, o1] : o1 >= 0 and o1 <= -1 + j }' + relation: '{ S_17[i, j] -> __pet_test_12[i, o1] : o1 <= -1 + j and o1 >= 0 }' read: 1 write: 0 - type: access diff --git a/tests/break5.scop b/tests/break5.scop index 6e4c523..5b0f5f3 100644 --- a/tests/break5.scop +++ b/tests/break5.scop @@ -1,3 +1,5 @@ +start: 33 +end: 269 context: '{ : }' arrays: - context: '{ : }' @@ -6,9 +8,10 @@ arrays: element_size: 4 statements: - line: 8 - domain: '{ S_0[i, j] : (j >= 0 and j <= i and i <= 99 and j <= 150 - i) or (j <= - 99 and j >= 1 + i and i >= 0 and i <= 9) or (j >= 151 - i and j <= i and i <= - 89) }' + domain: '{ S_0[i, j] : (i >= 0 and i <= 99 and j >= 0 and j <= 99 and j <= i and + j <= 150 - i) or (i >= 0 and i <= 9 and j >= 0 and j <= 99 and j >= 1 + i and + j <= 150 - i) or (i >= 0 and i <= 89 and j >= 151 - i and j <= 99 and j <= i) + }' schedule: '{ S_0[i, j] -> [0, i, j, 0] }' body: type: binary @@ -23,8 +26,8 @@ statements: read: 1 write: 0 - line: 17 - domain: '{ S_1[i, j] : j >= 0 and j <= 60 and i >= 10 and j <= -1 + i and i <= 99 - and j <= 149 - i }' + domain: '{ S_1[i, j] : i >= 10 and i <= 99 and j >= 0 and j <= 60 and j <= -1 + + i and j <= 149 - i }' schedule: '{ S_1[i, j] -> [0, i, j, 5] }' body: type: binary diff --git a/tests/cast.scop b/tests/cast.scop index 9536bb3..e12364d 100644 --- a/tests/cast.scop +++ b/tests/cast.scop @@ -1,3 +1,5 @@ +start: 37 +end: 80 context: '{ : }' arrays: - context: '{ : }' diff --git a/tests/ceild.scop b/tests/ceild.scop index 2551d02..3a9d49e 100644 --- a/tests/ceild.scop +++ b/tests/ceild.scop @@ -1,8 +1,11 @@ +start: 38 +end: 125 context: '[N] -> { : N >= 0 and N <= 2147483647 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 statements: - line: 8 domain: '[N] -> { S_0[i] : 2i <= -2 + N and 3i >= N }' diff --git a/tests/conditional_assignment.scop b/tests/conditional_assignment.scop index bb02d96..128223c 100644 --- a/tests/conditional_assignment.scop +++ b/tests/conditional_assignment.scop @@ -1,26 +1,34 @@ +start: 218 +end: 496 context: '[N, M] -> { : N >= 0 and M >= 0 and N <= 2147483647 and M <= 2147483647 }' arrays: - context: '[M, N] -> { : N >= 0 and M >= 0 }' - extent: '[N, M] -> { in1[i0, i1] : i0 >= 0 and i1 >= 0 and i0 <= -1 + N and i1 <= - -1 + M }' + extent: '[N, M] -> { in1[i0, i1] : i1 <= -1 + M and i1 >= 0 and i0 <= -1 + N and + i0 >= 0 }' element_type: int + element_size: 4 - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { in2[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N, M] -> { in2[i0] : i0 <= -1 + N and i0 >= 0 }' value_bounds: '{ [i0] : i0 >= -1 and i0 <= 1 }' element_type: int + element_size: 4 - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { A[i0, i1] : i0 >= 0 and i1 >= 0 and i0 <= -1 + N and i1 <= 9 }' + extent: '[N, M] -> { A[i0, i1] : i0 >= 0 and i0 <= -1 + N and i1 >= 0 and i1 <= + 9 }' element_type: int + element_size: 4 - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { C[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N, M] -> { C[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 - context: '{ : }' - extent: '{ m[] }' + extent: '[N, M] -> { m[] }' element_type: int + element_size: 4 statements: - line: 21 - domain: '[N, M] -> { S_0[i] : i >= 0 and i <= -1 + N }' + domain: '[N, M] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i, 0] }' body: type: binary @@ -42,8 +50,8 @@ statements: read: 1 write: 0 - line: 23 - domain: '[N, M] -> { S_1[i, j] : j >= 0 and i >= 0 and i <= -1 + N and j <= -1 + - M }' + domain: '[N, M] -> { S_1[i, j] : j <= -1 + M and j >= 0 and i <= -1 + N and i >= + 0 }' schedule: '[M, N] -> { S_1[i, j] -> [0, i, 1, j] }' body: type: binary @@ -68,7 +76,7 @@ statements: read: 1 write: 0 - line: 24 - domain: '[N, M] -> { S_2[i] : i >= 0 and i <= -1 + N }' + domain: '[N, M] -> { S_2[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_2[i] -> [0, i, 2] }' body: type: call @@ -101,7 +109,7 @@ statements: read: 1 write: 0 - line: 28 - domain: '[N, M] -> { S_4[i] : i >= 0 and i <= -1 + N }' + domain: '[N, M] -> { S_4[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_4[i] -> [2, i] }' body: type: binary @@ -114,8 +122,8 @@ statements: - type: ternary arguments: - type: access - relation: '[N, M] -> { [S_4[i] -> [i1]] -> [1] : i1 <= -1 + N - i and i1 >= - -i; [S_4[-1 + N] -> [1]] -> [0]; [S_4[0] -> [-1]] -> [0] }' + relation: '[N, M] -> { [S_4[i] -> [i1]] -> [1] : i1 >= -i and i1 <= -1 + N + - i; [S_4[-1 + N] -> [1]] -> [0]; [S_4[0] -> [-1]] -> [0] }' read: 1 write: 0 arguments: @@ -127,8 +135,8 @@ statements: name: f arguments: - type: access - relation: '[N, M] -> { [S_4[i] -> [i1]] -> A[i + i1, o1] : i1 <= -1 + N - - i and i1 >= -i }' + relation: '[N, M] -> { [S_4[i] -> [i1]] -> A[i + i1, o1] : i1 >= -i and + i1 <= -1 + N - i }' read: 1 write: 0 arguments: diff --git a/tests/conditional_assignment2.scop b/tests/conditional_assignment2.scop index f2f1e9e..b1ab5fb 100644 --- a/tests/conditional_assignment2.scop +++ b/tests/conditional_assignment2.scop @@ -1,23 +1,31 @@ +start: 225 +end: 507 context: '[N, M] -> { : N >= 0 and M >= 0 and N <= 2147483647 and M <= 2147483647 }' arrays: - context: '[M, N] -> { : N >= 0 and M >= 0 }' - extent: '[N, M] -> { in1[i0, i1] : i0 >= 0 and i1 >= 0 and i0 <= -1 + N and i1 <= - -1 + M }' + extent: '[N, M] -> { in1[i0, i1] : i1 <= -1 + M and i1 >= 0 and i0 <= -1 + N and + i0 >= 0 }' element_type: int + element_size: 4 - context: '{ : }' - extent: '{ in2[] }' + extent: '[N, M] -> { in2[] }' value_bounds: '{ [i0] : i0 >= -1 and i0 <= 1 }' element_type: int + element_size: 4 - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { A[i0, i1] : i0 >= 0 and i1 >= 0 and i0 <= -1 + N and i1 <= 9 }' + extent: '[N, M] -> { A[i0, i1] : i0 >= 0 and i0 <= -1 + N and i1 >= 0 and i1 <= + 9 }' element_type: int + element_size: 4 - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { C[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N, M] -> { C[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 - context: '{ : }' - extent: '{ m[] }' + extent: '[N, M] -> { m[] }' element_type: int + element_size: 4 statements: - line: 21 domain: '[N, M] -> { S_0[] }' @@ -33,7 +41,7 @@ statements: - type: call name: g2 - line: 23 - domain: '[N, M] -> { S_1[i] : i >= 0 and i <= -1 + N }' + domain: '[N, M] -> { S_1[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_1[i] -> [1, i, 0] }' body: type: binary @@ -55,8 +63,8 @@ statements: read: 1 write: 0 - line: 25 - domain: '[N, M] -> { S_2[i, j] : j >= 0 and i >= 0 and i <= -1 + N and j <= -1 + - M }' + domain: '[N, M] -> { S_2[i, j] : j <= -1 + M and j >= 0 and i <= -1 + N and i >= + 0 }' schedule: '[M, N] -> { S_2[i, j] -> [1, i, 1, j] }' body: type: binary @@ -81,7 +89,7 @@ statements: read: 1 write: 0 - line: 26 - domain: '[N, M] -> { S_3[i] : i >= 0 and i <= -1 + N }' + domain: '[N, M] -> { S_3[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_3[i] -> [1, i, 2] }' body: type: call @@ -114,7 +122,7 @@ statements: read: 1 write: 0 - line: 30 - domain: '[N, M] -> { S_5[i] : i >= 0 and i <= -1 + N }' + domain: '[N, M] -> { S_5[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_5[i] -> [3, i] }' body: type: binary @@ -127,8 +135,8 @@ statements: - type: ternary arguments: - type: access - relation: '[N, M] -> { [S_5[i] -> [i1]] -> [1] : i1 <= -1 + N - i and i1 >= - -i; [S_5[-1 + N] -> [1]] -> [0]; [S_5[0] -> [-1]] -> [0] }' + relation: '[N, M] -> { [S_5[i] -> [i1]] -> [1] : i1 >= -i and i1 <= -1 + N + - i; [S_5[-1 + N] -> [1]] -> [0]; [S_5[0] -> [-1]] -> [0] }' read: 1 write: 0 arguments: @@ -140,8 +148,8 @@ statements: name: f arguments: - type: access - relation: '[N, M] -> { [S_5[i] -> [i1]] -> A[i + i1, o1] : i1 <= -1 + N - - i and i1 >= -i }' + relation: '[N, M] -> { [S_5[i] -> [i1]] -> A[i + i1, o1] : i1 >= -i and + i1 <= -1 + N - i }' read: 1 write: 0 arguments: diff --git a/tests/continue.scop b/tests/continue.scop index 37ea589..6e2ec1e 100644 --- a/tests/continue.scop +++ b/tests/continue.scop @@ -1,3 +1,5 @@ +start: 33 +end: 182 context: '{ : }' arrays: - context: '{ : }' @@ -6,7 +8,7 @@ arrays: element_size: 4 statements: - line: 8 - domain: '{ S_0[i, j] : j >= 0 and j <= 99 and i >= 0 and i <= 99 }' + domain: '{ S_0[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' schedule: '{ S_0[i, j] -> [0, i, j, 0] }' body: type: binary @@ -21,8 +23,8 @@ statements: read: 1 write: 0 - line: 11 - domain: '{ S_1[i, j] : (j <= 99 and j >= 1 + i and i >= 0) or (j >= 0 and j <= -1 - + i and i <= 99) }' + domain: '{ S_1[i, j] : (i >= 0 and i <= 99 and j >= 0 and j <= 99 and j <= -1 + + i) or (i >= 0 and i <= 99 and j >= 0 and j <= 99 and j >= 1 + i) }' schedule: '{ S_1[i, j] -> [0, i, j, 2] }' body: type: binary diff --git a/tests/continue2.scop b/tests/continue2.scop index 7b0e9b6..a8761ac 100644 --- a/tests/continue2.scop +++ b/tests/continue2.scop @@ -1,3 +1,5 @@ +start: 47 +end: 289 context: '{ : }' arrays: - context: '{ : }' diff --git a/tests/continue3.scop b/tests/continue3.scop index 0b94505..899fc7a 100644 --- a/tests/continue3.scop +++ b/tests/continue3.scop @@ -1,3 +1,5 @@ +start: 47 +end: 215 context: '{ : }' arrays: - context: '{ : }' diff --git a/tests/continue4.scop b/tests/continue4.scop index ff5e77e..ada71c1 100644 --- a/tests/continue4.scop +++ b/tests/continue4.scop @@ -1,3 +1,5 @@ +start: 47 +end: 216 context: '{ : }' arrays: - context: '{ : }' @@ -116,7 +118,7 @@ statements: read: 1 write: 0 - type: access - relation: '{ [S_4[i] -> [0]] -> [0] : i <= 56 or i >= 58; [S_4[57] -> [0]] + relation: '{ [S_4[i] -> [0]] -> [0] : i >= 58 or i <= 56; [S_4[57] -> [0]] -> [1] }' read: 1 write: 0 diff --git a/tests/continue5.scop b/tests/continue5.scop index 90f7979..74b39c9 100644 --- a/tests/continue5.scop +++ b/tests/continue5.scop @@ -1,3 +1,5 @@ +start: 47 +end: 216 context: '{ : }' arrays: - context: '{ : }' @@ -98,7 +100,7 @@ statements: - type: ternary arguments: - type: access - relation: '{ S_4[i] -> [0] : i <= 56 or i >= 58; S_4[57] -> [1] }' + relation: '{ S_4[i] -> [0] : i >= 58 or i <= 56; S_4[57] -> [1] }' read: 1 write: 0 - type: access diff --git a/tests/cuervo.scop b/tests/cuervo.scop index 4473948..5d0fb3f 100644 --- a/tests/cuervo.scop +++ b/tests/cuervo.scop @@ -1,3 +1,5 @@ +start: 52 +end: 176 context: '[n, m] -> { : n <= 2147483647 and m <= 2147483647 - n and m >= -2147483648 and n >= -2147483648 and m <= 2147483647 }' arrays: @@ -15,7 +17,7 @@ arrays: element_size: 4 statements: - line: 6 - domain: '[n, m] -> { S_0[i, j] : j <= m and j >= 0 and i <= n and i >= 0 }' + domain: '[n, m] -> { S_0[i, j] : i >= 0 and j <= m and j >= 0 and i <= n }' schedule: '[m, n] -> { S_0[i, j] -> [0, i, j] }' body: type: binary diff --git a/tests/conditional_assignment.scop b/tests/data_dependent.scop similarity index 61% copy from tests/conditional_assignment.scop copy to tests/data_dependent.scop index bb02d96..5126cd5 100644 --- a/tests/conditional_assignment.scop +++ b/tests/data_dependent.scop @@ -1,26 +1,33 @@ -context: '[N, M] -> { : N >= 0 and M >= 0 and N <= 2147483647 and M <= 2147483647 - }' +start: 274 +end: 498 +context: '[N, M] -> { : M >= 10 and M <= 1000 and N >= 10 and N <= 1000 }' arrays: - context: '[M, N] -> { : N >= 0 and M >= 0 }' - extent: '[N, M] -> { in1[i0, i1] : i0 >= 0 and i1 >= 0 and i0 <= -1 + N and i1 <= - -1 + M }' + extent: '[N, M] -> { in1[i0, i1] : i1 <= -1 + M and i1 >= 0 and i0 <= -1 + N and + i0 >= 0 }' element_type: int + element_size: 4 - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { in2[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N, M] -> { in2[i0] : i0 <= -1 + N and i0 >= 0 }' value_bounds: '{ [i0] : i0 >= -1 and i0 <= 1 }' element_type: int + element_size: 4 - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { A[i0, i1] : i0 >= 0 and i1 >= 0 and i0 <= -1 + N and i1 <= 9 }' + extent: '[N, M] -> { A[i0, i1] : i0 >= 0 and i0 <= -1 + N and i1 >= 0 and i1 <= + 9 }' element_type: int + element_size: 4 - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { C[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N, M] -> { C[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 - context: '{ : }' - extent: '{ m[] }' + extent: '[N, M] -> { m[] }' element_type: int + element_size: 4 statements: -- line: 21 - domain: '[N, M] -> { S_0[i] : i >= 0 and i <= -1 + N }' +- line: 23 + domain: '[N, M] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i, 0] }' body: type: binary @@ -41,9 +48,9 @@ statements: relation: '[N, M] -> { S_0[i] -> [1] }' read: 1 write: 0 -- line: 23 - domain: '[N, M] -> { S_1[i, j] : j >= 0 and i >= 0 and i <= -1 + N and j <= -1 + - M }' +- line: 25 + domain: '[N, M] -> { S_1[i, j] : j <= -1 + M and j >= 0 and i <= -1 + N and i >= + 0 }' schedule: '[M, N] -> { S_1[i, j] -> [0, i, 1, j] }' body: type: binary @@ -67,8 +74,8 @@ statements: relation: '[N, M] -> { S_1[i, j] -> in1[i, j] }' read: 1 write: 0 -- line: 24 - domain: '[N, M] -> { S_2[i] : i >= 0 and i <= -1 + N }' +- line: 26 + domain: '[N, M] -> { S_2[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_2[i] -> [0, i, 2] }' body: type: call @@ -85,7 +92,7 @@ statements: relation: '[N, M] -> { S_2[i] -> A[i, o1] }' read: 0 write: 1 -- line: 26 +- line: 28 domain: '[N, M] -> { S_3[] }' schedule: '{ S_3[] -> [1] }' body: @@ -100,8 +107,8 @@ statements: relation: '[N, M] -> { S_3[] -> [0] }' read: 1 write: 0 -- line: 28 - domain: '[N, M] -> { S_4[i] : i >= 0 and i <= -1 + N }' +- line: 30 + domain: '[N, M] -> { S_4[i] : i <= -3 + N and i >= 0 }' schedule: '[N] -> { S_4[i] -> [2, i] }' body: type: binary @@ -111,34 +118,11 @@ statements: relation: '[N, M] -> { S_4[i] -> C[i] }' read: 0 write: 1 - - type: ternary + - type: call + name: f arguments: - type: access - relation: '[N, M] -> { [S_4[i] -> [i1]] -> [1] : i1 <= -1 + N - i and i1 >= - -i; [S_4[-1 + N] -> [1]] -> [0]; [S_4[0] -> [-1]] -> [0] }' - read: 1 - write: 0 - arguments: - - type: access - relation: '[N, M] -> { S_4[i] -> in2[i] }' - read: 1 - write: 0 - - type: call - name: f - arguments: - - type: access - relation: '[N, M] -> { [S_4[i] -> [i1]] -> A[i + i1, o1] : i1 <= -1 + N - - i and i1 >= -i }' - read: 1 - write: 0 - arguments: - - type: access - relation: '[N, M] -> { S_4[i] -> in2[i] }' - read: 1 - write: 0 - - type: access - relation: '[N, M] -> { [S_4[-1 + N] -> [1]] -> [0]; [S_4[0] -> [-1]] -> [0] - }' + relation: '[N, M] -> { [S_4[i] -> [i1]] -> A[1 + i + i1, o1] }' read: 1 write: 0 arguments: diff --git a/tests/data_dependent2.scop b/tests/data_dependent2.scop index 67429c3..0fc25f4 100644 --- a/tests/data_dependent2.scop +++ b/tests/data_dependent2.scop @@ -1,16 +1,21 @@ +start: 59 +end: 206 context: '{ : }' arrays: - context: '{ : }' extent: '{ __pet_test_0[i] : i >= 0 and i <= 9 }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int + element_size: 4 uniquely_defined: 1 - context: '{ : }' extent: '{ a[i0] : i0 >= 0 and i0 <= 9 }' element_type: int + element_size: 4 - context: '{ : }' extent: '{ N[] }' element_type: int + element_size: 4 statements: - line: 10 domain: '{ S_0[] }' diff --git a/tests/dec.scop b/tests/dec.scop index e7d87b1..f74be0b 100644 --- a/tests/dec.scop +++ b/tests/dec.scop @@ -1,11 +1,14 @@ +start: 38 +end: 109 context: '[N] -> { : N >= 0 and N <= 2147483647 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 statements: - line: 8 - domain: '[N] -> { S_0[i] : i >= 0 and i <= -1 + N }' + domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, -i] }' body: type: binary diff --git a/tests/dec2.scop b/tests/dec2.scop index e7d87b1..a4a2042 100644 --- a/tests/dec2.scop +++ b/tests/dec2.scop @@ -1,11 +1,14 @@ +start: 38 +end: 112 context: '[N] -> { : N >= 0 and N <= 2147483647 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 statements: - line: 8 - domain: '[N] -> { S_0[i] : i >= 0 and i <= -1 + N }' + domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, -i] }' body: type: binary diff --git a/tests/dec3.scop b/tests/dec3.scop index e7d87b1..d255422 100644 --- a/tests/dec3.scop +++ b/tests/dec3.scop @@ -1,11 +1,14 @@ +start: 38 +end: 113 context: '[N] -> { : N >= 0 and N <= 2147483647 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 statements: - line: 8 - domain: '[N] -> { S_0[i] : i >= 0 and i <= -1 + N }' + domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, -i] }' body: type: binary diff --git a/tests/dec4.scop b/tests/dec4.scop index 6281c6d..d1affd2 100644 --- a/tests/dec4.scop +++ b/tests/dec4.scop @@ -1,12 +1,15 @@ +start: 38 +end: 112 context: '[N] -> { : N >= 0 and N <= 2147483647 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 statements: - line: 8 domain: '[N] -> { S_0[i] : exists (e0 = [(-2 - N + i)/3]: 3e0 = -2 - N + i and i - >= 0 and i <= -1 + N) }' + <= -1 + N and i >= 0) }' schedule: '[N] -> { S_0[i] -> [0, -i] }' body: type: binary diff --git a/tests/decl.scop b/tests/decl.scop index 056c8ed..0742322 100644 --- a/tests/decl.scop +++ b/tests/decl.scop @@ -1,3 +1,5 @@ +start: 95 +end: 282 context: '[N, K, M] -> { : K >= 0 and N >= 0 and N <= 2147483647 and K <= 2147483647 and M <= 2147483647 and M >= -2147483648 }' arrays: @@ -11,17 +13,17 @@ arrays: element_type: float element_size: 4 - context: '[N] -> { : N >= 0 }' - extent: '[N, K, M] -> { B[i0, i1] : i1 >= 0 and i1 <= -1 + N and i0 >= 0 }' + extent: '[N, K, M] -> { B[i0, i1] : i1 >= 0 and i0 >= 0 and i1 <= -1 + N }' element_type: float element_size: 4 - context: '[N] -> { : N >= 0 }' - extent: '[N, K, M] -> { C[i0, i1] : i1 >= 0 and i1 <= -1 + N and i0 >= 0 }' + extent: '[N, K, M] -> { C[i0, i1] : i1 >= 0 and i0 >= 0 and i1 <= -1 + N }' element_type: float element_size: 4 statements: - line: 8 - domain: '[N, K, M] -> { S_0[i, j] : i >= 0 and i <= -1 + M and j >= 0 and j <= -1 - + N }' + domain: '[N, K, M] -> { S_0[i, j] : j <= -1 + N and j >= 0 and i <= -1 + M and i + >= 0 }' schedule: '[N, M] -> { S_0[i, j] -> [0, i, j, 0] }' body: type: binary @@ -36,8 +38,8 @@ statements: read: 1 write: 0 - line: 10 - domain: '[N, K, M] -> { S_1[i, j, k] : k >= 0 and j >= 0 and j <= -1 + N and k <= - -1 + K and i >= 0 and i <= -1 + M }' + domain: '[N, K, M] -> { S_1[i, j, k] : k <= -1 + K and k >= 0 and j <= -1 + N and + j >= 0 and i <= -1 + M and i >= 0 }' schedule: '[K, N, M] -> { S_1[i, j, k] -> [0, i, j, 1, k, 0, 0] }' body: type: unary @@ -48,8 +50,8 @@ statements: read: 0 write: 0 - line: 10 - domain: '[N, K, M] -> { S_2[i, j, k] : k >= 0 and j >= 0 and j <= -1 + N and k <= - -1 + K and i >= 0 and i <= -1 + M }' + domain: '[N, K, M] -> { S_2[i, j, k] : k <= -1 + K and k >= 0 and j <= -1 + N and + j >= 0 and i <= -1 + M and i >= 0 }' schedule: '[K, N, M] -> { S_2[i, j, k] -> [0, i, j, 1, k, 0, 1] }' body: type: binary @@ -71,8 +73,8 @@ statements: read: 1 write: 0 - line: 11 - domain: '[N, K, M] -> { S_4[i, j, k] : k >= 0 and j >= 0 and j <= -1 + N and k <= - -1 + K and i >= 0 and i <= -1 + M }' + domain: '[N, K, M] -> { S_4[i, j, k] : k <= -1 + K and k >= 0 and j <= -1 + N and + j >= 0 and i <= -1 + M and i >= 0 }' schedule: '[K, N, M] -> { S_4[i, j, k] -> [0, i, j, 1, k, 1] }' body: type: binary @@ -87,8 +89,8 @@ statements: read: 1 write: 0 - line: 10 - domain: '[N, K, M] -> { S_3[i, j, k] : k >= 0 and j >= 0 and j <= -1 + N and k <= - -1 + K and i >= 0 and i <= -1 + M }' + domain: '[N, K, M] -> { S_3[i, j, k] : k <= -1 + K and k >= 0 and j <= -1 + N and + j >= 0 and i <= -1 + M and i >= 0 }' schedule: '[K, N, M] -> { S_3[i, j, k] -> [0, i, j, 1, k, 2] }' body: type: unary diff --git a/tests/div_mod.scop b/tests/div_mod.scop index 5496ac0..5e48f6d 100644 --- a/tests/div_mod.scop +++ b/tests/div_mod.scop @@ -1,3 +1,5 @@ +start: 30 +end: 232 context: '{ : }' arrays: - context: '{ : }' diff --git a/tests/dynamic_bound.scop b/tests/dynamic_bound.scop index 2698a79..fbe4387 100644 --- a/tests/dynamic_bound.scop +++ b/tests/dynamic_bound.scop @@ -1,3 +1,5 @@ +start: 143 +end: 351 context: '{ : }' arrays: - context: '{ : }' @@ -11,7 +13,7 @@ arrays: element_type: int element_size: 4 - context: '{ : }' - extent: '{ a[i0, i1] : i1 >= 0 and i1 <= 99 and i0 >= 0 and i0 <= 99 }' + extent: '{ a[i0, i1] : i0 >= 0 and i1 >= 0 and i0 <= 99 and i1 <= 99 }' element_type: int element_size: 4 statements: @@ -42,7 +44,7 @@ statements: - type: call name: g - line: 17 - domain: '{ [S_4[i, j] -> [N, M]] : N >= 1 + i and j >= 0 and i >= 0 and M >= 1 + + domain: '{ [S_4[i, j] -> [N, M]] : i >= 0 and j >= 0 and N >= 1 + i and M >= 1 + j }' schedule: '{ S_4[i, j] -> [2, i, j] }' body: @@ -74,7 +76,7 @@ statements: read: 1 write: 0 - line: 20 - domain: '{ [S_7[i, j] -> [N, M]] : N >= 1 + i and j >= 0 and i >= 0 and M >= 1 + + domain: '{ [S_7[i, j] -> [N, M]] : i >= 0 and j >= 0 and N >= 1 + i and M >= 1 + j }' schedule: '{ S_7[i, j] -> [3, i, j] }' body: diff --git a/tests/dynamic_condition.scop b/tests/dynamic_condition.scop index d2977a5..f9dda06 100644 --- a/tests/dynamic_condition.scop +++ b/tests/dynamic_condition.scop @@ -1,3 +1,5 @@ +start: 50 +end: 174 context: '{ : }' arrays: - context: '{ : }' @@ -23,7 +25,7 @@ statements: - type: call name: f - line: 12 - domain: '{ [S_3[i] -> [j]] : j >= 0 and j <= 1 and i >= 0 and i <= 99 }' + domain: '{ [S_3[i] -> [j]] : i >= 0 and i <= 99 and j >= 0 and j <= 1 }' schedule: '{ S_3[i] -> [0, i, 1, 0] }' body: type: binary diff --git a/tests/empty_domain.scop b/tests/empty_domain.scop index 7ccb4a1..c6e3c04 100644 --- a/tests/empty_domain.scop +++ b/tests/empty_domain.scop @@ -1,8 +1,11 @@ +start: 38 +end: 114 context: '[N] -> { : N >= 0 and N <= 2147483647 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 statements: - line: 9 domain: '[N] -> { S_0[i] : 1 = 0 }' @@ -16,6 +19,6 @@ statements: read: 0 write: 1 - type: access - relation: '[N] -> { S_0[i] -> [o0] : 1 = 0 }' + relation: '[N] -> { S_0[i] -> [i''] : 1 = 0 }' read: 1 write: 0 diff --git a/tests/filter.scop b/tests/filter.scop index 4533ba7..9b49f59 100644 --- a/tests/filter.scop +++ b/tests/filter.scop @@ -1,3 +1,5 @@ +start: 46 +end: 102 context: '{ : }' arrays: - context: '{ : }' diff --git a/tests/filter2.scop b/tests/filter2.scop index ce45ef9..7ffec0d 100644 --- a/tests/filter2.scop +++ b/tests/filter2.scop @@ -1,3 +1,5 @@ +start: 37 +end: 97 context: '{ : }' arrays: - context: '{ : }' diff --git a/tests/filter3.scop b/tests/filter3.scop index ec0620f..9e82c6c 100644 --- a/tests/filter3.scop +++ b/tests/filter3.scop @@ -1,3 +1,5 @@ +start: 51 +end: 125 context: '{ : }' arrays: - context: '{ : }' diff --git a/tests/float.scop b/tests/float.scop index b52ba04..5d9f605 100644 --- a/tests/float.scop +++ b/tests/float.scop @@ -1,3 +1,5 @@ +start: 24 +end: 75 context: '{ : }' arrays: - context: '{ : }' diff --git a/tests/floord.scop b/tests/floord.scop index 57ce6fd..ee33bf8 100644 --- a/tests/floord.scop +++ b/tests/floord.scop @@ -1,11 +1,14 @@ +start: 38 +end: 115 context: '[N] -> { : N >= 0 and N <= 2147483647 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 statements: - line: 8 - domain: '[N] -> { S_0[i] : i >= 0 and 2i <= -2 + N }' + domain: '[N] -> { S_0[i] : 2i <= -2 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: type: binary diff --git a/tests/floord2.scop b/tests/floord2.scop index efbbfbb..2cfaa7f 100644 --- a/tests/floord2.scop +++ b/tests/floord2.scop @@ -1,11 +1,14 @@ +start: 101 +end: 178 context: '[N] -> { : N >= 0 and N <= 2147483647 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 statements: - line: 10 - domain: '[N] -> { S_0[i] : i >= 0 and 2i <= -2 + N }' + domain: '[N] -> { S_0[i] : 2i <= -2 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: type: binary diff --git a/tests/for_while.scop b/tests/for_while.scop index 03dbc2a..ad209f4 100644 --- a/tests/for_while.scop +++ b/tests/for_while.scop @@ -1,7 +1,9 @@ +start: 83 +end: 231 context: '[n] -> { : n <= 2147483647 and n >= -2147483648 }' arrays: - context: '{ : }' - extent: '[n] -> { __pet_test_0[x1, x2] : x1 >= 0 and x1 <= -1 + n and x2 >= 0 }' + extent: '[n] -> { __pet_test_0[x1, x2] : x1 <= -1 + n and x1 >= 0 and x2 >= 0 }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 @@ -12,7 +14,7 @@ arrays: element_size: 4 statements: - line: 12 - domain: '[n] -> { S1[x1] : x1 >= 0 and x1 <= -1 + n }' + domain: '[n] -> { S1[x1] : x1 <= -1 + n and x1 >= 0 }' schedule: '[n] -> { S1[x1] -> [0, x1, 0] }' body: type: binary @@ -25,7 +27,7 @@ statements: - type: call name: f - line: 13 - domain: '[n] -> { [S_1[x1, x2] -> [1]] : x1 >= 0 and x1 <= -1 + n and x2 >= 0 }' + domain: '[n] -> { [S_1[x1, x2] -> [1]] : x1 <= -1 + n and x1 >= 0 and x2 >= 0 }' schedule: '[n] -> { S_1[x1, x2] -> [0, x1, 1, x2, 0] }' body: type: binary @@ -53,7 +55,7 @@ statements: read: 1 write: 0 - line: 14 - domain: '[n] -> { [S2[x1, x2] -> [1]] : x1 >= 0 and x1 <= -1 + n and x2 >= 0 }' + domain: '[n] -> { [S2[x1, x2] -> [1]] : x1 <= -1 + n and x1 >= 0 and x2 >= 0 }' schedule: '[n] -> { S2[x1, x2] -> [0, x1, 1, x2, 1, 0] }' body: type: binary @@ -77,7 +79,7 @@ statements: read: 1 write: 0 - line: 16 - domain: '[n] -> { R[x1] : x1 >= 0 and x1 <= -1 + n }' + domain: '[n] -> { R[x1] : x1 <= -1 + n and x1 >= 0 }' schedule: '[n] -> { R[x1] -> [0, x1, 2] }' body: type: call diff --git a/tests/for_while_dec.scop b/tests/for_while_dec.scop index 72c5796..86c2ba9 100644 --- a/tests/for_while_dec.scop +++ b/tests/for_while_dec.scop @@ -1,8 +1,10 @@ +start: 83 +end: 234 context: '[n] -> { : n <= 2147483647 and n >= -2147483648 }' arrays: - context: '{ : }' extent: '[n] -> { __pet_test_0[x1, x2] : exists (e0 = [(x2)/3]: 3e0 = x2 and x1 - >= 0 and x1 <= -1 + n and x2 <= 9) }' + <= -1 + n and x1 >= 0 and x2 <= 9) }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 @@ -13,7 +15,7 @@ arrays: element_size: 4 statements: - line: 12 - domain: '[n] -> { S1[x1] : x1 >= 0 and x1 <= -1 + n }' + domain: '[n] -> { S1[x1] : x1 <= -1 + n and x1 >= 0 }' schedule: '[n] -> { S1[x1] -> [0, x1, 0] }' body: type: binary @@ -27,7 +29,7 @@ statements: name: f - line: 13 domain: '[n] -> { [S_1[x1, x2] -> [1]] : exists (e0 = [(x2)/3]: 3e0 = x2 and x1 - >= 0 and x1 <= -1 + n and x2 <= 9) }' + <= -1 + n and x1 >= 0 and x2 <= 9) }' schedule: '[n] -> { S_1[x1, x2] -> [0, x1, 1, -x2, 0] }' body: type: binary @@ -51,12 +53,12 @@ statements: arguments: - type: access relation: '[n] -> { S_1[x1, x2] -> __pet_test_0[x1, o1] : exists (e0 = [(o1)/3]: - 3e0 = o1 and o1 <= 9 and o1 >= 3 + x2) }' + 3e0 = o1 and o1 >= 3 + x2 and o1 <= 9) }' read: 1 write: 0 - line: 14 - domain: '[n] -> { [S2[x1, x2] -> [1]] : exists (e0 = [(x2)/3]: 3e0 = x2 and x1 >= - 0 and x1 <= -1 + n and x2 <= 9) }' + domain: '[n] -> { [S2[x1, x2] -> [1]] : exists (e0 = [(x2)/3]: 3e0 = x2 and x1 <= + -1 + n and x1 >= 0 and x2 <= 9) }' schedule: '[n] -> { S2[x1, x2] -> [0, x1, 1, -x2, 1, 0] }' body: type: binary @@ -76,11 +78,11 @@ statements: arguments: - type: access relation: '[n] -> { S2[x1, x2] -> __pet_test_0[x1, o1] : exists (e0 = [(o1)/3]: - 3e0 = o1 and o1 <= 9 and o1 >= x2) }' + 3e0 = o1 and o1 >= x2 and o1 <= 9) }' read: 1 write: 0 - line: 16 - domain: '[n] -> { R[x1] : x1 >= 0 and x1 <= -1 + n }' + domain: '[n] -> { R[x1] : x1 <= -1 + n and x1 >= 0 }' schedule: '[n] -> { R[x1] -> [0, x1, 2] }' body: type: call diff --git a/tests/for_while_inc.scop b/tests/for_while_inc.scop index 4d9b82a..eb1ae8a 100644 --- a/tests/for_while_inc.scop +++ b/tests/for_while_inc.scop @@ -1,8 +1,10 @@ +start: 83 +end: 234 context: '[n] -> { : n <= 2147483647 and n >= -2147483648 }' arrays: - context: '{ : }' extent: '[n] -> { __pet_test_0[x1, x2] : exists (e0 = [(-1 + x2)/2]: 2e0 = -1 + - x2 and x1 >= 0 and x1 <= -1 + n and x2 >= 9) }' + x2 and x1 <= -1 + n and x1 >= 0 and x2 >= 9) }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 @@ -13,7 +15,7 @@ arrays: element_size: 4 statements: - line: 12 - domain: '[n] -> { S1[x1] : x1 >= 0 and x1 <= -1 + n }' + domain: '[n] -> { S1[x1] : x1 <= -1 + n and x1 >= 0 }' schedule: '[n] -> { S1[x1] -> [0, x1, 0] }' body: type: binary @@ -27,7 +29,7 @@ statements: name: f - line: 13 domain: '[n] -> { [S_1[x1, x2] -> [1]] : exists (e0 = [(-1 + x2)/2]: 2e0 = -1 + - x2 and x1 >= 0 and x1 <= -1 + n and x2 >= 9) }' + x2 and x1 <= -1 + n and x1 >= 0 and x2 >= 9) }' schedule: '[n] -> { S_1[x1, x2] -> [0, x1, 1, x2, 0] }' body: type: binary @@ -51,12 +53,12 @@ statements: arguments: - type: access relation: '[n] -> { S_1[x1, x2] -> __pet_test_0[x1, o1] : exists (e0 = [(-1 + - o1)/2]: 2e0 = -1 + o1 and o1 <= -2 + x2 and o1 >= 9) }' + o1)/2]: 2e0 = -1 + o1 and o1 >= 9 and o1 <= -2 + x2) }' read: 1 write: 0 - line: 14 domain: '[n] -> { [S2[x1, x2] -> [1]] : exists (e0 = [(-1 + x2)/2]: 2e0 = -1 + x2 - and x1 >= 0 and x1 <= -1 + n and x2 >= 9) }' + and x1 <= -1 + n and x1 >= 0 and x2 >= 9) }' schedule: '[n] -> { S2[x1, x2] -> [0, x1, 1, x2, 1, 0] }' body: type: binary @@ -76,11 +78,11 @@ statements: arguments: - type: access relation: '[n] -> { S2[x1, x2] -> __pet_test_0[x1, o1] : exists (e0 = [(-1 + o1)/2]: - 2e0 = -1 + o1 and o1 <= x2 and o1 >= 9) }' + 2e0 = -1 + o1 and o1 >= 9 and o1 <= x2) }' read: 1 write: 0 - line: 16 - domain: '[n] -> { R[x1] : x1 >= 0 and x1 <= -1 + n }' + domain: '[n] -> { R[x1] : x1 <= -1 + n and x1 >= 0 }' schedule: '[n] -> { R[x1] -> [0, x1, 2] }' body: type: call diff --git a/tests/for_while_overflow.scop b/tests/for_while_overflow.scop index 75446b7..4f09ffe 100644 --- a/tests/for_while_overflow.scop +++ b/tests/for_while_overflow.scop @@ -1,3 +1,5 @@ +start: 74 +end: 191 context: '[N] -> { : N <= 2147483647 and N >= -2147483648 }' arrays: - context: '{ : }' @@ -41,12 +43,12 @@ statements: name: t arguments: - type: access - relation: '[N] -> { S_1[T] -> __pet_test_0[o0] : o0 <= -1 + T and o0 >= 0 }' + relation: '[N] -> { S_1[T] -> __pet_test_0[o0] : o0 >= 0 and o0 <= -1 + T }' read: 1 write: 0 - line: 14 - domain: '[N] -> { [S_2[T, i] -> [1]] : T >= 0 and i <= -1 + 2N and N <= 1073741823 - and i >= 0 }' + domain: '[N] -> { [S_2[T, i] -> [1]] : T >= 0 and i >= 0 and N <= 1073741823 and + i <= -1 + 2N }' schedule: '[N] -> { S_2[T, i] -> [1, T, 1, 0, i] }' body: type: binary diff --git a/tests/for_while_unsigned.scop b/tests/for_while_unsigned.scop index ed194ab..169c298 100644 --- a/tests/for_while_unsigned.scop +++ b/tests/for_while_unsigned.scop @@ -1,8 +1,10 @@ +start: 83 +end: 244 context: '[n] -> { : n <= 2147483647 and n >= -2147483648 }' arrays: - context: '{ : }' extent: '[n] -> { __pet_test_0[x1, x2] : exists (e0 = [(x2)/3]: 3e0 = x2 and x1 - >= 0 and x1 <= -1 + n and x2 <= 9) }' + <= -1 + n and x1 >= 0 and x2 <= 9) }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 @@ -13,7 +15,7 @@ arrays: element_size: 4 statements: - line: 12 - domain: '[n] -> { S1[x1] : x1 >= 0 and x1 <= -1 + n }' + domain: '[n] -> { S1[x1] : x1 <= -1 + n and x1 >= 0 }' schedule: '[n] -> { S1[x1] -> [0, x1, 0] }' body: type: binary @@ -27,7 +29,7 @@ statements: name: f - line: 13 domain: '[n] -> { [S_1[x1, x2] -> [1]] : exists (e0 = [(x2)/3]: 3e0 = x2 and x1 - >= 0 and x1 <= -1 + n and x2 <= 9) }' + <= -1 + n and x1 >= 0 and x2 <= 9) }' schedule: '[n] -> { S_1[x1, x2] -> [0, x1, 1, -x2, 0] }' body: type: binary @@ -52,12 +54,12 @@ statements: arguments: - type: access relation: '[n] -> { S_1[x1, x2] -> __pet_test_0[x1, o1] : exists (e0 = [(o1)/3]: - 3e0 = o1 and o1 <= 9 and o1 >= 3 + x2) }' + 3e0 = o1 and o1 >= 3 + x2 and o1 <= 9) }' read: 1 write: 0 - line: 14 - domain: '[n] -> { [S2[x1, x2] -> [1]] : exists (e0 = [(x2)/3]: 3e0 = x2 and x1 >= - 0 and x1 <= -1 + n and x2 <= 9) }' + domain: '[n] -> { [S2[x1, x2] -> [1]] : exists (e0 = [(x2)/3]: 3e0 = x2 and x1 <= + -1 + n and x1 >= 0 and x2 <= 9) }' schedule: '[n] -> { S2[x1, x2] -> [0, x1, 1, -x2, 1, 0] }' body: type: binary @@ -77,11 +79,11 @@ statements: arguments: - type: access relation: '[n] -> { S2[x1, x2] -> __pet_test_0[x1, o1] : exists (e0 = [(o1)/3]: - 3e0 = o1 and o1 <= 9 and o1 >= x2) }' + 3e0 = o1 and o1 >= x2 and o1 <= 9) }' read: 1 write: 0 - line: 16 - domain: '[n] -> { R[x1] : x1 >= 0 and x1 <= -1 + n }' + domain: '[n] -> { R[x1] : x1 <= -1 + n and x1 >= 0 }' schedule: '[n] -> { R[x1] -> [0, x1, 2] }' body: type: call diff --git a/tests/for_while_unsigned2.scop b/tests/for_while_unsigned2.scop index 740e79c..9d41d52 100644 --- a/tests/for_while_unsigned2.scop +++ b/tests/for_while_unsigned2.scop @@ -1,14 +1,16 @@ +start: 100 +end: 316 context: '[n] -> { : n <= 2147483647 and n >= -2147483648 }' arrays: - context: '{ : }' extent: '[n] -> { __pet_test_0[x1, x2] : exists (e0 = [(x2)/3]: 3e0 = x2 and x1 - >= 0 and x1 <= -1 + n and x2 <= 9) }' + <= -1 + n and x1 >= 0 and x2 <= 9) }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 uniquely_defined: 1 - context: '{ : }' - extent: '[n] -> { a[i0, i1] : i1 <= 255 and i0 >= 0 and i1 >= 0 }' + extent: '[n] -> { a[i0, i1] : i0 >= 0 and i1 <= 255 and i1 >= 0 }' element_type: int element_size: 4 - context: '{ : }' @@ -17,7 +19,7 @@ arrays: element_size: 4 statements: - line: 12 - domain: '[n] -> { S1[x1] : x1 >= 0 and x1 <= -1 + n }' + domain: '[n] -> { S1[x1] : x1 <= -1 + n and x1 >= 0 }' schedule: '[n] -> { S1[x1] -> [0, x1, 0] }' body: type: binary @@ -31,7 +33,7 @@ statements: name: f - line: 13 domain: '[n] -> { [S_1[x1, x2] -> [1]] : exists (e0 = [(x2)/3]: 3e0 = x2 and x1 - >= 0 and x1 <= -1 + n and x2 <= 9) }' + <= -1 + n and x1 >= 0 and x2 <= 9) }' schedule: '[n] -> { S_1[x1, x2] -> [0, x1, 1, -x2, 0] }' body: type: binary @@ -56,12 +58,12 @@ statements: arguments: - type: access relation: '[n] -> { S_1[x1, x2] -> __pet_test_0[x1, o1] : exists (e0 = [(o1)/3]: - 3e0 = o1 and o1 <= 9 and o1 >= 3 + x2) }' + 3e0 = o1 and o1 >= 3 + x2 and o1 <= 9) }' read: 1 write: 0 - line: 15 domain: '[n] -> { [S2[x1, x2, x3] -> [1]] : exists (e0 = [(255 - x2)/256], e1 = - [(x2)/3]: 3e1 = x2 and x3 >= 0 and x1 <= -1 + n and x1 >= 0 and x2 <= 9 and 256e0 + [(x2)/3]: 3e1 = x2 and x3 >= 0 and x1 >= 0 and x1 <= -1 + n and x2 <= 9 and 256e0 >= -x2 + x3 and 256e0 <= 255 - x2 and 256e0 >= -x2) }' schedule: '[n] -> { S2[x1, x2, x3] -> [0, x1, 1, -x2, 1, 0, x3] }' body: @@ -91,11 +93,11 @@ statements: arguments: - type: access relation: '[n] -> { S2[x1, x2, x3] -> __pet_test_0[x1, o1] : exists (e0 = [(o1)/3]: - 3e0 = o1 and o1 <= 9 and o1 >= x2) }' + 3e0 = o1 and o1 >= x2 and o1 <= 9) }' read: 1 write: 0 - line: 17 - domain: '[n] -> { R[x1] : x1 >= 0 and x1 <= -1 + n }' + domain: '[n] -> { R[x1] : x1 <= -1 + n and x1 >= 0 }' schedule: '[n] -> { R[x1] -> [0, x1, 2] }' body: type: call diff --git a/tests/forward_substitution1.scop b/tests/forward_substitution1.scop index 62d01f4..e4b1d65 100644 --- a/tests/forward_substitution1.scop +++ b/tests/forward_substitution1.scop @@ -1,14 +1,19 @@ +start: 31 +end: 95 context: '{ : }' arrays: - context: '{ : }' extent: '{ a[i0] : i0 >= 0 and i0 <= 9 }' element_type: int + element_size: 4 - context: '{ : }' extent: '{ b[] }' element_type: int + element_size: 4 - context: '{ : }' extent: '{ c[] }' element_type: int + element_size: 4 statements: - line: 5 domain: '{ S_0[] }' diff --git a/tests/forward_substitution2.scop b/tests/forward_substitution2.scop index dd0a054..15748a1 100644 --- a/tests/forward_substitution2.scop +++ b/tests/forward_substitution2.scop @@ -1,3 +1,5 @@ +start: 36 +end: 92 context: '{ : }' arrays: - context: '{ : }' diff --git a/tests/forward_substitution3.scop b/tests/forward_substitution3.scop index b60c444..d817d14 100644 --- a/tests/forward_substitution3.scop +++ b/tests/forward_substitution3.scop @@ -1,3 +1,5 @@ +start: 25 +end: 97 context: '{ : }' arrays: - context: '{ : }' diff --git a/tests/generic_condition.scop b/tests/generic_condition.scop index de34353..21cea01 100644 --- a/tests/generic_condition.scop +++ b/tests/generic_condition.scop @@ -1,11 +1,14 @@ +start: 35 +end: 101 context: '[N] -> { : N <= 2147483647 and N >= -2147483648 }' arrays: - context: '{ : }' - extent: '{ a[] }' + extent: '[N] -> { a[] }' element_type: int + element_size: 4 statements: - line: 8 - domain: '[N] -> { S_0[i] : i >= 0 and N <= -1 }' + domain: '[N] -> { S_0[i] : N <= -1 and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: type: binary diff --git a/tests/generic_condition2.scop b/tests/generic_condition2.scop index df67fa3..a579d19 100644 --- a/tests/generic_condition2.scop +++ b/tests/generic_condition2.scop @@ -1,13 +1,16 @@ +start: 38 +end: 144 context: '{ : }' arrays: - context: '{ : }' extent: '{ a[] }' element_type: int + element_size: 4 statements: - line: 9 - domain: '{ S_0[i, j] : (i >= 0 and i <= 4 and j >= i and j <= 0) or (exists (e0 - = [(2 + 4i)/5]: i >= 2 and i <= 4 and j >= i and 5e0 <= 2 + 4i and 5e0 >= -2 + - 4i and 5e0 <= 5i - j)) }' + domain: '{ S_0[i, j] : (exists (e0 = [(2 + 4i)/5]: i >= 3 and i <= 4 and j >= i + and j <= 2147483647 and 5e0 <= 5i - j and 5e0 <= 2 + 4i and 5e0 >= -2 + 4i)) or + (i >= 0 and i <= 2 and j >= i and j <= 0) }' schedule: '{ S_0[i, j] -> [0, i, j] }' body: type: binary diff --git a/tests/implicit_condition.scop b/tests/implicit_condition.scop index 7843452..d559dd7 100644 --- a/tests/implicit_condition.scop +++ b/tests/implicit_condition.scop @@ -1,11 +1,14 @@ +start: 38 +end: 114 context: '[N] -> { : N >= 0 and N <= 2147483647 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 statements: - line: 9 - domain: '[N] -> { S_0[i] : i >= 1 and i <= -1 + N }' + domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 1 }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: type: binary diff --git a/tests/inc.scop b/tests/inc.scop index e38dc68..892929e 100644 --- a/tests/inc.scop +++ b/tests/inc.scop @@ -1,11 +1,14 @@ +start: 38 +end: 107 context: '[N] -> { : N >= 0 and N <= 2147483647 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 statements: - line: 8 - domain: '[N] -> { S_0[i] : i >= 0 and i <= -1 + N }' + domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: type: binary diff --git a/tests/inc2.scop b/tests/inc2.scop index d0d40c5..1582ed2 100644 --- a/tests/inc2.scop +++ b/tests/inc2.scop @@ -1,12 +1,15 @@ +start: 38 +end: 107 context: '[N] -> { : N >= 0 and N <= 2147483647 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 statements: - line: 8 - domain: '[N] -> { S_0[i] : exists (e0 = [(i)/3]: 3e0 = i and i >= 0 and i <= -1 - + N) }' + domain: '[N] -> { S_0[i] : exists (e0 = [(i)/3]: 3e0 = i and i <= -1 + N and i >= + 0) }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: type: binary diff --git a/tests/inc4.scop b/tests/inc3.scop similarity index 67% copy from tests/inc4.scop copy to tests/inc3.scop index 7eee9bf..9c0f79c 100644 --- a/tests/inc4.scop +++ b/tests/inc3.scop @@ -1,12 +1,14 @@ -context: '[N] -> { : N <= 2147483548 and N >= 0 }' +start: 38 +end: 110 +context: '[N] -> { : N <= 2147483647 and N >= 0 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int element_size: 4 statements: - line: 8 - domain: '[N] -> { S_0[i] : i >= 0 and i <= -1 + N }' + domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: type: binary diff --git a/tests/inc4.scop b/tests/inc4.scop index 7eee9bf..0347e6f 100644 --- a/tests/inc4.scop +++ b/tests/inc4.scop @@ -1,12 +1,14 @@ +start: 38 +end: 126 context: '[N] -> { : N <= 2147483548 and N >= 0 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int element_size: 4 statements: - line: 8 - domain: '[N] -> { S_0[i] : i >= 0 and i <= -1 + N }' + domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: type: binary diff --git a/tests/inf.scop b/tests/inf.scop index abf256e..376c335 100644 --- a/tests/inf.scop +++ b/tests/inf.scop @@ -1,14 +1,18 @@ +start: 74 +end: 207 context: '[N] -> { : N >= 8 and N <= 16 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { b[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { b[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 statements: - line: 12 - domain: '[N] -> { S_0[t, j] : t >= 0 and j >= 0 and j <= -1 + N }' + domain: '[N] -> { S_0[t, j] : j >= 0 and t >= 0 and j <= -1 + N }' schedule: '[N] -> { S_0[t, j] -> [0, t, 0, j] }' body: type: binary @@ -23,7 +27,7 @@ statements: read: 1 write: 0 - line: 14 - domain: '[N] -> { S_1[t, j] : t >= 0 and j >= 0 and j <= -1 + N }' + domain: '[N] -> { S_1[t, j] : j >= 0 and t >= 0 and j <= -1 + N }' schedule: '[N] -> { S_1[t, j] -> [0, t, 1, j] }' body: type: binary diff --git a/tests/inf2.scop b/tests/inf2.scop index abf256e..0feb153 100644 --- a/tests/inf2.scop +++ b/tests/inf2.scop @@ -1,14 +1,18 @@ +start: 74 +end: 208 context: '[N] -> { : N >= 8 and N <= 16 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { b[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { b[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 statements: - line: 12 - domain: '[N] -> { S_0[t, j] : t >= 0 and j >= 0 and j <= -1 + N }' + domain: '[N] -> { S_0[t, j] : j >= 0 and t >= 0 and j <= -1 + N }' schedule: '[N] -> { S_0[t, j] -> [0, t, 0, j] }' body: type: binary @@ -23,7 +27,7 @@ statements: read: 1 write: 0 - line: 14 - domain: '[N] -> { S_1[t, j] : t >= 0 and j >= 0 and j <= -1 + N }' + domain: '[N] -> { S_1[t, j] : j >= 0 and t >= 0 and j <= -1 + N }' schedule: '[N] -> { S_1[t, j] -> [0, t, 1, j] }' body: type: binary diff --git a/tests/iterator_declaration.scop b/tests/iterator_declaration.scop index e38dc68..6c5d88b 100644 --- a/tests/iterator_declaration.scop +++ b/tests/iterator_declaration.scop @@ -1,11 +1,14 @@ +start: 38 +end: 111 context: '[N] -> { : N >= 0 and N <= 2147483647 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 statements: - line: 8 - domain: '[N] -> { S_0[i] : i >= 0 and i <= -1 + N }' + domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: type: binary diff --git a/tests/label.scop b/tests/label.scop index 14b1838..75f7575 100644 --- a/tests/label.scop +++ b/tests/label.scop @@ -1,8 +1,11 @@ +start: 22 +end: 71 context: '{ : }' arrays: - context: '{ : }' extent: '{ a[] }' element_type: int + element_size: 4 statements: - line: 6 domain: '{ A[] }' diff --git a/tests/loop.scop b/tests/loop.scop index a8d3d46..f37b404 100644 --- a/tests/loop.scop +++ b/tests/loop.scop @@ -1,8 +1,11 @@ +start: 30 +end: 94 context: '{ : }' arrays: - context: '{ : }' extent: '{ a[] }' element_type: int + element_size: 4 statements: - line: 8 domain: '{ S_0[i] : i >= 0 and i <= 9 }' diff --git a/tests/loop2.scop b/tests/loop2.scop index a9d3b1a..a3b89ef 100644 --- a/tests/loop2.scop +++ b/tests/loop2.scop @@ -1,8 +1,11 @@ +start: 34 +end: 116 context: '{ : }' arrays: - context: '{ : }' extent: '{ a[i0] : i0 >= 0 and i0 <= 9 }' element_type: int + element_size: 4 statements: - line: 9 domain: '{ S_0[i] : (i >= 0 and i <= 4) or (i >= 6 and i <= 9) }' diff --git a/tests/loop3.scop b/tests/loop3.scop index 43b4b94..e24521b 100644 --- a/tests/loop3.scop +++ b/tests/loop3.scop @@ -1,11 +1,14 @@ +start: 34 +end: 124 context: '{ : }' arrays: - context: '{ : }' extent: '{ a[i0] : i0 >= 0 and i0 <= 9 }' element_type: int + element_size: 4 statements: - line: 9 - domain: '{ S_0[i] : (i >= 0 and i <= 4) or (i >= 7 and i <= 9) }' + domain: '{ S_0[i] : (i >= 7 and i <= 9) or (i >= 0 and i <= 4) }' schedule: '{ S_0[i] -> [0, i] }' body: type: binary diff --git a/tests/loop4.scop b/tests/loop4.scop index b7fbaa7..2f43c2e 100644 --- a/tests/loop4.scop +++ b/tests/loop4.scop @@ -1,8 +1,11 @@ +start: 34 +end: 127 context: '{ : }' arrays: - context: '{ : }' extent: '{ a[i0] : i0 >= 0 and i0 <= 9 }' element_type: int + element_size: 4 statements: - line: 9 domain: '{ S_0[i] : i >= 5 and i <= 6 }' diff --git a/tests/loop5.scop b/tests/loop5.scop index 23951f8..9e822e3 100644 --- a/tests/loop5.scop +++ b/tests/loop5.scop @@ -1,23 +1,25 @@ -context: '[m, n] -> { : m <= 2147483645 and n <= 2147483646 and n >= -2147483648 +start: 34 +end: 110 +context: '[n, m] -> { : m <= 2147483645 and n <= 2147483646 and n >= -2147483648 and m >= -2147483648 }' arrays: - context: '{ : }' - extent: '[m, n] -> { a[] }' + extent: '[n, m] -> { a[] }' element_type: int element_size: 4 statements: - line: 7 - domain: '[m, n] -> { S_0[i] : i <= m and i >= n }' + domain: '[n, m] -> { S_0[i] : i <= m and i >= n }' schedule: '[n, m] -> { S_0[i] -> [0, i] }' body: type: binary operation: = arguments: - type: access - relation: '[m, n] -> { S_0[i] -> a[] }' + relation: '[n, m] -> { S_0[i] -> a[] }' read: 0 write: 1 - type: access - relation: '[m, n] -> { S_0[i] -> [5] }' + relation: '[n, m] -> { S_0[i] -> [5] }' read: 1 write: 0 diff --git a/tests/loop_body.scop b/tests/loop_body.scop index 48508dc..4b64930 100644 --- a/tests/loop_body.scop +++ b/tests/loop_body.scop @@ -1,8 +1,11 @@ +start: 58 +end: 96 context: '{ : }' arrays: - context: '{ : }' extent: '{ a[] }' element_type: int + element_size: 4 statements: - line: 8 domain: '{ S_0[] }' diff --git a/tests/loop_body2.scop b/tests/loop_body2.scop index 48508dc..a7b89aa 100644 --- a/tests/loop_body2.scop +++ b/tests/loop_body2.scop @@ -1,8 +1,11 @@ +start: 55 +end: 92 context: '{ : }' arrays: - context: '{ : }' extent: '{ a[] }' element_type: int + element_size: 4 statements: - line: 8 domain: '{ S_0[] }' diff --git a/tests/macro.scop b/tests/macro.scop index 8565baf..9c41f83 100644 --- a/tests/macro.scop +++ b/tests/macro.scop @@ -1,3 +1,5 @@ +start: 39 +end: 74 context: '{ : }' arrays: [] statements: diff --git a/tests/matmul.scop b/tests/matmul.scop index a504972..a3bf464 100644 --- a/tests/matmul.scop +++ b/tests/matmul.scop @@ -1,20 +1,25 @@ +start: 95 +end: 277 context: '[N, K, M] -> { : K >= 0 and N >= 0 and N <= 2147483647 and K <= 2147483647 and M <= 2147483647 and M >= -2147483648 }' arrays: - context: '[K] -> { : K >= 0 }' extent: '[N, K, M] -> { A[i0, i1] : i1 >= 0 and i0 >= 0 and i1 <= -1 + K }' element_type: float + element_size: 4 - context: '[N] -> { : N >= 0 }' - extent: '[N, K, M] -> { B[i0, i1] : i1 >= 0 and i1 <= -1 + N and i0 >= 0 }' + extent: '[N, K, M] -> { B[i0, i1] : i1 >= 0 and i0 >= 0 and i1 <= -1 + N }' element_type: float + element_size: 4 - context: '[N] -> { : N >= 0 }' - extent: '[N, K, M] -> { C[i0, i1] : i1 >= 0 and i1 <= -1 + N and i0 >= 0 }' + extent: '[N, K, M] -> { C[i0, i1] : i1 >= 0 and i0 >= 0 and i1 <= -1 + N }' element_type: float + element_size: 4 live_out: 1 statements: - line: 9 - domain: '[N, K, M] -> { S_0[i, j] : i >= 0 and i <= -1 + M and j >= 0 and j <= -1 - + N }' + domain: '[N, K, M] -> { S_0[i, j] : j <= -1 + N and j >= 0 and i <= -1 + M and i + >= 0 }' schedule: '[N, M] -> { S_0[i, j] -> [0, i, j, 0] }' body: type: binary @@ -29,8 +34,8 @@ statements: read: 1 write: 0 - line: 11 - domain: '[N, K, M] -> { S_1[i, j, k] : k >= 0 and j >= 0 and j <= -1 + N and k <= - -1 + K and i >= 0 and i <= -1 + M }' + domain: '[N, K, M] -> { S_1[i, j, k] : k <= -1 + K and k >= 0 and j <= -1 + N and + j >= 0 and i <= -1 + M and i >= 0 }' schedule: '[K, N, M] -> { S_1[i, j, k] -> [0, i, j, 1, k] }' body: type: binary diff --git a/tests/max.scop b/tests/max.scop index 70b271c..a0666bf 100644 --- a/tests/max.scop +++ b/tests/max.scop @@ -1,11 +1,14 @@ +start: 38 +end: 117 context: '[N] -> { : N >= 0 and N <= 2147483647 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 statements: - line: 8 - domain: '[N] -> { S_0[i] : i <= -1 + N and i >= -10 + N and i >= 0 }' + domain: '[N] -> { S_0[i] : i >= 0 and i >= -10 + N and i <= -1 + N }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: type: binary diff --git a/tests/min.scop b/tests/min.scop index 7d0e168..e5f399c 100644 --- a/tests/min.scop +++ b/tests/min.scop @@ -1,12 +1,14 @@ -context: '[N] -> { : N <= 1073741823 and N >= 0 }' +start: 38 +end: 121 +context: '[N] -> { : N >= 0 and N <= 1073741823 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int element_size: 4 statements: - line: 8 - domain: '[N] -> { S_0[i] : i <= -11 + 2N and i <= -1 + N and i >= 0 }' + domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 0 and i <= -11 + 2N }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: type: binary diff --git a/tests/min2.scop b/tests/min2.scop index dca246a..8ec6867 100644 --- a/tests/min2.scop +++ b/tests/min2.scop @@ -1,12 +1,15 @@ +start: 83 +end: 166 context: '[N] -> { : N <= 1073741823 and N >= 0 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int element_size: 4 statements: - line: 10 - domain: '[N] -> { S_0[i] : i <= -11 + 2N and i <= -1 + N and i >= 0 }' + domain: '[N] -> { S_0[i] : (i <= -11 + 2N and i >= 0 and N <= 10) or (N >= 11 and + i >= 0 and i <= -1 + N) }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: type: binary diff --git a/tests/mod.scop b/tests/mod.scop index 65e6f1e..41a38b3 100644 --- a/tests/mod.scop +++ b/tests/mod.scop @@ -1,12 +1,15 @@ +start: 38 +end: 123 context: '[N] -> { : N >= 0 and N <= 2147483647 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 statements: - line: 9 - domain: '[N] -> { S_0[i] : exists (e0 = [(i)/2]: 2e0 = i and i >= 0 and i <= -1 - + N) }' + domain: '[N] -> { S_0[i] : exists (e0 = [(i)/2]: 2e0 = i and i <= -1 + N and i >= + 0) }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: type: binary diff --git a/tests/mod2.scop b/tests/mod2.scop index 2e1b332..d3b69fb 100644 --- a/tests/mod2.scop +++ b/tests/mod2.scop @@ -1,13 +1,15 @@ +start: 38 +end: 127 context: '[N] -> { : N >= 0 and N <= 2147483647 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int element_size: 4 statements: - line: 9 - domain: '[N] -> { S_0[i] : exists (e0 = [(i)/2]: 2e0 = i and i >= 0 and i <= -1 - + N) }' + domain: '[N] -> { S_0[i] : exists (e0 = [(i)/2]: 2e0 = i and i <= -1 + N and i >= + 0) }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: type: binary diff --git a/tests/piecewise.scop b/tests/piecewise.scop index 54462bf..110d345 100644 --- a/tests/piecewise.scop +++ b/tests/piecewise.scop @@ -1,11 +1,14 @@ -context: '[N] -> { : N >= 0 and N <= 2147483647 }' +start: 56 +end: 174 +context: '[N] -> { : N <= 2147483647 and N >= 0 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0, i1] : i0 >= 0 and i1 >= 0 and i1 <= -1 + N }' + extent: '[N] -> { a[i0, i1] : i1 >= 0 and i0 >= 0 and i1 <= -1 + N }' element_type: int + element_size: 4 statements: - line: 8 - domain: '[N] -> { S_0[i, j] : i >= 0 and j >= i and j <= -1 + N }' + domain: '[N] -> { S_0[i, j] : j >= i and i >= 0 and j <= -1 + N }' schedule: '[N] -> { S_0[i, j] -> [0, i, j] }' body: type: binary diff --git a/tests/piecewise2.scop b/tests/piecewise2.scop index 54462bf..9a41783 100644 --- a/tests/piecewise2.scop +++ b/tests/piecewise2.scop @@ -1,11 +1,14 @@ -context: '[N] -> { : N >= 0 and N <= 2147483647 }' +start: 56 +end: 168 +context: '[N] -> { : N <= 2147483647 and N >= 0 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0, i1] : i0 >= 0 and i1 >= 0 and i1 <= -1 + N }' + extent: '[N] -> { a[i0, i1] : i1 >= 0 and i0 >= 0 and i1 <= -1 + N }' element_type: int + element_size: 4 statements: - line: 8 - domain: '[N] -> { S_0[i, j] : i >= 0 and j >= i and j <= -1 + N }' + domain: '[N] -> { S_0[i, j] : j >= i and i >= 0 and j <= -1 + N }' schedule: '[N] -> { S_0[i, j] -> [0, i, j] }' body: type: binary diff --git a/tests/propagate.scop b/tests/propagate.scop index fbb8837..ce6b63b 100644 --- a/tests/propagate.scop +++ b/tests/propagate.scop @@ -1,14 +1,18 @@ +start: 66 +end: 204 context: '[N] -> { : N <= 2147483647 and N >= 0 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0, i1] : i1 <= -1 + N and i0 >= 0 and i1 >= 0 }' + extent: '[N] -> { a[i0, i1] : i1 >= 0 and i0 >= 0 and i1 <= -1 + N }' element_type: int + element_size: 4 - context: '{ : }' extent: '[N] -> { ind[] }' element_type: int + element_size: 4 statements: - line: 9 - domain: '[N] -> { S_0[i, j] : i >= 0 and j >= i and j <= -1 + N }' + domain: '[N] -> { S_0[i, j] : j >= i and i >= 0 and j <= -1 + N }' schedule: '[N] -> { S_0[i, j] -> [0, i, j, 0] }' body: type: binary @@ -40,7 +44,7 @@ statements: read: 1 write: 0 - line: 10 - domain: '[N] -> { S_1[i, j] : i >= 0 and j >= i and j <= -1 + N }' + domain: '[N] -> { S_1[i, j] : j >= i and i >= 0 and j <= -1 + N }' schedule: '[N] -> { S_1[i, j] -> [0, i, j, 1] }' body: type: binary diff --git a/tests/quasi_affine.scop b/tests/quasi_affine.scop index d283897..423534c 100644 --- a/tests/quasi_affine.scop +++ b/tests/quasi_affine.scop @@ -1,14 +1,19 @@ -context: '[N] -> { : N >= 0 and N <= 2147483647 }' +start: 84 +end: 218 +context: '[N] -> { : N <= 2147483647 and N >= 0 }' arrays: - context: '{ : }' - extent: '{ in[] }' + extent: '[N] -> { in[] }' element_type: int + element_size: 4 - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { A[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { A[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 - context: '{ : }' - extent: '{ out[] }' + extent: '[N] -> { out[] }' element_type: int + element_size: 4 statements: - line: 14 domain: '[N] -> { S_0[] }' @@ -26,7 +31,7 @@ statements: read: 1 write: 0 - line: 16 - domain: '[N] -> { S_1[i] : i >= 1 and i <= N }' + domain: '[N] -> { S_1[i] : i <= N and i >= 1 }' schedule: '[N] -> { S_1[i] -> [0, 1, i, 0] }' body: type: binary @@ -43,7 +48,7 @@ statements: name: g arguments: - type: access - relation: '[N] -> { S_1[i] -> A[o0] : 2o0 <= i and 2o0 >= -1 + i }' + relation: '[N] -> { S_1[i] -> A[o0] : 2o0 >= -1 + i and 2o0 <= i }' read: 1 write: 0 - line: 18 diff --git a/tests/scalar.scop b/tests/scalar.scop index f60570b..fafad81 100644 --- a/tests/scalar.scop +++ b/tests/scalar.scop @@ -1,8 +1,11 @@ +start: 22 +end: 59 context: '{ : }' arrays: - context: '{ : }' extent: '{ a[] }' element_type: int + element_size: 4 statements: - line: 6 domain: '{ S_0[] }' diff --git a/tests/scalar_inc.scop b/tests/scalar_inc.scop index 3279aa6..bd51c56 100644 --- a/tests/scalar_inc.scop +++ b/tests/scalar_inc.scop @@ -1,3 +1,5 @@ +start: 22 +end: 65 context: '{ : }' arrays: - context: '{ : }' diff --git a/tests/shortcut1.scop b/tests/shortcut1.scop index f5e9d11..8be94fb 100644 --- a/tests/shortcut1.scop +++ b/tests/shortcut1.scop @@ -1,3 +1,5 @@ +start: 26 +end: 91 context: '[N] -> { : N >= -429496729 and N <= 2147483647 }' arrays: - context: '{ : }' @@ -6,7 +8,7 @@ arrays: element_size: 4 statements: - line: 6 - domain: '[N] -> { S_0[] : N >= 1 and N <= 99 }' + domain: '[N] -> { S_0[] : N <= 99 and N >= 1 }' schedule: '{ S_0[] -> [0] }' body: type: binary diff --git a/tests/shortcut2.scop b/tests/shortcut2.scop index 5e5ac73..a91a059 100644 --- a/tests/shortcut2.scop +++ b/tests/shortcut2.scop @@ -1,3 +1,5 @@ +start: 26 +end: 91 context: '[N] -> { : N <= 429496729 and N >= -429496729 }' arrays: - context: '{ : }' @@ -6,7 +8,7 @@ arrays: element_size: 4 statements: - line: 6 - domain: '[N] -> { S_0[] : N >= 1 and N <= 99 }' + domain: '[N] -> { S_0[] : N <= 99 and N >= 1 }' schedule: '{ S_0[] -> [0] }' body: type: binary diff --git a/tests/static.scop b/tests/static.scop index a089136..de77fa6 100644 --- a/tests/static.scop +++ b/tests/static.scop @@ -1,13 +1,15 @@ +start: 38 +end: 142 context: '[n] -> { : n >= 0 and n <= 2147483647 }' arrays: - context: '[n] -> { : n >= 0 }' - extent: '[n] -> { A[i0, i1] : i0 >= 0 and i0 <= -1 + n and i1 >= 0 and i1 <= -1 - + n }' + extent: '[n] -> { A[i0, i1] : i0 >= 0 and i0 <= -1 + n and i1 <= -1 + n and i1 >= + 0 }' element_type: int element_size: 4 statements: - line: 6 - domain: '[n] -> { S_0[i, j] : i >= 0 and i <= -1 + n and j >= 0 and j <= -1 + n + domain: '[n] -> { S_0[i, j] : i >= 0 and i <= -1 + n and j <= -1 + n and j >= 0 }' schedule: '[n] -> { S_0[i, j] -> [0, i, j] }' body: diff --git a/tests/ternary.scop b/tests/ternary.scop index c8a2675..bca2b44 100644 --- a/tests/ternary.scop +++ b/tests/ternary.scop @@ -1,3 +1,5 @@ +start: 47 +end: 141 context: '{ : }' arrays: - context: '{ : }' diff --git a/tests/tobi1.scop b/tests/tobi1.scop index b5c1a9b..9b69b68 100644 --- a/tests/tobi1.scop +++ b/tests/tobi1.scop @@ -1,12 +1,15 @@ +start: 47 +end: 131 context: '{ : }' arrays: - context: '{ : }' extent: '{ a[] }' element_type: int + element_size: 4 statements: - line: 8 - domain: '{ S_0[i] : exists (e0 = [(255 - 193i)/256]: i >= 0 and i <= 255 and 256e0 - >= -193i and 256e0 <= 15 - 193i) }' + domain: '{ S_0[i] : exists (e0, e1 = [(i - 65e0)/256]: 256e1 = i - 65e0 and i >= + 0 and i <= 255 and e0 >= 0 and e0 <= 15) }' schedule: '{ S_0[i] -> [0, o1] : exists (e0 = [(-12545i + o1)/16640]: 16640e0 = -12545i + o1 and o1 >= 0 and o1 <= 1039 and i >= 0 and i <= 255) }' body: diff --git a/tests/tobi2.scop b/tests/tobi2.scop index 19e86f6..37ff729 100644 --- a/tests/tobi2.scop +++ b/tests/tobi2.scop @@ -1,13 +1,16 @@ +start: 102 +end: 201 context: '[N] -> { : N >= 0 and N <= 4294967295 }' arrays: - context: '{ : }' - extent: '{ a[] }' + extent: '[N] -> { a[] }' element_type: int + element_size: 4 statements: - line: 10 - domain: '[N] -> { S_0[i] : exists (e0 = [(10 + N)/4294967296]: i >= 0 and i <= 19 - and 4294967296e0 <= 10 + N and 4294967296e0 >= -4294967285 + N and 4294967296e0 - <= 9 + N - i) }' + domain: '[N] -> { S_0[i] : exists (e0 = [(10 + N)/4294967296]: i <= 19 and 4294967296e0 + <= 9 + N - i and i >= 0 and 4294967296e0 <= 10 + N and 4294967296e0 >= -4294967285 + + N) }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: type: binary diff --git a/tests/unsigned1.scop b/tests/unsigned1.scop index fe02cc7..989e7a4 100644 --- a/tests/unsigned1.scop +++ b/tests/unsigned1.scop @@ -1,13 +1,17 @@ +start: 60 +end: 256 context: '{ : }' arrays: - context: '{ : }' extent: '{ a[] }' element_type: int + element_size: 4 statements: - line: 10 - domain: '{ S_0[i, j, k] : (k >= 0 and k <= 255 and i >= 0 and i <= 199 and k <= - -1 + i + j and j >= 0 and j <= 199) or (k >= 0 and k <= 255 and i <= 199 and j - >= 256 - i and j <= 199) }' + domain: '{ S_0[i, j, k] : (exists (e0: i >= 0 and i <= 199 and j >= 0 and j <= 199 + and k >= 0 and k <= 255 and 256e0 <= k and 256e0 >= 1 - i - j + k and j <= 2147483647 + - i)) or (i >= 0 and i <= 199 and j >= 0 and j <= 199 and k >= 0 and k <= 255 + and j >= 256 - i and j <= 2147483647 - i) }' schedule: '{ S_0[i, j, k] -> [0, i, j, o3] : (exists (e0 = [(-k + o3)/256]: 256e0 = -k + o3 and o3 >= 0 and o3 <= -1 + i + j and j <= 2147483647 - i and k >= 0 and k <= 255)) or (exists (e0 = [(-k + o3)/256]: 256e0 = -k + o3 and o3 >= 0 and diff --git a/tests/unsigned3.scop b/tests/unsigned2.scop similarity index 68% copy from tests/unsigned3.scop copy to tests/unsigned2.scop index 3cac588..d85acb2 100644 --- a/tests/unsigned3.scop +++ b/tests/unsigned2.scop @@ -1,3 +1,5 @@ +start: 40 +end: 112 context: '{ : }' arrays: - context: '{ : }' @@ -6,9 +8,10 @@ arrays: element_size: 4 statements: - line: 8 - domain: '{ S_0[k] : k >= 0 and k <= 255 }' + domain: '{ S_0[k] : exists (e0 = [(-6 + k)/256]: k >= 0 and k <= 255 and 256e0 <= + -252 + k and 256e0 >= -261 + k) }' schedule: '{ S_0[k] -> [0, o1] : exists (e0 = [(-k + o1)/256]: 256e0 = -k + o1 and - o1 >= 252 and k >= 0 and k <= 255) }' + o1 >= 252 and o1 <= 261 and k >= 0 and k <= 255) }' body: type: binary operation: = diff --git a/tests/unsigned3.scop b/tests/unsigned3.scop index 3cac588..0889ba9 100644 --- a/tests/unsigned3.scop +++ b/tests/unsigned3.scop @@ -1,3 +1,5 @@ +start: 40 +end: 101 context: '{ : }' arrays: - context: '{ : }' diff --git a/tests/unsigned_break1.scop b/tests/unsigned_break1.scop index 197df24..5edb15e 100644 --- a/tests/unsigned_break1.scop +++ b/tests/unsigned_break1.scop @@ -1,3 +1,5 @@ +start: 40 +end: 150 context: '{ : }' arrays: - context: '{ : }' @@ -6,10 +8,10 @@ arrays: element_size: 4 statements: - line: 8 - domain: '{ S_0[k] : exists (e0 = [(507 - k)/256]: k >= 0 and k <= 255 and 256e0 - <= 257 - k and 256e0 >= 252 - k) }' + domain: '{ S_0[k] : exists (e0 = [(-2 + k)/256]: k >= 0 and k <= 255 and 256e0 <= + -252 + k and 256e0 >= -257 + k) }' schedule: '{ S_0[k] -> [0, o1, 0] : exists (e0 = [(k - o1)/256]: 256e0 = k - o1 - and o1 >= 252 and k <= 255 and k >= 0 and o1 <= 257) }' + and o1 >= 252 and o1 <= 257 and k >= 0 and k <= 255) }' body: type: binary operation: = @@ -23,9 +25,10 @@ statements: read: 1 write: 0 - line: 11 - domain: '{ S_1[k] : k <= 255 and k >= 252; S_1[0] }' + domain: '{ S_1[k] : exists (e0 = [(-2 + k)/256]: k >= 2 and k <= 255 and 256e0 <= + -252 + k and 256e0 >= -257 + k); S_1[0] }' schedule: '{ S_1[k] -> [0, o1, 2] : exists (e0 = [(k - o1)/256]: 256e0 = k - o1 - and o1 >= 252 and k <= 255 and k >= 0 and o1 <= 257) }' + and o1 >= 252 and o1 <= 257 and k >= 0 and k <= 255) }' body: type: binary operation: = diff --git a/tests/unsigned_break2.scop b/tests/unsigned_break2.scop index 496bd25..649dec0 100644 --- a/tests/unsigned_break2.scop +++ b/tests/unsigned_break2.scop @@ -1,3 +1,5 @@ +start: 50 +end: 172 context: '{ : }' arrays: - context: '{ : }' @@ -12,8 +14,9 @@ arrays: element_size: 4 statements: - line: 11 - domain: '{ [S_0[k] -> [0]] : exists (e0 = [(257 - k)/256]: k >= 252 and k <= 261 - and 256e0 <= 255 - k and 256e0 >= 2 - k); [S_0[256] -> [0]] }' + domain: '{ [S_0[k] -> [0]] : (exists (e0 = [(k)/256]: 256e0 = k and k >= 252 and + k <= 261)) or (exists (e0 = [(257 - k)/256]: k >= 252 and k <= 261 and 256e0 >= + 2 - k and 256e0 <= 255 - k)) }' schedule: '{ S_0[k] -> [0, k, 0] }' body: type: binary @@ -29,7 +32,7 @@ statements: write: 0 arguments: - type: access - relation: '{ S_0[k] -> __pet_test_0[o0] : o0 >= 252 and o0 <= -1 + k }' + relation: '{ S_0[k] -> __pet_test_0[o0] : o0 <= -1 + k and o0 >= 252 }' read: 1 write: 0 - line: 12 @@ -47,7 +50,7 @@ statements: name: f arguments: - type: access - relation: '{ S_1[k] -> __pet_test_0[o0] : o0 >= 252 and o0 <= -1 + k }' + relation: '{ S_1[k] -> __pet_test_0[o0] : o0 <= -1 + k and o0 >= 252 }' read: 1 write: 0 - line: 14 @@ -63,12 +66,12 @@ statements: write: 1 - type: access relation: '{ S_2[k] -> [o0] : exists (e0 = [(-k + o0)/256]: 256e0 = -k + o0 - and o0 <= 255 and o0 >= 0) }' + and o0 >= 0 and o0 <= 255) }' read: 1 write: 0 arguments: - type: access - relation: '{ S_2[k] -> __pet_test_0[o0] : o0 >= 252 and o0 <= -1 + k; S_2[k] -> + relation: '{ S_2[k] -> __pet_test_0[o0] : o0 <= -1 + k and o0 >= 252; S_2[k] -> __pet_test_0[k] }' read: 1 write: 0 diff --git a/tests/wdp.scop b/tests/wdp.scop index d19dc55..d36db2d 100644 --- a/tests/wdp.scop +++ b/tests/wdp.scop @@ -1,25 +1,32 @@ +start: 248 +end: 619 context: '[N] -> { : N >= 8 and N <= 16 }' arrays: - context: '{ : }' - extent: '[N] -> { __pet_test_0[i] : i >= 0 and i <= -1 + N }' + extent: '[N] -> { __pet_test_0[i] : i <= -1 + N and i >= 0 }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int + element_size: 4 uniquely_defined: 1 - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { x[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { x[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int + element_size: 4 - context: '[N] -> { : N >= -1 and N <= 2147483646 }' - extent: '[N] -> { y[i0] : i0 >= 0 and i0 <= N }' + extent: '[N] -> { y[i0] : i0 <= N and i0 >= 0 }' element_type: int + element_size: 4 - context: '[N] -> { : N >= -1 and N <= 2147483646 }' - extent: '[N] -> { t[i0] : i0 >= 0 and i0 <= N }' + extent: '[N] -> { t[i0] : i0 <= N and i0 >= 0 }' element_type: int + element_size: 4 - context: '[N] -> { : N >= -2 and N <= 2147483645 }' - extent: '[N] -> { z[i0] : i0 >= 0 and i0 <= 1 + N }' + extent: '[N] -> { z[i0] : i0 <= 1 + N and i0 >= 0 }' element_type: int + element_size: 4 statements: - line: 19 - domain: '[N] -> { S_0[i] : i >= 0 and i <= -1 + N }' + domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: type: binary @@ -32,7 +39,7 @@ statements: - type: call name: _Source_x - line: 22 - domain: '[N] -> { S_1[i] : i >= 0 and i <= N }' + domain: '[N] -> { S_1[i] : i <= N and i >= 0 }' schedule: '[N] -> { S_1[i] -> [1, i] }' body: type: call @@ -53,7 +60,7 @@ statements: read: 0 write: 1 - line: 25 - domain: '[N] -> { S_2[i] : i >= 0 and i <= 1 + N }' + domain: '[N] -> { S_2[i] : i <= 1 + N and i >= 0 }' schedule: '[N] -> { S_2[i] -> [2, i] }' body: type: binary @@ -66,7 +73,7 @@ statements: - type: call name: _Source_z - line: 29 - domain: '[N] -> { [S_4[i] -> [0]] : i >= 0 and i <= -1 + N }' + domain: '[N] -> { [S_4[i] -> [0]] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_4[i] -> [3, i, 0] }' body: type: binary @@ -89,7 +96,7 @@ statements: read: 1 write: 0 - line: 30 - domain: '[N] -> { S_5[i] : i >= 0 and i <= -1 + N }' + domain: '[N] -> { S_5[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_5[i] -> [3, i, 1, 0] }' body: type: binary @@ -118,7 +125,7 @@ statements: read: 1 write: 0 - line: 31 - domain: '[N] -> { [S_6[i] -> [1]] : i >= 0 and i <= -1 + N }' + domain: '[N] -> { [S_6[i] -> [1]] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_6[i] -> [3, i, 1, 1, 0] }' body: type: binary @@ -141,7 +148,7 @@ statements: read: 1 write: 0 - line: 32 - domain: '[N] -> { [S_7[i] -> [1]] : i >= 0 and i <= -1 + N }' + domain: '[N] -> { [S_7[i] -> [1]] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_7[i] -> [3, i, 1, 1, 1] }' body: type: binary @@ -164,7 +171,7 @@ statements: read: 1 write: 0 - line: 34 - domain: '[N] -> { S_8[i] : i >= 0 and i <= -1 + N }' + domain: '[N] -> { S_8[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_8[i] -> [3, i, 2] }' body: type: call diff --git a/tests/while.scop b/tests/while.scop index 9455dfc..55c7aab 100644 --- a/tests/while.scop +++ b/tests/while.scop @@ -1,7 +1,9 @@ +start: 83 +end: 210 context: '[n] -> { : n <= 2147483647 and n >= -2147483648 }' arrays: - context: '{ : }' - extent: '[n] -> { __pet_test_0[x, t] : x >= 0 and x <= -1 + n and t >= 0 }' + extent: '[n] -> { __pet_test_0[x, t] : x <= -1 + n and x >= 0 and t >= 0 }' value_bounds: '{ [i0] : i0 >= 0 and i0 <= 1 }' element_type: int element_size: 4 @@ -12,7 +14,7 @@ arrays: element_size: 4 statements: - line: 12 - domain: '[n] -> { S1[x] : x >= 0 and x <= -1 + n }' + domain: '[n] -> { S1[x] : x <= -1 + n and x >= 0 }' schedule: '[n] -> { S1[x] -> [0, x, 0] }' body: type: binary @@ -25,7 +27,7 @@ statements: - type: call name: f - line: 13 - domain: '[n] -> { [S_1[x, t] -> [1]] : x >= 0 and x <= -1 + n and t >= 0 }' + domain: '[n] -> { [S_1[x, t] -> [1]] : x <= -1 + n and x >= 0 and t >= 0 }' schedule: '[n] -> { S_1[x, t] -> [0, x, 1, t, 0] }' body: type: binary @@ -53,7 +55,7 @@ statements: read: 1 write: 0 - line: 14 - domain: '[n] -> { [S2[x, t] -> [1]] : x >= 0 and x <= -1 + n and t >= 0 }' + domain: '[n] -> { [S2[x, t] -> [1]] : x <= -1 + n and x >= 0 and t >= 0 }' schedule: '[n] -> { S2[x, t] -> [0, x, 1, t, 1, 0] }' body: type: binary @@ -76,7 +78,7 @@ statements: read: 1 write: 0 - line: 16 - domain: '[n] -> { R[x] : x >= 0 and x <= -1 + n }' + domain: '[n] -> { R[x] : x <= -1 + n and x >= 0 }' schedule: '[n] -> { R[x] -> [0, x, 2] }' body: type: call diff --git a/tests/while_affine.scop b/tests/while_affine.scop index b4a3d03..979b4c3 100644 --- a/tests/while_affine.scop +++ b/tests/while_affine.scop @@ -1,16 +1,18 @@ +start: 42 +end: 206 context: '[N] -> { : N >= 0 and N <= 2147483647 }' arrays: - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { a[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { a[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int element_size: 4 - context: '[N] -> { : N >= 0 }' - extent: '[N] -> { b[i0] : i0 >= 0 and i0 <= -1 + N }' + extent: '[N] -> { b[i0] : i0 <= -1 + N and i0 >= 0 }' element_type: int element_size: 4 statements: - line: 9 - domain: '[N] -> { S_0[99, t, j] : j <= -1 + N and t >= 0 and j >= 0 }' + domain: '[N] -> { S_0[99, t, j] : j >= 0 and t >= 0 and j <= -1 + N }' schedule: '[N] -> { S_0[i, t, j] -> [0, i, t, 0, j] }' body: type: binary @@ -25,7 +27,7 @@ statements: read: 1 write: 0 - line: 11 - domain: '[N] -> { S_1[99, t, j] : j <= -1 + N and t >= 0 and j >= 0 }' + domain: '[N] -> { S_1[99, t, j] : j >= 0 and t >= 0 and j <= -1 + N }' schedule: '[N] -> { S_1[i, t, j] -> [0, i, t, 1, j] }' body: type: binary diff --git a/tests/while_break.scop b/tests/while_break.scop index 61a06a2..16c7c39 100644 --- a/tests/while_break.scop +++ b/tests/while_break.scop @@ -1,3 +1,5 @@ +start: 45 +end: 294 context: '[N] -> { : N <= 2147483647 and N >= -2147483648 }' arrays: - context: '{ : }' @@ -31,7 +33,7 @@ arrays: statements: - line: 10 domain: '[N] -> { S_0[t] : N = 0 and t >= 1; S_0[0] }' - schedule: '{ S_0[t] -> [0, t, 0] }' + schedule: '[N] -> { S_0[t] -> [0, t, 0] }' body: type: binary operation: = @@ -46,7 +48,7 @@ statements: write: 0 - line: 13 domain: '[N] -> { S_1[t] : N = 0 and t >= 1; S_1[0] : N = 0 }' - schedule: '{ S_1[t] -> [0, t, 2] }' + schedule: '[N] -> { S_1[t] -> [0, t, 2] }' body: type: binary operation: = @@ -76,7 +78,7 @@ statements: write: 0 arguments: - type: access - relation: '[N] -> { S_2[t] -> __pet_test_0[o0] : o0 <= -1 + t and o0 >= 0 }' + relation: '[N] -> { S_2[t] -> __pet_test_0[o0] : o0 >= 0 and o0 <= -1 + t }' read: 1 write: 0 - line: 17 @@ -94,7 +96,7 @@ statements: name: f arguments: - type: access - relation: '[N] -> { S_3[t] -> __pet_test_0[o0] : o0 <= -1 + t and o0 >= 0 }' + relation: '[N] -> { S_3[t] -> __pet_test_0[o0] : o0 >= 0 and o0 <= -1 + t }' read: 1 write: 0 - line: 19 @@ -114,13 +116,13 @@ statements: write: 0 arguments: - type: access - relation: '[N] -> { S_4[t] -> __pet_test_0[o0] : o0 <= -1 + t and o0 >= 0; S_4[t] + relation: '[N] -> { S_4[t] -> __pet_test_0[o0] : o0 >= 0 and o0 <= -1 + t; S_4[t] -> __pet_test_0[t] }' read: 1 write: 0 - line: 21 domain: '[N] -> { [S_5[t] -> [1]] : N = 0 and t >= 1; [S_5[0] -> [1]] }' - schedule: '{ S_5[t] -> [2, t, 0] }' + schedule: '[N] -> { S_5[t] -> [2, t, 0] }' body: type: binary operation: = @@ -133,13 +135,13 @@ statements: name: f arguments: - type: access - relation: '[N] -> { S_5[t] -> __pet_test_1[o0] : N = 0 and o0 <= -1 + t and o0 - >= 1; S_5[t] -> __pet_test_1[0] : t >= 1 }' + relation: '[N] -> { S_5[t] -> __pet_test_1[o0] : N = 0 and o0 >= 1 and o0 <= -1 + + t; S_5[t] -> __pet_test_1[0] : t >= 1 }' read: 1 write: 0 - line: 22 domain: '[N] -> { [S_6[t] -> [1]] : N = 0 and t >= 1; [S_6[0] -> [1]] }' - schedule: '{ S_6[t] -> [2, t, 1, 0] }' + schedule: '[N] -> { S_6[t] -> [2, t, 1, 0] }' body: type: binary operation: = @@ -154,13 +156,13 @@ statements: write: 0 arguments: - type: access - relation: '[N] -> { S_6[t] -> __pet_test_1[o0] : N = 0 and o0 <= t and o0 >= 1; + relation: '[N] -> { S_6[t] -> __pet_test_1[o0] : N = 0 and o0 >= 1 and o0 <= t; S_6[t] -> __pet_test_1[0] }' read: 1 write: 0 - line: 25 domain: '[N] -> { [S_7[t] -> [1]] : N = 0 and t >= 1; [S_7[0] -> [1]] : N = 0 }' - schedule: '{ S_7[t] -> [2, t, 1, 2] }' + schedule: '[N] -> { S_7[t] -> [2, t, 1, 2] }' body: type: binary operation: = @@ -175,7 +177,7 @@ statements: write: 0 arguments: - type: access - relation: '[N] -> { S_7[t] -> __pet_test_1[o0] : o0 <= t and o0 >= 1; S_7[t] -> + relation: '[N] -> { S_7[t] -> __pet_test_1[o0] : o0 >= 1 and o0 <= t; S_7[t] -> __pet_test_1[0] }' read: 1 write: 0 @@ -194,11 +196,11 @@ statements: name: f arguments: - type: access - relation: '[N] -> { S_8[t] -> __pet_test_2[o0] : o0 <= -1 + t and o0 >= 0 }' + relation: '[N] -> { S_8[t] -> __pet_test_2[o0] : o0 >= 0 and o0 <= -1 + t }' read: 1 write: 0 - type: access - relation: '[N] -> { S_8[t] -> __pet_test_3[o0] : o0 <= -1 + t and o0 >= 0 }' + relation: '[N] -> { S_8[t] -> __pet_test_3[o0] : o0 >= 0 and o0 <= -1 + t }' read: 1 write: 0 - line: 28 @@ -218,11 +220,11 @@ statements: write: 0 arguments: - type: access - relation: '[N] -> { S_9[t] -> __pet_test_2[o0] : o0 <= t and o0 >= 0 }' + relation: '[N] -> { S_9[t] -> __pet_test_2[o0] : o0 >= 0 and o0 <= t }' read: 1 write: 0 - type: access - relation: '[N] -> { S_9[t] -> __pet_test_3[o0] : o0 <= -1 + t and o0 >= 0 }' + relation: '[N] -> { S_9[t] -> __pet_test_3[o0] : o0 >= 0 and o0 <= -1 + t }' read: 1 write: 0 - line: 29 @@ -240,11 +242,11 @@ statements: name: f arguments: - type: access - relation: '[N] -> { S_10[t] -> __pet_test_2[o0] : o0 <= t and o0 >= 0 }' + relation: '[N] -> { S_10[t] -> __pet_test_2[o0] : o0 >= 0 and o0 <= t }' read: 1 write: 0 - type: access - relation: '[N] -> { S_10[t] -> __pet_test_3[o0] : o0 <= -1 + t and o0 >= 0 }' + relation: '[N] -> { S_10[t] -> __pet_test_3[o0] : o0 >= 0 and o0 <= -1 + t }' read: 1 write: 0 - line: 31 @@ -264,11 +266,11 @@ statements: write: 0 arguments: - type: access - relation: '[N] -> { S_11[t] -> __pet_test_2[o0] : o0 <= t and o0 >= 0 }' + relation: '[N] -> { S_11[t] -> __pet_test_2[o0] : o0 >= 0 and o0 <= t }' read: 1 write: 0 - type: access - relation: '[N] -> { S_11[t] -> __pet_test_3[o0] : o0 <= -1 + t and o0 >= 0; S_11[t] + relation: '[N] -> { S_11[t] -> __pet_test_3[o0] : o0 >= 0 and o0 <= -1 + t; S_11[t] -> __pet_test_3[t] }' read: 1 write: 0 diff --git a/tests/while_inc.scop b/tests/while_inc.scop index 66a7a88..31c9ec3 100644 --- a/tests/while_inc.scop +++ b/tests/while_inc.scop @@ -1,3 +1,5 @@ +start: 31 +end: 109 context: '{ : }' arrays: - context: '{ : }' @@ -54,7 +56,7 @@ statements: write: 0 arguments: - type: access - relation: '{ S_1[t] -> __pet_test_0[o0] : o0 <= -1 + t and o0 >= 0 }' + relation: '{ S_1[t] -> __pet_test_0[o0] : o0 >= 0 and o0 <= -1 + t }' read: 1 write: 0 - line: 7 @@ -79,7 +81,7 @@ statements: write: 0 arguments: - type: access - relation: '{ S_2[t] -> __pet_test_0[o0] : o0 <= t and o0 >= 0 }' + relation: '{ S_2[t] -> __pet_test_0[o0] : o0 >= 0 and o0 <= t }' read: 1 write: 0 - line: 8 @@ -95,6 +97,6 @@ statements: write: 1 arguments: - type: access - relation: '{ S_3[t] -> __pet_test_0[o0] : o0 <= t and o0 >= 0 }' + relation: '{ S_3[t] -> __pet_test_0[o0] : o0 >= 0 and o0 <= t }' read: 1 write: 0 diff --git a/tests/while_overflow.scop b/tests/while_overflow.scop index 1f8ca7d..7557fcf 100644 --- a/tests/while_overflow.scop +++ b/tests/while_overflow.scop @@ -1,3 +1,5 @@ +start: 74 +end: 177 context: '[N] -> { : N <= 2147483647 and N >= -2147483648 }' arrays: - context: '{ : }' @@ -41,12 +43,12 @@ statements: name: t arguments: - type: access - relation: '[N] -> { S_1[t] -> __pet_test_0[o0] : o0 <= -1 + t and o0 >= 0 }' + relation: '[N] -> { S_1[t] -> __pet_test_0[o0] : o0 >= 0 and o0 <= -1 + t }' read: 1 write: 0 - line: 14 - domain: '[N] -> { [S_2[t, i] -> [1]] : t >= 0 and i <= -1 + 2N and N <= 1073741823 - and i >= 0 }' + domain: '[N] -> { [S_2[t, i] -> [1]] : t >= 0 and i >= 0 and N <= 1073741823 and + i <= -1 + 2N }' schedule: '[N] -> { S_2[t, i] -> [1, t, 1, 0, i] }' body: type: binary -- 2.11.4.GIT