111
|
1 /* { dg-do compile } */
|
145
|
2 /* { dg-options "-O1 -fdump-tree-optimized --param logical-op-non-short-circuit=0" } */
|
111
|
3
|
|
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;. */
|
145
|
23 /* { dg-final { scan-tree-dump-times "if" 1 "optimized" } } */
|