summaryrefslogtreecommitdiff
path: root/omega/examples/old_test/emit.oc-rt
blob: 1bf7d6c57db244f182bebced5759cb93e422290d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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}

#