update barvinok to version 0.41.7
[ppn.git] / tests / inputs / testcopy2.c
blob611a35747fa9dbacacfcc8bb9fd7b533666e8bf5
1 // Test case demonstrating partial copy propagation
2 #define M 8
4 void source(int *x, int *y);
5 void negate(int s, int *d);
6 void trans(int s1, int s2, int *d);
7 void sink(int v);
9 int main() {
10 int a,b;
11 int v[M],w[M];
12 int x[M],y[M];
13 int z[M];
15 for (int i = 0; i < M; i++) {
16 source( &(v[i]), &(w[i]) );
17 source( &(x[i]), &(y[i]) );
20 for (int i = 0; i < M; i++) {
21 if (i < M/2) {
22 a = v[i];
23 b = x[i];
25 else {
26 a = w[i];
27 negate( y[i], &b );
29 trans( a, b, &(z[i]) );
32 for (int i = 0; i < M; i++) {
33 sink( z[i] );
36 return 0;