modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/pr86637-2.c (about)

     1  /* { dg-do compile } */
     2  /* { dg-require-effective-target fgraphite } */
     3  /* { dg-require-effective-target pthread } */
     4  /* { dg-options "-floop-parallelize-all -fsave-optimization-record -ftree-parallelize-loops=2 -ftree-slp-vectorize" } */
     5  
     6  #include <stdint.h>
     7  #include <stdlib.h>
     8  
     9  signed char qq;
    10  int rm, mu, l9;
    11  long long unsigned int ip;
    12  
    13  void
    14  fi (void)
    15  {
    16  }
    17  
    18  void
    19  il (long long unsigned int c5)
    20  {
    21    int *na = &mu;
    22  
    23    while (l9 < 1)
    24      {
    25        if (qq < 1)
    26          {
    27            short int ds = 0;
    28  
    29            if ((ip - *na - ip / c5 != 0) && (*na / ((c5 + c5) && !!ip) != 0))
    30              __builtin_trap ();
    31  
    32            rm = -1 / (!!rm && !!c5);
    33  
    34            while (qq < 1)
    35              {
    36                ++*na;
    37                ++ip;
    38                if (*na < (int) ip)
    39                  while (ds < 2)
    40                    {
    41                      ++qq;
    42                      ++ds;
    43                    }
    44              }
    45          }
    46  
    47        ++l9;
    48      }
    49  
    50    for (;;)
    51      {
    52      }
    53  }
    54  
    55  void
    56  uu (short int wk)
    57  {
    58    int64_t tl = ip;
    59  
    60    while (ip < 2)
    61      {
    62        signed char vn;
    63  
    64        for (vn = 1; vn != 0; ++vn)
    65          {
    66            int rh;
    67  
    68            if (qq < 1)
    69              {
    70                while (mu < 1)
    71                  ip = 0;
    72  
    73                while (rm != 0)
    74                  ++rm;
    75              }
    76  
    77            for (rh = 0; rh < 3; ++rh)
    78              {
    79                int ab;
    80  
    81                for (ab = 0; ab < 5; ++ab)
    82                  {
    83                    tl -= qq;
    84                    wk += rh - tl;
    85                    ip += (ab < wk) + wk;
    86                  }
    87              }
    88          }
    89      }
    90  }
    91  
    92  void
    93  im (uint8_t kt)
    94  {
    95    int wu = 0;
    96  
    97    for (;;)
    98      {
    99        ++rm;
   100        if (rm < 1)
   101          {
   102            short int ms = 0;
   103  
   104            while (kt < 1)
   105              {
   106                ms += rm < 0;
   107  
   108                if (wu != 0)
   109                  for (;;)
   110                    {
   111                    }
   112  
   113                while (ms < 4)
   114                  {
   115                    while (wu < 1)
   116                      wu += 2;
   117  
   118                    ++ms;
   119                  }
   120              }
   121  
   122            if (ms == 0 || wu == 0)
   123              break;
   124          }
   125      }
   126  
   127    while (wu < 1)
   128      while (qq < 1)
   129        ++qq;
   130  }