(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
tree-ssa/
ssa-dom-thread-2d.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -fdump-tree-vrp1-stats -fdump-tree-dom2-stats" } */
       3  
       4  void foo();
       5  void bla();
       6  void bar();
       7  
       8  /* Avoid threading in the following case, to prevent creating subloops.  */
       9  
      10  void dont_thread_2 (int first)
      11  {
      12    int i = 0;
      13  
      14    do
      15      {
      16        bla ();
      17        bla ();
      18        bla ();
      19        if (first)
      20  	foo ();
      21        else
      22  	bar ();
      23  
      24        first = 0;
      25        bla ();
      26      } while (i++ < 100);
      27  }
      28  
      29  /* Peeling off the first iteration would make threading through
      30     the loop latch safe, but we don't do that currently.  */
      31  /* { dg-final { scan-tree-dump-not "Jumps threaded" "vrp1"} } */
      32  /* { dg-final { scan-tree-dump-not "Jumps threaded" "dom2"} } */