(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
tree-ssa/
ssa-dom-thread-17.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -fdump-tree-dom2 -w" } */
       3  
       4  struct rtx_def;
       5  typedef struct rtx_def *rtx;
       6  struct reload
       7  {
       8    rtx in;
       9    rtx reg_rtx;
      10  };
      11  extern struct reload rld[(2 * 30 * (2 + 1))];
      12  static rtx find_dummy_reload (rtx);
      13  extern int frob ();
      14  extern int arf ();
      15  int
      16  push_reload (rtx in, rtx out
      17  )
      18  {
      19    int i;
      20    if (out != 0 && in != out)
      21      {
      22        rld[i].reg_rtx = find_dummy_reload (out);
      23        if (rld[i].reg_rtx == out)
      24  	 rld[i].in = out;
      25      }
      26  }
      27  rtx
      28  find_dummy_reload (rtx real_out)
      29  {
      30     unsigned int nwords = frob ();
      31     unsigned int regno = frob ();
      32     unsigned int i;
      33     for (i = 0; i < nwords; i++)
      34       if (arf ())
      35         break;
      36     if (i == nwords)
      37       return real_out;
      38    return 0;
      39  }
      40  
      41  /* In the case where the call to find_dummy_reload returns 0,
      42     the final test in push_reload will never be true and it will
      43     be eliminated.  */
      44  /* { dg-final { scan-tree-dump-not "out_\[^\n\r]+ == 0" "dom2"} } */