http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49234



--- Comment #13 from Ian Lance Taylor <ian at airs dot com> 2013-03-01 19:23:00 
UTC ---

How hard would it be to test whether the values are all constant or have the

same SSA_NAME_VAR as the value we are setting?



My only concern about richi's suggestion is that it will miss some simple

cases.

  for (i = 1; i >= 0; i *= 2)

    {

      int j = fn1 () ? i : 1;

      if (j >= 0)

        fn ();

    }



Here i overflows and so does j, but I think your patch will teach VRP that j

does not overflow, so we will get no warning for j >= 0.



Or something like that.

Reply via email to