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

--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Look e.g. at -O2:
void bar (int);

void
foo (int x)
{
  int i = 0;
  if (x == 8)
    {
      x = 16;
      goto lab;
    }
  for (; i < 100; i++)
    {
    lab:
      bar (x);
    }
}

but pretty much any time you have a loop where some var doesn't really change,
but there is some other edge to the loop header with a different value for that
var.

Reply via email to