/* { dg-do compile } */ /* { dg-options "-O1 -fdump-tree-phiopt" } */ /* PR tree-optimization/111957 */ int f(int a) { if (a) return a > 0 ? a : -a; return 0; } int f1(int x) { int intmin = (-1u >> 1); intmin = -intmin - 1; if (x != intmin) return x > 0 ? x : -x; return intmin; } /* { dg-final { scan-tree-dump-times "if " 1 "phiopt1" } } */ /* { dg-final { scan-tree-dump-not "if " "phiopt2" } } */ /* { dg-final { scan-tree-dump-times "ABS_EXPR <" 2 "phiopt1" } } */ /* { dg-final { scan-tree-dump-times "ABS_EXPR <" 1 "phiopt2" } } */ /* { dg-final { scan-tree-dump-times "ABSU_EXPR <" 1 "phiopt2" } } */