1  /* PR tree-optimization/83359 */
       2  /* { dg-do compile { target pthread } } */
       3  /* { dg-options "-O3 -floop-parallelize-all -ftree-parallelize-loops=2" } */
       4  
       5  int a, b, c;
       6  
       7  void
       8  foo (int x, int y)
       9  {
      10    int *d = &a;
      11    int *e = &x;
      12  
      13    for (a = 0; a < 1; ++a)
      14      d = &x;
      15  
      16    while (b < 10)
      17      {
      18        for (b = 0; b < 1; ++b)
      19          if (x == 0)
      20            while (x < 1)
      21              ++x;
      22          else
      23            while (x < 1)
      24              {
      25                d = &y;
      26                ++x;
      27              }
      28        ++b;
      29      }
      30  
      31    for (;;)
      32      for (c = 0; c < 2; ++c)
      33        {
      34          if (*d != 0)
      35            a = *e;
      36  
      37          e = &b;
      38          y = 0;
      39        }
      40  }