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

--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> ---
So there's a similar missed optimization but it's not caused by the bisected
revision.  The situation is like

float bar, baz;
void foo (int *p, int n)
{
  *p = 0;
  do
    {
      bar = 1.;
      if (*p)
        {
          baz = 2.;
          *p = 0;
        }
    }
  while (--n);
}

where we fail to realize that in the first if (*p), *p stays zero.  I have
a patch that fixes the above but that miscompiles genrecog.cc
merge_into_decision (but no testcase in the testsuite ...).

Reply via email to