https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98513

--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> ---
void __attribute__((noipa))
foo (int x, int minus_1)
{
  int tem = minus_1;
  tem = tem + 2;
  if ((unsigned)x + 2147483647 >= 2)
    {
      if (x <= tem)
        {
          if (x > 5)
            __builtin_exit (0);
        }
    }
}
int
main()
{
  foo (10, 100);
  __builtin_abort ();
}

fails with -O2 -fdisable-tree-ccp1 -fdisable-tree-forwprop1 -fdisable-tree-fre1
I'll turn it into a GIMPLE FE unit testcase for EVRP tomorrow.  Interestingly
the intersect with [-INF, minus_1_29(D) + 1] works fine (x < tem vs. x <= tem).

Reply via email to