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

--- Comment #5 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-05-29 
17:19:36 UTC ---
It's VRP being confused about the IV-optimized variant

<bb 2>:
  std::basic_istream<char>::_M_extract<float> (&cin, &ans);
  ans.1_2 = ans;
  i_3 = (long long int) ans.1_2;
  if (i_3 <= 10)
    goto <bb 3>;
  else
    goto <bb 4>;

<bb 3>:
  # i_12 = PHI <i_6(3), i_3(2)>
  i_6 = i_12 + 1;
  if (i_6 != 11)
    goto <bb 3>;
  else
    goto <bb 4>;

<bb 4>:
  std::basic_ostream<char>::operator<< (&cout, ans.1_2);
  return 0;

Reply via email to