1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -fdump-tree-dom2-details" } */
       3  
       4  void foo();
       5  void bla();
       6  void bar();
       7  
       8  void dont_thread_1 (void)
       9  {
      10    int i = 0;
      11    int first = 1;
      12  
      13    do
      14      {
      15        if (first)
      16  	foo ();
      17        else
      18  	bar ();
      19  
      20        first = 0;
      21        bla ();
      22      } while (i++ < 100);
      23  }
      24  
      25  /* This one can only be threaded if both paths to the
      26     conditional inside the loop are threaded at the same
      27     time.  Else we potentially end up with irreducible
      28     loops.  */
      29  /* { dg-final { scan-tree-dump-not "IRREDUCIBLE_LOOP" "dom2" } } */