/* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-optimized-raw" } */ /* PR tree-optimization/109959 */ unsigned f(unsigned a) { if (a <= 1) return a; return 0; } unsigned f0(unsigned a) { if (a > 1) return 0; return a; } _Bool fb(unsigned a) { if (a > 1) return 0; return a == 1; } /* These all should be optimized to `a == 1` */ /* { dg-final { scan-tree-dump-times "eq_expr," 3 "optimized"} } */ /* { dg-final { scan-tree-dump-not "le_expr," "optimized"} } */ /* { dg-final { scan-tree-dump-not "bit_and," "optimized"} } */ /* { dg-final { scan-tree-dump-not "gimple_phi " "optimized"} } */