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

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
And even
int a = 3, c;
short b = 5, d, f;
volatile short e;

__attribute__((noipa)) void
foo (void)
{
}

int
main ()
{
  for (f = 0; f != 2; f++)
    {
      int g = a;
      if (b)
        if (a)
          for (a = b = 0; b <= 3; b++)
            ;
      for (c = 0; c != 16; ++c)
        e;
    }
  b = d;
  foo ();
  if (a != 0)
    __builtin_abort ();
  return 0;
}

so one doesn't need to unroll that many times etc.

Reply via email to