1  /* { dg-do compile } */
       2  /* { dg-options "-Ofast -fdump-tree-dom2" } */
       3  
       4  void g (int);
       5  void g1 (int);
       6  
       7  void
       8  f (long a, long b, long c, long d, int x)
       9  {
      10    int t;
      11    _Bool l1 = 0, l2 = 0;
      12    if (x)
      13      {
      14        g (a);
      15        c = a + b;
      16        t = a < b;
      17        l1 = 1;
      18      }
      19    else
      20      {
      21        g1 (b);
      22        t = c > d;
      23        d = c + b;
      24        l2 = 1;
      25      }
      26  
      27    if (t)
      28      {
      29        if (l1 | l2)
      30  	g1 (c);
      31      }
      32    else
      33      {
      34        g (d);
      35        g1 (a + b);
      36      }
      37    g (c + d);
      38  }
      39  
      40  /* { dg-final { scan-tree-dump-times "Removing basic block" 1 "dom2" } } */