| /* { dg-do compile } */ |
| /* Disable phi-opt as it is no longer confused by predicate which had allowed ifcombine to work in the past. |
| Note this testcase is about ifcombine rather than phi-opt. */ |
| /* { dg-options "-O1 -fdump-tree-optimized-details-blocks --param logical-op-non-short-circuit=1 -fno-ssa-phiopt" } */ |
| |
| _Bool f1(_Bool a, _Bool b) |
| { |
| if (a) |
| { |
| if (b) |
| return 1; |
| else |
| return 0; |
| } |
| return 0; |
| } |
| |
| |
| /* For LOGICAL_OP_NON_SHORT_CIRCUIT, this should be optimized |
| into return a & b;, with no ifs. */ |
| /* { dg-final { scan-tree-dump-not "if" "optimized" } } */ |
| /* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */ |