// { dg-do compile } | |
// { dg-options "-O2 -fdisable-tree-ethread -fdump-tree-evrp" } | |
void bar (); | |
void | |
foo (double x, double y) | |
{ | |
if (x > y) | |
; | |
else if (!__builtin_isnan (x) && !__builtin_isnan (y)) | |
{ | |
// If x and y are not NAN, the x <= y relationship holds, and the | |
// following conditional can be folded away. | |
if (x <= y) | |
bar (); | |
} | |
} | |
// { dg-final { scan-tree-dump-times "Folding predicate x_.* <= y_.* to 1" 1 "evrp" } } |