1 /* { dg-do compile } */
2 /* { dg-options "-O1 -fdump-tree-optimized --param logical-op-non-short-circuit=0" } */
3 
f1(_Bool a,_Bool b)4 _Bool f1(_Bool a, _Bool b)
5 {
6   if (a)
7    {
8      if (b)
9       return 1;
10      else
11       return 0;
12    }
13   return 0;
14 }
15 
16 
17 /* There should be only one if, the outer one; the inner one
18    should have been changed to straight line code with the
19    value of b (except that we don't fold ! (b != 0) into b
20    which can be fixed in a different patch).
21    Test this only when known to be !LOGICAL_OP_NON_SHORT_CIRCUIT,
22    otherwise ifcombine may convert this into return a & b;.  */
23 /* { dg-final { scan-tree-dump-times "if" 1 "optimized" } } */
24