1 /* { dg-options "-O3 -fgraphite-identity -fdump-tree-graphite-all" } */
2 
3 typedef struct
4 {
5       int mode,state,num,state_out;
6       unsigned char* bits;
7       char *out;
8 }test;
copy(test * s)9 unsigned char copy( test* s )
10 {
11    while(1)
12      {
13       if (s->mode == 0) break;
14       if (s->state_out >= s->num) break;
15       *(s->out) = s->bits[s->state_out];
16       if (s->mode == 0) s->mode++;
17      }
18 }
compress(test * in)19 unsigned char compress(test *in)
20 {
21    unsigned char p_in, p_out;
22    while(1)
23    {
24       if (in->state == 1)
25       {
26          p_out |= copy(in);
27          if (in->state_out < in->num) break;
28       }
29    }
30    return p_in || p_out;
31 }
32 
33