/* PR tree-optimization/91029 */ /* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-evrp" } */ void kill (void); int xx; void f1 (int i, int j) { if ((i % j) == 3) { xx = (i < 3); if (xx) kill (); } } void f2 (int i, int j) { if ((i % j) > 0) { xx = (i <= 0); if (xx) kill (); } } void f3 (int i, int j) { if ((i % j) == -3) { xx = (i > -3); if (xx) kill (); } } void f4 (int i, int j) { if ((i % j) < 0) { xx = (i >= 0); if (xx) kill (); } } void f5 (int i, int j) { if ((i % j) > 42) { xx = (i <= 42); if (xx) kill (); } } void f6 (int i, int j) { if ((i % j) < -124) { xx = (i >= -124); if (xx) kill (); } } /* { dg-final { scan-tree-dump-not "kill" "evrp" } } */