diff options
author | Derick Huth <derickhuth@gmail.com> | 2014-10-06 12:42:34 -0600 |
---|---|---|
committer | Derick Huth <derickhuth@gmail.com> | 2014-10-06 12:42:34 -0600 |
commit | 8d73c8fcc75556c1df71dd39dd99783f8f86fc3e (patch) | |
tree | 157d627863d76a4c256a27cae27ce2e8566c7ea0 /omega/examples/old_test/emit.oc-rt | |
parent | e87b55ad69f0ac6211daae741b32c8ee9dcbe470 (diff) | |
parent | 8c646f24570079eac53e58fcf42d0d4fbc437ee3 (diff) | |
download | chill-8d73c8fcc75556c1df71dd39dd99783f8f86fc3e.tar.gz chill-8d73c8fcc75556c1df71dd39dd99783f8f86fc3e.tar.bz2 chill-8d73c8fcc75556c1df71dd39dd99783f8f86fc3e.zip |
Merge pull request #2 from dhuth/master
Moved omega into chill.
Diffstat (limited to 'omega/examples/old_test/emit.oc-rt')
-rw-r--r-- | omega/examples/old_test/emit.oc-rt | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/omega/examples/old_test/emit.oc-rt b/omega/examples/old_test/emit.oc-rt new file mode 100644 index 0000000..1bf7d6c --- /dev/null +++ b/omega/examples/old_test/emit.oc-rt @@ -0,0 +1,61 @@ +# Omega Calculator v1.2 (based on Omega Library 1.2, August, 2000): +# # +# # A problem that arises during the analysis of emit.t +# # We are trying to find the dependences to the read 58: rhs(i) +# # There are memory-based deps from the write 58: rhs(j) +# # and the write 50: rhs(i0+k) +# # Due to some screwy stuff, we do not realize that the first is +# # a partial cover for the second, and do the real kill test. +# # +# # line_49_expr is nwall(l) +# # +# +# Symbolic matdim_E, i0_1(1), line_49_expr(1); +# +# +# is_58 := { [i,j] : i+1 <= j <= matdim_E && 1 <= i <= matdim_E }; +# +# is_50 := { [l,k] : 1 <= k <= line_49_expr(Set) && 1 <= l <= 5 }; +# +# +# plus_plus := { [i,j] -> [i',j'] : i < i' && j < j' }; +# +# plus_zero := { [i,j] -> [i',j'] : i < i' && j = j' }; +# +# plus_star := { [i,j] -> [i',j'] : i < i' }; +# +# +# mo_50_50 := (is_50 * is_50) intersection plus_star +# intersection { [l1,k1]->[l2,k2] : i0_1(In)+k1 = i0_1(Out)+k2 }; +# +# mo_50_58 := (is_50 * is_58) +# intersection { [l,k] -> [i,j] : i0_1(In)+k = j }; +# +# mo_58_58 := (is_58 * is_58) intersection plus_zero +# intersection { [i,j] -> [i',j'] : j = j' }; +# +# +# mf_58_58 := (is_58 * is_58) intersection plus_plus +# intersection { [iw,jw] -> [ir,jr] : jw = ir }; +# +# mf_50_58 := (is_50 * is_58) +# intersection { [l,k] -> [i,j] : i0_1(In)+k = i }; +# +# +# vf_58_58 := mf_58_58 - (mf_58_58 compose mo_58_58); +# +# vf_58_58; + +{[i,i+1] -> [i+1,Out_2] : 1 <= i <= Out_2-2 && Out_2 <= matdim_E} + +# +# +# vf_50_58 := mf_50_58 intersection ( complement (mf_58_58 compose mo_50_58) ) +# intersection ( complement (mf_50_58 compose mo_50_50) ); +# +# vf_50_58; + +{[In_1,-i0_1(In_1)+1] -> [1,j] : -line_49_expr(In_1)+1 <= i0_1(In_1) <= 0 && 1 <= In_1 <= 4 && 2 <= j <= matdim_E && UNKNOWN} union + {[In_1,-i0_1(In_1)+1] -> [1,j] : In_1 = 5 && -line_49_expr(In_1)+1 <= i0_1(In_1) <= 0 && 2 <= j <= matdim_E} + +# |